Czy jest .vimrc
ustawienie automatycznego usuwania końcowych białych znaków podczas zapisywania pliku?
Idealnie (dla bezpieczeństwa) chciałbym mieć tę funkcję tylko dla niektórych plików, np *.rb
Działa to (w pliku .vimrc) dla wszystkich plików:
autocmd BufWritePre * :%s/\s\+$//e
Działa to (w pliku .vimrc) tylko dla plików ruby (.rb):
autocmd BufWritePre *.rb :%s/\s\+$//e
e
?Aby zachować pozycję kursora, użyj czegoś takiego:
w przeciwnym razie kursor skończy na początku wiersza ostatniego zamiany po zapisaniu.
Przykład : Masz spację na końcu linii
122
, jesteś w linii982
i wpisz:w
. Brak przywracania pozycji spowodowałby, że kursor znalazłby się na początku linii,122
powodując w ten sposób przepływ pracy.Skonfiguruj wywołanie funkcji za pomocą
autocmd
kilku przykładów:Można również użyć, ale nie potrzebną w tym przypadku, getpos () poprzez:
źródło
Moja wtyczka DeleteTrailingWhitespace robi to i, w przeciwieństwie do różnych prostych
:autocmds
, obsługuje także specjalne przypadki, może zapytać użytkownika lub przerwać pisanie z końcowymi spacjami.Strona wtyczki zawiera linki do alternatyw; jest też duża dyskusja na Wiki Vim Tips .
źródło