Um alle nachfolgenden Leerzeichen (am Ende jeder Zeile) zu löschen, können Sie den folgenden Befehl verwenden:
:%s/ \+$//
Verwenden Sie zum \s
Einschließen von Registerkarten anstelle von Leerzeichen.
Über die Befehlszeile:
$ ex +'%s/\s\+$//e' -cwq file.c
Alle Dateien im aktuellen Verzeichnis (rekursiv verwenden **/*.*
):
$ ex +'bufdo!%s/\s\+$//e' -cxa *.*
Python Weg:
:py import vim
:pydo vim.current.buffer[linenr - 1] = vim.current.buffer[linenr - 1].strip()
oder:
:py import vim
:py for i, l in enumerate(vim.current.buffer): vim.current.buffer[i] = l.rstrip()
Verwenden Sie lstrip()
für den linken Streifen (nachlaufend), rstrip()
für den rechten Streifen (vorlaufend) oder strip()
zum Entfernen von beiden Enden.
Hier ist eine nützliche Funktion, die überflüssige Leerzeichen am Ende einer Zeile entfernt, die Sie hinzufügen können .vimrc
:
" Removes superfluous white space from the end of a line
function! RemoveWhiteSpace()
:%s/\s*$//g
:'^
"`.
endfunction
Dafür gibt es auch das Plugin DeleteTrailingWhitespace .
Leerzeichen hervorheben
Verwenden Sie Folgendes, um zu überprüfen, ob alle nachgestellten Leerzeichen weg sind:
Tippe / $
, um sie zu finden. Wenn es welche gibt, würde vim sie für Sie hervorheben.
Verwenden Sie Farben, um sie hervorzuheben:
:highlight ws ctermbg=red guibg=red
:match ws /\s\+$/
Verwenden Sie sichtbare Zeichen ( Quelle ):
:set encoding=utf-8
:set listchars=trail:·
:set list
Siehe auch: Markieren Sie unerwünschte Leerzeichen
Um abschließende Leerzeichen standardmäßig hervorzuheben, können Sie Folgendes konfigurieren .vimrc
:
highlight ws ctermbg=red guibg=red
match ws /\s\+$/
autocmd BufWinEnter * match ws / \+$/
Leerzeichen werden standardmäßig entfernt
Wenn Sie sicherstellen möchten, dass alle nachgestellten Leerzeichen in einer Datei beim Speichern automatisch entfernt werden, können Sie den folgenden Befehl hinzufügen .vimrc
:
autocmd BufWritePre *.c,*.php :%s/ \+$//ge
Dies wird nicht empfohlen, da abschließende Leerzeichen aus jeder vom Benutzer gespeicherten Datei entfernt werden (auch wenn Leerzeichen gewünscht werden können).
Siehe auch: