Pourquoi remapper la touche <End> sur <SA> fait que Vim se comporte bizarrement?

0
nnoremap <End> <S-A>        " line comment

Appuyez sur la touche de fin pour produire l’effet souhaité, mais vim s’ajoute également " line commentà la fin de la ligne!

Existe-t-il un moyen de faire savoir à vim où se trouve la directive nnoremap?

Arkadyt
la source

Réponses:

1

C'est un piège courant. Après :map, tout est pris à droite . Je recommanderais de placer le commentaire sur une ligne séparée:

" line comment
nnoremap <End> <S-A>

Mais si vous voulez vraiment vous en tenir aux commentaires de fin, vous pouvez utiliser la séparation de commande par défaut (avec |, avec dans un mappage doit être soit échappé, \|soit écrit comme <Bar>) pour ajouter un commentaire "commande" séparé:

nnoremap <End> <S-A>|        " line comment

PS: Au lieu de <S-A>, vous pouvez simplement écrire A :help key-notation.

Ingo Karkat
la source
Merci, @IngoKarkat, l'utilisation du symbole de tuyau a fonctionné! Bizarre cependant, échapper au symbole de la pipe casse réellement le coup pour moi. Utiliser <Bar> au lieu de pipe ne fonctionne pas non plus. J'utilise nvim.
arkadyt
1
Oui, <Bar>ou \|lorsque vous souhaitez inclure le reste dans le mappage, ce qui n'est pas ce que vous voulez, vous devez donc l'utiliser |ici. Mais c'est plus courant dans l'autre sens, c'est pourquoi j'ai également mentionné cela.
Ingo Karkat le