如何通过插入`#`来删除缩进?

时间:2012-06-20 13:54:14

标签: vim indentation vi auto-indent

使用VIM中的autoindent配置时,它会在创建新行后自动将光标缩进到有意义的位置。但是当您输入的第一个字符是哈希字符(#)时,缩进将被删除,#将作为该行的第一个字符插入。

为什么会这样?如何配置VIM不这样做?

示例(_作为空光标位置):

def python_function():
    _

点击键盘上的#后会发生这种情况:

def python_function():
#_

但是应该发生了什么:

def python_function():
    #_

2 个答案:

答案 0 :(得分:4)

您可能有smartindentcindent而不是{或1}} autoindent;这些缩进样式是为C语法语言设计的。在编辑Python以使用:filetype plugin indent on时,这是一个好主意,因为这将为Python加载适当的缩进设置。

答案 1 :(得分:3)

:help smartindent

使用映射:inoremap # X^H#(^ h通过CTRL-V CTRL-H输入)