2 votes

Vim noremap rend toujours actif les anciens mappings

Voici mon .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

J'ai essayé de remapper hjkl en jkl, car cela me semblait plus logique (je n'aurais pas à retirer mes mains de la ligne d'origine pour me déplacer). Mais il semble que les anciens mappings soient toujours là. Donc maintenant, hjkl et jkl ; déplacent le curseur dans une direction, ce qui crée un mouvement diagonal du curseur lorsque l'on essaie de monter ou descendre.

Qu'est-ce que je fais mal ? noremap devrait supprimer les anciens mappings, correct ?

EDIT : Je suis un idiot, il y avait des espaces dans le vimrc qui ont tout gâché.

0voto

sudo Points 1

Les espaces à la fin des lignes qui spécifient de nouvelles combinaisons de touches entraînent l'inclusion de combinaisons de touches supplémentaires. C'est pourquoi l'OP obtenait un mouvement diagonal du curseur lorsqu'ils ont remappé hjkl a jkl; . Cela vaut également pour tout remappage.

Par exemple, si j'ai le texte suivant dans mon fichier .vimrc :

noremap a ik

a sera mis en correspondance avec les touches de clavier ik dans l'ordre (c'est-à-dire en appuyant sur i et ensuite appuyer sur k ).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X