Есть ли .vimrc
настройка для автоматического удаления конечных пробелов при сохранении файла?
В идеале (для безопасности) я хотел бы иметь эту функцию только для определенных файлов, например *.rb
Это работает (в файле .vimrc) для всех файлов:
autocmd BufWritePre * :%s/\s\+$//e
Это работает (в файле .vimrc) только для файлов ruby (.rb):
autocmd BufWritePre *.rb :%s/\s\+$//e
e
?Чтобы сохранить положение курсора, используйте что-то вроде:
иначе курсор окажется в начале строки последней замены после сохранения.
Пример : у вас есть пробел в конце строки
122
, вы находитесь на линии982
и введите:w
. Не восстановление позиции приведет к тому, что курсор окажется в начале строки122
.Настройте вызов функции, используя
autocmd
несколько примеров:Также можно использовать getpos () , но не нужно в этом случае :
источник
Мой плагин DeleteTrailingWhitespace делает это и, в отличие от различных простых
:autocmds
операций с плавающей запятой, также обрабатывает особые случаи, может запрашивать пользователя или прерывать записи с конечными пробелами.Страница плагина содержит ссылки на альтернативы; Есть также большая дискуссия на Vim Tips Wiki .
источник