Vim的Python代码缩进错误(使用Python模式插件)
如下面的屏幕显示,我演示了Vim在向Python代码添加注释时的奇怪行为。在演示1和演示2之间,我只是在不同的缩进级别(在类定义中)开始注释行 演示1 演示2 问题是: 如屏幕播放结束时所示,只有在插入模式下键入Vim的Python代码缩进错误(使用Python模式插件),python,vim,python-mode,Python,Vim,Python Mode,如下面的屏幕显示,我演示了Vim在向Python代码添加注释时的奇怪行为。在演示1和演示2之间,我只是在不同的缩进级别(在类定义中)开始注释行 演示1 演示2 问题是: 如屏幕播放结束时所示,只有在插入模式下键入:才能正确缩进 理想的解决方案将实现: 在开始一行注释时,请正确保留缩进级别 这听起来像是vim设置问题。从vanilla vim开始,当我创建新行时,每行上都没有缩进。如果我在我的home目录中创建一个名为.vimrc的文件。i、 e.~/.vimrc并将 文件类型缩进插件打开 在
:
才能正确缩进
理想的解决方案将实现:
在开始一行注释时,请正确保留缩进级别 这听起来像是vim设置问题。从vanilla vim开始,当我创建新行时,每行上都没有缩进。如果我在我的
home
目录中创建一个名为.vimrc
的文件。i、 e.~/.vimrc
并将
文件类型缩进插件打开
在文件中,我得到了预期的缩进行为。这对你有用吗 我的解决方案
我把下面这句话注释掉了,一切都很顺利。没有对评论作进一步奇怪的更正。
智能对齐
我的Vim的其他信息:
为便于缩进,以下是设置:
filetype plugin on
filetype indent on
set autoindent
另外,已经验证了python模式
没有故障。无论使用python模式
还是不使用,set smartindent
总是让我遇到问题
暂定结论:
set smartindent
可能无法正常工作,我的折叠方法指定如下。此类设置位于C:/vim/vimfiles/ftplugin/python.vim
setlocal formatoptions=crnqj
下面是所用字符的对应关系,但似乎没有一个是问题
:使用textwidth自动换行注释,自动插入当前注释的前导c
:在插入模式下点击r
后,自动插入当前注释标题
:格式化文本时,识别编号列表。这实际上使用 “formatlistpat”选项,因此可以使用任何类型的列表。这个 数字后的文本缩进用于下一行。这个 默认值是查找一个数字,可以选择后跟“.”、“:”、“)”, “]”或“}”。请注意,还必须设置“自动缩进”。不起作用 与“2”一起使用。 例如:n
:允许使用“gq”格式化注释。 请注意,格式设置不会更改空行或包含 只有评论负责人。在这样一行之后开始一个新段落, 或者当注释引线更改时q
:如果有意义,请在连接行时删除注释引线j
- 直接回答:
- 其他引用参考文献:
简言之,我在编辑Python脚本时观察到的并不仅仅是“Python文件类型”。它与符号“hash”有关 请给我看看你的vimrc。尤其是indentkeys、indentexpr、已安装插件、@mattn,由于
set smartindent
,这似乎更像是一个不兼容的问题?我不再有上述问题后,简单地删除这样的设置。啊,似乎smartindent受影响。如果您不记得设置了该选项,可以使用:verbose set smartindent
确认设置的位置。如果您可以使用autocmd filetype python setlocal nosmartident对filetype=python禁用它,那么我同意这是一个副本。我可以删除这个问题吗?@dlmeetei
1. the first item
wraps
2. the second item