vim - 阻止vim删除空行上的缩进

标签 vim indentation

当光标放在带有空格字符的一行的末尾时,当我按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 - 阻止vim删除空行上的缩进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7413036/

相关文章:

vim - 让 Vim 在没有更多文件缓冲区时自动关闭

windows - Windows 上 gVim 中的可视化模式与在 Unix 中的工作方式不同

vim - 如何在vim命令模式下自动完成选项

javascript - JS 创建一个方法来缩进文本

javascript - 缩进、 pretty-print 代码,包括 Django 模板标签、HTML、CSS 和 JavaScript

vim:检查设置值被修改的位置

vim - 如何选择矩形区域并粘贴单个字符串

javascript - IntelliJ - Javascript 中的制表符缩进不起作用

Java:使用 IndentingXMLStreamwriter 会导致文件大小过大

javascript - Visual Studio Code 在多行上对齐函数参数