programming vim esc escape capslock keyboard

Usare il CapsLock al posto di Escape

Perché Escape è troppo distante

Quando Bill Joy ha creato vi usava il terminale ADM-3A.

ADM-3A

Questo terminale, oltre ad avere le quattro frecce sulle lettere h,j,k,l (ed è per questo che in vi ci si muove così), aveva il pulsante Escape proprio di fianco alla lettera Q, mentre il Ctrl vicino alla A.

ADM-3A

È per questo che Bill ha dato così tanta importanza a questi due tasti.

Purtroppo nelle tastiere moderne questi due pulsanti sono il più distanti possibile dalla home row, cioè la riga dove si trovano normalmente le dita. Proprio in quella riga si trova invece un pulsante che viene usato veramente poco: il caps lock.

È per questo che molti, me compreso, preferiscono usare questo pulsante come un Escape aggiuntivo.

Addirittura gli si può dare la doppia funzionalità: se premuto da solo funziona com Esc, se premuto assieme ad altri pulsanti, funziona come Ctrl.

In linux uso il programma xcape.

setxkbmap -option 'caps:ctrl_modifier'
xcape -e 'Caps_Lock=Escape;Control_L=Escape;Control_R=Escape'

Si può fare anche con OSX, modificando le opzioni della tastiera si può rimappare il CapsLock su Ctrl e con i programmi Seil e Karabiner si rimappa il CapsLock su F19 e su Escape. Qui c'è una semplice guida su come fare.

Come fare per le lettere maiuscole?

Non sento la mancanza della scrittura in MAIUSCOLO, non sono un tipo che ama urlare.

Ci sono dei casi in cui si usano parole in UPPERCASE, ma basta la shorcut gUiw per rendere UPPERCASE un'intera parola.

vim gUiw

Oppure, inserendo questo snippet nel proprio ~/.vimrc si può abilitare/disabilitare una specie di caps-lock premendo <C-^> in insert mode.

" Esegue 'lnoremap x X' e 'lnoremap X x' per ogni lettera a-z
for c in range(char2nr('A'), char2nr('Z'))
  execute 'lnoremap ' . nr2char(c+32) . ' ' . nr2char(c)
  execute 'lnoremap ' . nr2char(c) . ' ' . nr2char(c+32)
endfor

Non è una mia invenzione, l'ho trovata nell'utilissimo sito vim.wikia.com

È meglio senza maiuscole!

Disabilitando il caps-lock, evitiamo inoltre di mandare i comandi sbagliati a vim quando siamo in normal mode ma il caps-lock è abilitato: A è diverso da a, peggio ancora S è diverso da s!

Fuori da vi? Tieni premuto Shift 😃

Ti è piaciuto l'articolo? Condividilo! Commentalo!

comments powered by Disqus