O noremap do Vim ainda faz com que os mapeamentos antigos sejam ativados

2

Este é o meu .vimrc

set mouse=a
set ttymouse=xterm2
set number
set smartindent
set tabstop=4
set shiftwidth=4
set expandtab
inoremap {      {}<Left>
inoremap {<CR>  {<CR>}<Esc>O
inoremap {{     {
inoremap {}     {}
inoremap (      ()<Left>
inoremap [      []<Left>
noremap ; l 
noremap l k 
noremap k j 
noremap j h 
set nocompatible
filetype plugin on

Eu tentei remapear hjkl para jkl; porque isso fazia mais sentido para mim (eu não teria que tirar minhas mãos da fila da casa para me mover). Mas parece que os antigos mapeamentos ainda estão lá. Então agora hjkl e jkl; moverá o cursor em uma direção, criando movimento diagonal ao tentar subir ou descer.

O que estou fazendo de errado? noremap deve remover os mapeamentos antigos, correto?

EDIT: Eu sou um idiota, havia espaços no vimrc que estragou tudo.

    
por miscsubbin 11.09.2012 / 18:19

1 resposta

0

Espaços à direita no final das linhas que especificam as novas associações de teclas fazem com que as teclas adicionais de espaço também sejam incluídas. É por isso que o OP estava recebendo o movimento do cursor diagonal quando remapearam hjkl para jkl; . Isso vale para qualquer remapeamento também.

Por exemplo, se eu tiver o seguinte no meu arquivo .vimrc:

noremap a ik

a será mapeado para os pressionamentos de tecla ik na sequência (ou seja, pressionando i e pressionando k ).

    
por 09.03.2016 / 03:36