2

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

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

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

def python_function():
    _

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

def python_function():
#_

应该发生的是:

def python_function():
    #_
4

2 回答 2

4

你可能有smartindentorcindent而不是 (or as well as) autoindent; 这些缩进样式是为 C 语法语言设计的。编辑 Python 以使用它是一个好主意,:filetype plugin indent on因为这将为 Python 加载适当的缩进设置。

于 2012-06-20T14:00:15.353 回答
3

:help smartindent

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

于 2012-06-20T13:59:15.917 回答