Gibt es eine .vimrc
Einstellung, um nachgestellte Leerzeichen beim Speichern einer Datei automatisch zu entfernen?
Im Idealfall möchte ich (aus Sicherheitsgründen) diese Funktionalität nur für bestimmte Dateien haben, z *.rb
Dies funktioniert (in der .vimrc-Datei) für alle Dateien:
autocmd BufWritePre * :%s/\s\+$//e
Dies funktioniert (in der .vimrc-Datei) nur für Ruby-Dateien (.rb):
autocmd BufWritePre *.rb :%s/\s\+$//e
e
?Verwenden Sie zum Beibehalten der Cursorposition Folgendes:
sonst würde der Cursor nach dem Speichern am Anfang der letzten Ersetzungszeile stehen.
Beispiel : Sie haben ein Leerzeichen am Ende der Zeile
122
, Sie sind in der Zeile982
und geben ein:w
. Wird die Position nicht wiederhergestellt, endet der Cursor am Zeilenanfang122
und der Arbeitsablauf wird beendet.Richten Sie den Funktionsaufruf mit den folgenden
autocmd
Beispielen ein:Man kann getpos () auch benutzen, aber in diesem Fall nicht brauchen, indem man:
quelle
Mein DeleteTrailingWhitespace-Plugin erledigt dies und kann im Gegensatz zu den verschiedenen einfachen
:autocmds
Floating-Funktionen auch Sonderfälle behandeln, den Benutzer abfragen oder Schreibvorgänge mit nachgestellten Leerzeichen abbrechen.Die Plugin-Seite enthält Links zu Alternativen. Es gibt auch eine große Diskussion im Vim Tips Wiki .
quelle