Skrótem, który zadziałał dla mnie (zarówno pamięć mięśniowa, jak i intuicyjność) jest mapowanie __(co jest podwójnym _) do „wstaw na początku bieżącej linii”.
Racjonalne uzasadnienie:
_ już idzie na początek linii
- w vim, podwajanie czegokolwiek jest bardzo powszechnym sposobem robienia tego „do tej linii”
- double
_nie koliduje z żadnymi ruchami (jesteś już na początku linii)
- Twoja ręka jest już we właściwym miejscu, jeśli poszedłeś na początek linii i teraz chcesz wstawić.
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>
Jest to tak skomplikowane, ponieważ łatwa alternatywa nnoremap __ _Ipowoduje, że vim opóźnia naciśnięcie, _aby odróżnić od _i __.