77 votes

Comment mapper la touche CAPS LOCK dans VIM?

J'utilise GVIM sous Windows. Et voulez mapper CAPSLOCK à Ctrl + ^

Un moyen de faire ça?

Btw, je vois des tonnes d'échantillons sur le Web comment échanger CAPS et Esc en utilisant le piratage du registre, mais aucun d'entre eux n'utilise la commande de carte VIM, à la place des outils externes et des modifications du registre.

65voto

Dan Andreatta Points 1443

Linux? Avec X, utilisez xmodmap pour modifier le mappage de clé, par exemple

 xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'
 

Mappera Esc sur la touche CapsLock. Google pour plus d'exemples.

49voto

Reed Points 666

Si votre intention est simplement d'éviter de travailler en dehors de Vim, vous pouvez insérer cette ligne dans votre fichier .vimrc:

 au VimEnter * !xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'
 

Cela nécessite Linux avec le paquet xorg-xmodmap installé.

16voto

hometoast Points 6536

Sous les fenêtres? Utilisez AutoHotkey . Ce n'est pas un mappage Vim, mais comme d'autres l'ont dit, vous ne pouvez pas le mapper. J'utilise AHK pour mapper mon CAPSLOCK sur CTRL.

10voto

liwp Points 3473

Capslock (et Control, Shift etc.) est une touche de modification, ce qui signifie qu’elle est utilisée avec une autre touche normale pour modifier la signification de cette touche. Autant que je sache, le système d’exploitation ne transmet pas les touches de modification à l’application, à moins qu’une touche normale soit également enfoncée. Par exemple, si vous appuyez sur CTRL , l’application ne verra pas CTRL-C .

5voto

Michael Anderson Points 21181

Je ne pense pas que tu peux. Je crois que CAPS-LOCK est probablement traduit par le système d'exploitation avant que vim ne le voie jamais. Vous devrez donc faire un piratage au niveau du système d'exploitation, comme les piratages de registre que vous avez déjà vus.

EDIT: autohotkey semble pouvoir être utilisé pour combler l’écart entre vim-OS . De cette façon, une application tierce fait des piratages au niveau du système d'exploitation, et vous ne faites que l'accrocher à cette application.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X