Caret缩进,我按下
if expression:
print("hello world")
|
Caret在下一行缩进,现在按下向上箭头
if expression:
print("hello world")
|
现在插入符号不再缩进,发生了什么?
if expression:
print("hello world")
|
那么如何保留缩进?
答案 0 :(得分:1)
正如其他人所指出的那样,如果自动添加缩进,Vim会故意删除空行缩进。但是,如果您在该行上插入了任何文本,即使您将其删除,也会发生 not 。因此,根据具体情况,只需插入一些文本并使用退格键将其删除,如果您想保留空行的缩进。如果总是希望保留它,那么映射也可以使用:
inoremap <CR> <CR>x<BS>
答案 1 :(得分:0)
这是vim的预期行为。由于您已跳过下一行,因此假定您不想写入该特定代码块
答案 2 :(得分:0)
在我的安装中,它保留缩进(至少对于C文件)。
您应该尝试在正常模式下使用o插入新行。
然后根据文档(见:help o
):
当&#39; autoindent&#39;打开,获取新行的缩进 上一行。当聪明的时候&#39;或者&#39; cindent&#39;是的,缩进 为C程序自动调整一行。
您可能只使用&#39; autoindent&#39;选项。
有关详细信息,请参阅:help indenting
。
对于非C语言,您可能需要依赖$ VIMRUNTIME / indent文件。
您可以通过添加:set filetype indent on
来启用它,前提是您的语言受支持。否则,您将不得不编写自己的缩进文件。