Как можно автоматически удалить запаздывание пробела в энергии

192
задан jdhao 14 January 2019 в 20:39
поделиться

4 ответа

Я нашел ответ здесь .

Добавление следующего в мой .vimrc файл добилось цели.

autocmd BufWritePre *.py :%s/\s\+$//e
202
ответ дан l0b0 23 November 2019 в 05:29
поделиться

Это - то, как я делаю его. Я не могу помнить, где я украл его из tbh.

autocmd BufWritePre * :call <SID>StripWhite()
fun! <SID>StripWhite()
    %s/[ \t]\+$//ge
    %s!^\( \+\)\t!\=StrRepeat("\t", 1 + strlen(submatch(1)) / 8)!ge
endfun
5
ответ дан l0b0 23 November 2019 в 05:29
поделиться

У меня также обычно есть a:

match Todo /\s\+$/

в моем .vimrc файл, так, чтобы конец пробела строки был hilighted.

Todo, являющийся названием группы hilighting синтаксиса , который используется для hilighting ключевых слов как TODO, FIXME или XXX. Это имеет раздражающе ужасный желтоватый цвет фона, и я нахожу, что это является лучшим к hilight вещам, которые Вы не делаете , хотят в Вашем коде:-)

68
ответ дан l0b0 23 November 2019 в 05:29
поделиться

Компиляция вышеупомянутого плюс сохранение позиции курсора:

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()
166
ответ дан 23 November 2019 в 05:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: