停止vim从空行删除缩进

当光标放在一行中只包含空格字符的末尾时,当我按enter键时,vim将删除该空格.我觉得这很刺激,因为它打破了我的脚本,选择缩进到同一级别的代码.如何防止vim这样做?

在我的.vimrc(http://bjuhn.com/randomstuff/vimrc)中,我有以下内容:

filetype plugin on
set copyindent

也就是说,我没有使用任何语法感知的自动缩进,因为我还没有找到一个按照我的想法做的一切.

最佳答案
Vim wiki建议:

inoremap <CR> <CR>x<BS>

因为如果已经在行上输入了一些文本,即使已经删除了缩进也不会被删除.

[编辑 – 比例]

从完整的解决方案中遗漏了几件事情.您还需要o和O的重新映射,以及您用于添加行的其他任何内容:

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

相同的想法,但人们较新的vim可能不会很快弄清楚.

转载注明原文:停止vim从空行删除缩进 - 代码日志