Посмотрите этот совет в vim
вики о том, как сделать правильный отступ даже для пустых строк. Если вы просто хотите сохранить предыдущий отступ (игнорируя то, что vim
рассчитывается как правильный отступ), используйте let ind = indent(prevnonblank(v:lnum - 1))
как описано в комментарии к той же записи вики.
Как сделать так, чтобы в vim autoindent не пропускались конечные пробелы?
2222
Joey Adams
В некоторых текстовых редакторах (например, Kate, gedit), когда включен автоматический отступ, двойное нажатие клавиши возврата оставит завершающий пробел (который я хочу):
if (code) { .... ....| }
В то время как другие обслуживают стандарт кодирования, где конечные пробелы (даже в пустых строках) не допускаются:
if (code) { ....| }
Что меня раздражает в этом, так это то, что если стрелка вверх после авто-отступа, авто-отступ теряется:
if (code) { | .... }
Если я запускаю vim и :set autoindent
я получаю последнее поведение.
У меня вопрос: как мне установить, чтобы vim сохранял завершающие пробелы, а не автоматически удалял их, если они не используются?
Моя первоначальная реакция заключается в том, что вы делаете это неправильно. Оставляя пустые строки с таким отступом, вы исключаете возможность использовать `{` или `}` (например, `d {` и т. Д.).
hlovdal 13 лет назад
2
3 ответа на вопрос
3
Benjamin Bannier
1
Xiong Chiamiov
Я нашел это решение для меня:
:inoremap <Return> <Space><BS><Return>
Это похоже на хак / обходной путь. Разве нет подходящей опции, чтобы отключить это поведение «незаполненной пустой строки»?
Doub 12 лет назад
1
Не то, чтобы я знал - иначе я бы разместил это здесь.
Xiong Chiamiov 11 лет назад
0
0
Tom Hale
In my .vimrc:
" Change a blank line upon creation so that its leading spaces won't be removed inoremap <Return> <Return><Space><BS> nnoremap o o<Space><BS> nnoremap O O<Space><BS>
Похожие вопросы
-
13
Какие функции Vim вы используете?
-
8
Удалить расширенную "вкладку" в Vim одним нажатием клавиши?
-
1
Невозможно понять, где зачем требовать обнаружения ASCII и HEX в строке состояния Vim
-
-
3
Vim: Как обрабатывать файлы Unicode с текстом на нескольких (более двух) языках?
-
9
Аддоны Firefox, чтобы пойти с Vimperator
-
3
Чтобы повторить PWD в Vim's: -режим к документу
-
1
В любом случае vim не считает специальные символы словами?
-
8
Vimperator копия / вставка
-
1
Отступ абзацев в Microsoft Word
-
1
Как вставить метку даты / времени в PSPad?