Por que minhas teclas de seta não funcionam no vim no iTerm?

11

Eles funcionam muito bem se eu usar o Terminal e iniciar uma sessão do vim, mas no iTerm eu tenho que recorrer ao uso do HJKL para fazer movimentos da esquerda para cima, para baixo e para a direita.

No Terminal e no iTerm TERM = xterm-color. Meu .vimrcé bastante magra e não há ligações de teclas definidas lá que causariam esse problema.

iTerm v0.10.

Ian C.
fonte

Respostas:

5

Tente o seguinte:

  1. Do Marcadores item de menu, selecione Gerenciar Marcadores ... .
  2. Escolha o marcador Padrão e clique no ícone de edição.
  3. Altere a configuração do teclado para global .
sentinela
fonte
Eu tenho o mesmo problema no iTerm2. Não há menu para favoritos :(
Wei Hu
1
@ Wei: Eles são chamados de Perfis no iTerm2. Perfis -> Abrir perfis ... e a partir daí você pode carregar os padrões xterm do teclado para o (s) perfil (s).
Ian C.
@Ian, obrigado. Encontrei as configurações, mas carregar os padrões xterm não resolveu o problema.
Hu Wei
@ WeiHu: A sugestão original do sentinel era carregar a configuração Global, não a xterm, e espero que isso seja transferido para o iTerm2 - tentarei assim que instalar o iTerm2. Eu sei que Ian C. escreveu xterm, mas talvez tenha sido um erro de digitação.
Blaisorblade
Para o iTerm2, há uma seção de perguntas frequentes: iterm2.com/#/section/faq Eu uso "Tipo de terminal de relatório: xterm-256color" junto com as combinações de teclas padrão do xterm; você pode tentar os do Terminal.app, mas as combinações de teclas parecem não estar relacionadas. Para mim, a única coisa importante era definir Alt para se comportar como + Esc em vez de Meta, mas isso não se aplica às setas (para mim, ele corrigia Alt-B e amigos na tela).
Blaisorblade
4

O seguinte funcionou para mim.

No iTerm2:

  • Perfis -> Perfis abertos ...
  • Editar perfis ...
  • Guia Chaves
  • No menu suspenso Carregar predefinição ..., escolha compatibilidade com Terminal.app
Gerald Boersma
fonte
Obrigado Gerald, você é um cavalheiro e um escudeiro.
Snickers3192 23/02
2

Foi assim que eu consertei:

nnoremap <silent> <ESC>^[A <Nop>
nnoremap <silent> <ESC>^[B <Nop>
nnoremap <silent> <ESC>^[D <Nop>
nnoremap <silent> <ESC>^[C <Nop>

Nota:

Os caracteres "^ [" não devem ser digitados; você os obtém fazendo o seguinte: - Ve pressionando a posição correspondente da seta do cursor (cima, baixo, esquerda, direita).

Testado com: iTerm2 (Compilação 1.0.0.20140629)

fmendez
fonte
1

Consegui resolver isso com o iTerm2 Build 3.0.15 e o seguinte trecho do meu .vimrc:

" Map alternate key combination for Esc.
noremap <c-[> <Esc>
" Map arrow keys for nomal mode.
nnoremap <silent> <Esc><Up>A <Nop>
nnoremap <silent> <Esc><Down>B <Nop>
nnoremap <silent> <Esc><Right>C <Nop>
nnoremap <silent> <Esc><Left>D <Nop>

HTH.

Jerome
fonte