Perché è così complicato per rimappare Esc per BLOC in Vim?
Domanda
Ho visto le punte wiki vim e si dice che per rimappare Esc per BLOC MAIUSC è necessario modificare il seguente codice di Windows:
REGEDIT4
[HKEY_CURRENT_USER\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,01,00,3a,00,00,00,00,00
E 'possibile rimappare Esc per BLOC da solo l'aggiunta o la modifica di linee nel _vimrc?
Soluzione
Vi consiglio di utilizzare AutoHotkey per questo.
Si può fare un cambio per ogni applicazione hotkey:
SetTitleMatchMode,2
#IfWinActive,VIM
CAPSLOCK::ESC
return
#IfWinActive
CAPSLOCK::CTRL
return
Questo script, per esempio imposta tappi di fuggire in vim, e controllare tutto il resto.
Altri suggerimenti
Non c'è identificatore chiave vim per la chiave capslock, in modo da avere a che fare con un codice di scansione.
Sarebbe come cercare di mappare il tasto CTRL o il tasto shift a qualcosa -. Quelle chiavi non fare nulla da soli, sono tasti modificatori, quindi non possono essere intrappolati nello stesso modo
La mappatura deve essere fatto a livello di sistema operativo, invece di vim, quindi la complicazione deriva dal sistema operativo. Per esempio, sulla mia macchina Ubuntu Ho il seguente in ~/.Xmodmap
:
! Esc on caps lock
remove Lock = Caps_Lock
keysym Caps_Lock = Escape
Tuttavia, non credo che lo script REGEDIT è così male. È un po 'brutto, ma è solo due righe!
Inoltre si può provare questo: SharpKeys . I swaped CapLock e ESC con esso.
Si potrebbe anche usare Ctrl-C per sfuggire (disponibile almeno in vim). Che è quello che uso normalmente. Ho comunemente swap controllo e capslock, però, e lo hanno fatto attraverso le impostazioni del Registro di Windows e conf tastiera in Ubuntu.
Edit: come @mMontu Note gentili, Ctrl-C è più brutale di Esc: Come indicato nel questa domanda appropriata ,
vim non ha intenzione di preoccuparsi di verificare se hai appena scritto parte di un abbreviazione, e non ha intenzione di eseguire i comandi l'auto fantasia tua plugins hanno istituito per ogni volta che si lascia la modalità di inserimento
Non avevo notato perché il mio vimming non è ancora così avanzata.
Un'altra alternativa che ha funzionato bene per me è stato quello di utilizzare le istruzioni si trovano in questo sito
In sostanza:. Installare Keyboard di Microsoft Layout Creator, quindi modificare il suo codice sorgente per consentire rimappatura della BLOC e creare il proprio layout personalizzato