Остановка vim от удаления отступа на пустые строки
Когда курсор помещается в конец строки, содержащей только символы пробела, vim, когда я нажимаю enter, удаляет это пробел. Я нахожу это раздражающим, так как он разбивает мой script на выбор кода с отступом до одного уровня. Как я могу предотвратить vim от этого?
В моем .vimrc(http://bjuhn.com/randomstuff/vimrc) у меня есть следующее:
filetype plugin on
set copyindent
то есть я не использую синтаксический автозапуск, поскольку мне еще нужно найти тот, который делает все по своему вкусу.
Ответы
Ответ 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>