Un raccourci qui a fonctionné pour moi (tant au niveau de la mémoire musculaire que de l'intuitivité) consiste à cartographier __
(qui est un double _
) à "insérer au début de la ligne actuelle".
Raison d'être :
-
_
va déjà au début de la ligne
- dans vim, doubler quelque chose est une façon très courante de le faire "à cette ligne"
- double
_
n'entre en conflit avec aucune motion (vous êtes déjà au début de la ligne)
- votre main est déjà au bon endroit si vous êtes allé au début de la ligne et que vous voulez maintenant l'insérer.
vimscript :
"insert at start of current line by typing in __ (two underscores)
function DoubleUnderscore()
if v:count == 0 && getcurpos()[2] == 1
:silent call feedkeys('I', 'n')
else
:silent call feedkeys('^', v:count + 'n')
endif
endfunction
nnoremap <silent> _ :call DoubleUnderscore()<CR>
C'est aussi compliqué que cela parce que l'alternative la plus simple nnoremap __ _I
fait en sorte que vim retarde le moment où l'on appuie sur _
de faire la distinction entre _
y __
.
5 votes
Vous pouvez utiliser 0 pour vous déplacer au début de la ligne, mais ce n'est pas en mode insertion.
3 votes
Et si vous trouvez que Esc est trop loin, vous pouvez utiliser Ctrl-[ à la place :)
3 votes
Ou mieux, Ctrl-C fonctionne comme Esc. Ou mieux encore, faire correspondre Caps Lock à Esc.
4 votes
@manku tu n'as pas tant répondu à sa question que tu n'as pas répondu à sa question =P
0 votes
Remappe esc à jj tu as besoin de changer de mode souvent dans vim
0 votes
Qu'est-ce que la touche "Home"... ?