(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.