(Attention, post très geek)
En ce moment, je fais pas mal de vim, J'ai donc passé un peu de temps pour bien configurer mon .vimrc
.
Pour cela, je me suis inspiré de l'exemple du site VI Improved. J'ai sélectionné ce qui me plaisait là-dedans mais j'en ai pris beaucoup.
Il me manquait toujours une fonction que j'aime beaucoup dans Eclipse : la fonction de Smart Home. En gros, ça permet de revenir au premier caractère de la ligne autre qu'un espace ou une tabulation. C'est très pratique lorsqu'on a du code indenté, c'est-à-dire tout le temps.
Après une recherche intensive, j'ai adopté la configuration du dernier commentaire de la page du Wiki.
noremap <expr> <Home> (col('.') == matchend(getline('.'), '^\s*')+1 ? '0' : '^') noremap <expr> <End> (col('.') == match(getline('.'), '\s*$') ? '$' : 'g_') vnoremap <expr> <End> (col('.') == match(getline('.'), '\s*$') ? '$h' : 'g_') imap <Home> <C-o><Home> imap <End> <C-o><End>
Il existe des scripts plus longs, mais celui-ci me convient très bien pour l'instant. (Update: le Smart End me convient pas : il va bien sur le dernier caractère là où il devrait aller sur le caractère juste après pour pouvoir continuer la frappe. Je l'ai désactivé pour le moment.)
À voir aussi peut-être plus tard, un script pour pouvoir naviguer de mot en mot à l'intérieur d'un mot en CamelCase.