Pour supprimer tous les espaces finaux (à la fin de chaque ligne), vous pouvez utiliser la commande suivante:
:%s/ \+$//
Pour inclure des onglets, utilisez \s
plutôt que l'espace.
A partir de la ligne de commande:
$ ex +'%s/\s\+$//e' -cwq file.c
Tous les fichiers du répertoire en cours (à utiliser de manière récursive **/*.*
):
$ ex +'bufdo!%s/\s\+$//e' -cxa *.*
Façon Python:
:py import vim
:pydo vim.current.buffer[linenr - 1] = vim.current.buffer[linenr - 1].strip()
ou:
:py import vim
:py for i, l in enumerate(vim.current.buffer): vim.current.buffer[i] = l.rstrip()
Utilisez-le lstrip()
pour la bande gauche (tirée), rstrip()
pour la bande droite (avant) ou strip()
pour la retirer des deux côtés.
Voici une fonction utile qui supprime les blancs superflus de la fin d'une ligne que vous pouvez ajouter à votre .vimrc
:
" Removes superfluous white space from the end of a line
function! RemoveWhiteSpace()
:%s/\s*$//g
:'^
"`.
endfunction
Il existe également un plugin DeleteTrailingWhitespace pour cela.
Mise en évidence des espaces blancs
Pour vérifier si tous les espaces de fin ont disparu, utilisez:
Tapez / $
pour les trouver. S'il y en a, vim les mettra en évidence pour vous.
Utilisez des couleurs pour les mettre en évidence:
:highlight ws ctermbg=red guibg=red
:match ws /\s\+$/
Utilisez des caractères visibles ( source ):
:set encoding=utf-8
:set listchars=trail:·
:set list
Voir aussi: Mettre en évidence les espaces non désirés
Pour mettre en évidence les espaces finaux par défaut, vous pouvez configurer votre .vimrc
comme suit:
highlight ws ctermbg=red guibg=red
match ws /\s\+$/
autocmd BufWinEnter * match ws / \+$/
Supprimer les espaces blancs par défaut
Si vous souhaitez vous assurer que tous les espaces finaux d'un fichier sont automatiquement supprimés lors de l'enregistrement, vous pouvez ajouter la commande suivante dans votre .vimrc
:
autocmd BufWritePre *.c,*.php :%s/ \+$//ge
ce qui n'est pas recommandé, car il supprimera les espaces finaux de chaque fichier enregistré par l'utilisateur (même lorsque des espaces peuvent être souhaités).
Voir également: