LINUX.ORG.RU

vim и отступы в пустых строках

 


0

1

Если в строке ничего не писать и убрать с неё курсор, то автоматически поставленный отступ исчезает. Даже если его поставить вручную, его выделит плагин ntpeters/vim-better-whitespace, и он будет удалён такой командой автоматического удаления пробелов в конце строк:

autocmd BufWritePre * :%s/\s\+$//e

Как бы подправить эту регулярку, чтобы она учитывала отступы, идущие перед строкой, или хотя бы не трогала пробельные символы, если они идут с самого начала? На питоне бы написал, но плагины к vim писать не умею (стоит ли оно изучения?).

И можно ли без лишних костылей заставить vim делать автоматически добавляемый отступ постоянным?

★★★

Эм, я правильно понимаю, что хочется сознательно оставлять trailing whitespace, т.е. творить зло?

xaizek ★★★★★ ()
Ответ на: комментарий от xaizek

Не обязательно. Раздражает, когда курсор при перемещении скачет по ухабам удалённых пробельных символов. Хотелось бы просто, чтобы не скакал.

А trailing whitespace в таком случае разве является злом? Вот об этом тоже хотел спросить, как у людей принято. Вроде бы всё логично: в том же питоне открываешь «операторную скобку» (или как это правильно называть) и то, что вне её, т.е. левее отступа, волновать как бы и не должно, разве нет?

batekman ★★★ ()
Ответ на: комментарий от batekman

Раздражает, когда курсор при перемещении скачет по ухабам удалённых пробельных символов. Хотелось бы просто, чтобы не скакал.

Можно установить set virtualedit=all, тогда не будет.

А trailing whitespace в таком случае разве является злом?

Как по мне, он в любом виде не лучшая практика. Тот же git должен ругаться при коммите и в этом случае. Всегда подобное подчищаю (у меня такие символы отображаются). За питон не скажу, нужен кто-то, кто исповедует pep-8.

Авто-комманду можно на такую заменить:

autocmd BufWritePre * %s/^.*\S\zs\s\+$//e

xaizek ★★★★★ ()

Я наоборот удаляю подобное при сохранении файла или командой, если сохранять файл не нужно. Странное у вас желание.

andreyu ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.