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

eivnm1vs  于 2023-04-30  发布在  其他
关注(0)|答案(3)|浏览(142)

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

为什么会发生这种情况?如何将VIM配置为不执行此操作?

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

def python_function():
    _

点击键盘上的#后,会发生以下情况:

def python_function():
#_

但应该发生的事情是这样的:

def python_function():
    #_
wrrgggsh

wrrgggsh1#

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

bqujaahr

bqujaahr2#

:help smartindent
使用Map:inoremap # X^H#(^h通过CTRL-V CTRL-H输入)

qltillow

qltillow3#

对我来说,当我忘记禁用粘贴模式时,缩进也不能正常工作:set nopaste,当最初打开它进行复制粘贴时。

相关问题