Eu tenho jogado com o tmux e estou adorando. No entanto, há um problema irritante ao executar o vim dentro dele.
De alguma forma, as teclas de seta são remapeadas, mas apenas em alguns momentos, como ao acionar o Command-T, se eu tentar rolar a lista de arquivos, o comando é cancelado e eu sou jogado no modo de inserção e, dependendo da tecla de seta Pressionei, um A, B, C ou D é inserido.
Se eu usar as setas para percorrer um buffer, por exemplo, elas funcionarão corretamente.
Alguma ideia?
Obrigado!
$TERM
lá foratmux
? E por dentro? Parece que algo está acontecendo com os modos de aplicativo e teclado normal.TERM=screen vim
, vejo o mesmo comportamento, então devo corrigir a tela?Respostas:
Eu simplesmente adicionei
set -g default-terminal "xterm"
ao meu .tmux.confIsso fez o tmux usar o xterm em vez da tela, então a vida é linda e não preciso me preocupar em pisar nas teclas.
fonte
set -g default-terminal "xterm-256color"
. Caso contrário, não perceberia quando estava no modo visual devido a cores limitadas.set -g xterm-keys on
.default-terminal
. Não sei ao certo quais são as ramificações.default-terminal
não deve ser definido, talvez haja uma correção melhor do lado do vim: link .Finalmente, encontrei minha resposta aqui: ao executar a tela no OSX, o comando + r mexe com as teclas de seta no vim em todas as telas
O estranho é que apenas adicionei UM mapeamento ao meu arquivo .vimrc:
map <Esc>[B <Down>
Mas esse mapeamento único faz com que TODAS as teclas de seta funcionem corretamente ...
fonte
map ^[A <Up>
funciona pressionando Ctrl + V <Up> e excluindo o O,map ^[OA <Up>
pressionando Ctrl + V <Up> e deixando o O não 't). Eu não entendo ... mas tanto faz. Minhas chaves agora funcionam. Obrigado.O xterm e o xterm-256color causam o problema do BCE. Veja http://permalink.gmane.org/gmane.comp.terminal-emulators.tmux.user/1932 .
fonte
Apenas no caso de alguém ficar bravo com essas soluções não funcionarem.
Verifique se você realmente não está usando o plugin tmux + vim + AutoClose vim. O fechamento automático mapeia algo que faz com que os caracteres ABCD sejam inseridos na linha anterior!
Acabei de apagar o plugin e está funcionando bem agora
fonte
O Command-T faz algo idiota mapeando ao executar em um terminal. Ignora o mapeamento se $ TERM for vt100 * ou xterm *, mas essa não é uma boa solução.
fonte
Para as pessoas que desejam mover o cursor no modo de linha de comando, dê uma olhada nesta postagem do blog. Acabei adicionando oito linhas no meu vimrc;
fonte