остановка vim от удаления отступов на пустых строках - PullRequest
14 голосов
/ 14 сентября 2011

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

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

filetype plugin on
set copyindent

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

Ответы [ 2 ]

14 голосов
/ 14 сентября 2011

Вики Vim предлагает следующее:

inoremap <CR> <CR>x<BS>

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

[РЕДАКТИРОВАТЬ - милиметрический]

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

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

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

0 голосов
/ 08 января 2012

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

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