Подтвердить что ты не робот

Остановка vim от удаления отступа на пустые строки

Когда курсор помещается в конец строки, содержащей только символы пробела, vim, когда я нажимаю enter, удаляет это пробел. Я нахожу это раздражающим, так как он разбивает мой script на выбор кода с отступом до одного уровня. Как я могу предотвратить vim от этого?

В моем .vimrc(http://bjuhn.com/randomstuff/vimrc) у меня есть следующее:

filetype plugin on
set copyindent

то есть я не использую синтаксический автозапуск, поскольку мне еще нужно найти тот, который делает все по своему вкусу.

4b9b3361

Ответ 1

Vim wiki предлагает следующее:

inoremap <CR> <CR>x<BS>

потому что отступ не удаляется, если какой-либо текст был введен в строку, даже если он был удален.

[EDIT - milimetric]

Всего несколько штук отсутствуют из полного решения. Вам также нужны переделки для o и O и все, что вы используете для добавления строк:

inoremap <CR> <CR>x<BS>
nnoremap o ox<BS>
nnoremap O Ox<BS>

Такая же идея, но люди, более новые для vim, могут быстро понять это.

Ответ 2

Для меня этот код работает:

inoremap <silent> <Esc> <C-O>:stopinsert<CR>