如何使 vim 的自动缩进不删除尾随空格?

Joe*_*ams 7 vim indentation text-editors autoindent

在某些文本编辑器(例如 Kate、gedit)中,当启用自动缩进时,按两次回车将留下尾随空格(我想要的):

if (code) {
....
....|
}
Run Code Online (Sandbox Code Playgroud)

而其他人则迎合了不允许尾随空格(即使在空行中)的编码标准:

if (code) {

....|
}
Run Code Online (Sandbox Code Playgroud)

令我烦恼的是,如果我在自动缩进后向上箭头,自动缩进就会丢失:

if (code) {
|
....
}
Run Code Online (Sandbox Code Playgroud)

如果我运行 vim 和:set autoindent,我会得到后一种行为。

我的问题是,如何设置 vim 以保留尾随空格而不是在未使用时自动删除它们?

Ben*_*ier 3

请参阅wiki上的提示,vim了解如何对空行进行正确缩进。如果您只想保留之前的缩进(忽略vim计算出的正确缩进),请使用let ind = indent(prevnonblank(v:lnum - 1))同一 wiki 条目下的评论中所解释的方法。