Я нашел ответ здесь .
Добавление следующего в мой .vimrc файл добилось цели.
autocmd BufWritePre *.py :%s/\s\+$//e
Это - то, как я делаю его. Я не могу помнить, где я украл его из tbh.
autocmd BufWritePre * :call <SID>StripWhite()
fun! <SID>StripWhite()
%s/[ \t]\+$//ge
%s!^\( \+\)\t!\=StrRepeat("\t", 1 + strlen(submatch(1)) / 8)!ge
endfun
У меня также обычно есть a:
match Todo /\s\+$/
в моем .vimrc
файл, так, чтобы конец пробела строки был hilighted.
Todo, являющийся названием группы hilighting синтаксиса , который используется для hilighting ключевых слов как TODO
, FIXME
или XXX
. Это имеет раздражающе ужасный желтоватый цвет фона, и я нахожу, что это является лучшим к hilight вещам, которые Вы не делаете , хотят в Вашем коде:-)
Компиляция вышеупомянутого плюс сохранение позиции курсора:
fun! <SID>StripTrailingWhitespaces()
let l = line(".")
let c = col(".")
%s/\s\+$//e
call cursor(l, c)
endfun
autocmd FileType c,cpp,java,php,ruby,python autocmd BufWritePre <buffer> :call <SID>StripTrailingWhitespaces()
Если вы хотите применить это при сохранении к любому файлу, оставьте второй autocmd
и используйте подстановочный знак *
:
autocmd BufWritePre * :call <SID>StripTrailingWhitespaces()