Existe-t-il un .vimrc
paramètre pour supprimer automatiquement les espaces de fin lors de l'enregistrement d'un fichier?
Idéalement (pour être sûr), je voudrais avoir cette fonctionnalité uniquement pour certains fichiers, par exemple *.rb
Cela fonctionne (dans le fichier .vimrc) pour tous les fichiers:
autocmd BufWritePre * :%s/\s\+$//e
Cela fonctionne (dans le fichier .vimrc) pour les fichiers uniquement rubis (.rb):
autocmd BufWritePre *.rb :%s/\s\+$//e
e
utilise?Pour conserver la position du curseur, utilisez quelque chose comme:
sinon, le curseur se retrouverait au début de la ligne du dernier remplacement après la sauvegarde.
Exemple : Vous avez un espace en fin de ligne
122
, vous êtes en ligne982
et entrez:w
. Si vous ne restaurez pas la position, le curseur se retrouverait au début de la ligne122
, tuant ainsi le flux de travail.Configurer l'appel à la fonction à l'aide de
autocmd
quelques exemples:On peut également utiliser, mais pas nécessaire dans ce cas, getpos () en:
la source
Mon plugin DeleteTrailingWhitespace fait cela et, contrairement aux différents simples
:autocmds
flottants, gère également des cas spéciaux, peut interroger l'utilisateur ou abandonner les écritures avec des espaces en fin.La page du plugin contient des liens vers des alternatives; il y a aussi une grande discussion sur le Wiki Vim Tips .
la source