使用VIM中的autoindent
配置时,它会在创建新行后自动将光标缩进到有意义的位置。但是当您输入的第一个字符是哈希字符(#
)时,缩进将被删除,#
将作为该行的第一个字符插入。
为什么会这样?如何配置VIM不这样做?
示例(_
作为空光标位置):
def python_function():
_
点击键盘上的#
后会发生这种情况:
def python_function():
#_
但是应该发生了什么:
def python_function():
#_
答案 0 :(得分:4)
您可能有smartindent
或cindent
而不是{或1}} autoindent
;这些缩进样式是为C语法语言设计的。在编辑Python以使用:filetype plugin indent on
时,这是一个好主意,因为这将为Python加载适当的缩进设置。
答案 1 :(得分:3)
:help smartindent
使用映射:inoremap # X^H#
(^ h通过CTRL-V CTRL-H输入)