当使用VIM中的autoindent
配置时,它会在创建新行后自动将光标缩进到有意义的位置。但是当你输入的第一个字符是一个散列字符(#
)时,缩进将被删除,#
将被插入作为行的第一个字符。
为什么会发生这种情况?如何将VIM配置为不执行此操作?
示例(_
作为空光标位置):
def python_function():
_
点击键盘上的#
后,会发生以下情况:
def python_function():
#_
但应该发生的事情是这样的:
def python_function():
#_
3条答案
按热度按时间wrrgggsh1#
您可能有
smartindent
或cindent
来代替(或同时使用)autoindent
;这些缩进样式是为C语法语言设计的。在编辑Python时使用:filetype plugin indent on
是一个好主意,因为这将为Python加载适当的缩进设置。bqujaahr2#
:help smartindent
使用Map
:inoremap # X^H#
(^h通过CTRL-V CTRL-H输入)qltillow3#
对我来说,当我忘记禁用粘贴模式时,缩进也不能正常工作:set nopaste,当最初打开它进行复制粘贴时。