Vim自动删除Python注释中的缩进

这个问题在这里已经有了答案:

  • 如何配置vim不要在编辑python文件时在行的开头放置注释8个答案

  • 设置smartindent使Vim的行为就像你为我描述的一样,而使用nosmartindent (这是我倾向于使用的),它的行为就像你喜欢的那样。

    更新:从smartindent文档:

    当在新行中输入“#”作为第一个字符时,该行的缩进被删除,'#'被放入第一列。 下一行恢复缩进。 如果你不想要这个,使用这个映射:“:inoremap#X ^ H#”,其中^ H是用CTRL-V CTRL-H输入的。 当使用“>>”命令时,以'#'开头的行不会右移。

    这似乎是。


    更新:可能不需要打扰以下...我将把它留在这里以增加信息价值。 ;-)

    如果设置nosmartindent没有帮助,也许你可以使用:set命令 - 不带任何参数 - 获得Vim会话中所有有效设置的列表,然后将它粘贴到某处(也许在Pastie上)。 据我所知,还有一些影响自动缩进的选项。


    尽管Michał的文章解释了smartindent的作用,但你可以做得比只关闭它好很多。 您可以根据自己的喜好进行更多的配置,或者更好地让Vim为您选择更好的缩进。 在vimrc中使用以下代码而不是其他缩进设置:

    filetype indent on
    

    Vim会自动为python使用正确的缩进插件。 这比仅仅不去除缩进#行更好 - 几乎所有东西都应该正确缩进。


    你只能为python文件尝试一个选项:

    autocmd BufRead *.py inoremap # X<c-h>#<space>
    
    链接地址: http://www.djcxy.com/p/49527.html

    上一篇: Vim automatically removes indentation on Python comments

    下一篇: Indentation changes in new tab