Diferença no comportamento de 'Esc' e 'inoremap jk Esc' no vim

4

Acabei de instalar o Ubuntu 12.04 em um novo computador e apt-get install[ed] vim e estou tendo um comportamento estranho com meu alias Esc - se eu estiver no modo INSERT e digitar o < kbd> Esc , saio do modo INSERT e o cursor move um caractere para a esquerda, como esperado, mas se eu digitar o jk alias, que defini no meu .vimrc as inoremap jk <Esc> , Eu saio do modo INSERT e o cursor move um caractere para o direito , o que é bastante desconcertante. Alguma idéia de por que esse é o caso?

    
por eZanmoto 01.12.2013 / 00:41

2 respostas

2

Eu não acho que isso é por causa dessa regra sozinho, algo mais está causando isso. Se eu criar um arquivo .vimrc com apenas esta regra:

$ more .vimrc
inoremap jk <Esc>

Eu obtenho o mesmo comportamento esperado dos dois métodos.

Exemplo # 1 - esc

Invoque vim , entre no modo Insert , seta para a direita 1 vez, pressione Esc .

Exemplo#2-jk

Invoquevim,váparaomodoInserir,setaparaadireita1vez,pressionejk.

    
por 01.12.2013 / 07:28
0

A resposta foi derivada da resposta de slm, que é que não foi a regra sozinha que causou este problema; minha regra, em completo , era na verdade

inoremap jk <Esc>  " Recommended in http://learnvimscriptthehardway.stevelosh.com/chapters/10.html

Não causou nenhum problema nas implementações do Vim que eu estava usando no Mac OS e no Debian por algum motivo, mas os dois caracteres de espaço extra após o Esc na regra, antes do comentário fazendo com que o cursor avance dois espaços após sair do modo INSERT .

    
por 01.12.2013 / 15:16

Tags