Símbolos de inicialização do VIM em status

Símbolos de inicialização do VIM em status

Estou tentando mudar para o VIM como meu editor de texto principal, já passei muito tempo configurando tudo e lendo sobre o VIM.

Agora está tudo bem, exceto uma coisa que me incomoda sempre que vejo. Quando eu inicio o VIM (estou usando apenas a versão do terminal), às vezes há algum tipo de sequência de escape quebrada ou algo na linha de status, que não parece certo

Tambémdigitandoqualquer comando com: substituirá os símbolos conforme você digita, o que também não parece bom.

Verifiquei meu .vimrc várias vezes e não encontrei nada que pudesse causar isso. A única coisa que me vem à mente é que talvez eu tenha bagunçado os eventos VIM e os ganchos TMUX

no meu tmux.conf

set-hook -g pane-focus-in 'if -F "#{==:#{pane_current_command},Vim}" "set -g status off; set -g pane-border-status off" "set -g status on; set -g pane-border-status bottom"'

em .vimrc

autocmd VimEnter * silent !tmux set -g status off
autocmd VimEnter * silent !tmux set -g pane-border-status off
autocmd VimLeave * silent !tmux set -g status on
autocmd VimLeave * silent !tmux set -g pane-border-status bottom
au FocusLost * :set laststatus=0
au FocusGained * :set laststatus=2
autocmd InsertLeave * redraw!

Mas eles também parecem bons :/

Minha configuração é:

  • macOS 10.4.15
  • iTerm2 3.2.9
  • ohMeuZsh
  • tmux
  • macvim 8.1.950

obrigado pela ajuda

SOLUÇÃO: como@Nicholas Marriotapontar, Estas são respostas ao DSR (Device Status Report) que vem do redimensionamento ao ocultar/mostrar a barra de status do tmux. No meu caso, houve um pouco de exagero na configuração. Primeiro, havia o gancho tmux para o foco do painel:

set-hook -g pane-focus-in 'if -F "#{==:#{pane_current_command},Vim}" "set -g status off; set -g pane-border-status off" "set -g status on; set -g pane-border-status bottom"'

este deveria mostrar/ocultar a barra tmux ao alternar entre painéis ou janelas com pelo menos um com o VIM aberto. Então eu tinha este no meu .vimrc:

  autocmd VimEnter * silent !tmux set -g status off
  autocmd VimEnter * silent !tmux set -g pane-border-status off

isso deveria fazer o mesmo, mas no evento VimEnter, eu os escrevi porque pensei que pane-focus-ino gancho tmux não dispararia quando o Vim iniciasse (o painel permanece o mesmo com o mesmo foco), na verdade isso não é verdade, seria.

Infelizmente, não entendo exatamente o que acontece quando set -g status offe set -g pane-border-status offé executado duas vezes, talvez o segundo seja ignorado pelo tmux e o vim não consiga reconhecê-lo, mas removê-lo da configuração .vimrc ajudou a se livrar desses símbolos

Responder1

Estas são respostas ao DSR (Relatório de status do dispositivo), meu palpite é que o vim envia isso no redimensionamento (ativar e desativar as linhas de status do tmux será redimensionado). Parece que o vim não está analisando corretamente as respostas.

informação relacionada