用Vim编辑python时出错

2024-10-01 09:23:42 发布

您现在位置:Python中文网/ 问答频道 /正文

当我在Vim中编辑python文件(使用MacVim)并按o插入新行时,Vim抛出以下错误:

Error detected while processing function <SNR>20_CheckAlign..GetPythonIndent:
line   30:
E121: Undefined variable: dummy
Press ENTER or type command to continue
Error detected while processing function <SNR>20_CheckAlign..GetPythonIndent:
line   30:
E15: Invalid expression: line('.') < 7 ? dummy : synIDattr(synID(line('.'), col('.')
, 1), 'name') =~ '\(Comment\|String\)$'

我怎么解决这个问题?在


Tags: 文件编辑linefunctionerrorvimdummywhile
3条回答

我解决了问题。每当文件的选项卡设置与编辑器的选项卡设置不同时,它都会抛出一个错误。例如,我的测试.py文件被设置为每个选项卡2个空格,选项卡扩展为空格,而我的编辑器设置为每个选项卡4个空格,不展开。在

因此,解决方案的方法是将Vim的tab设置设置为正在编辑的python文件的设置。在

在python文件中使用以下modeline,以确保其选项卡设置是一致的。在

# vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4

或者,也可以在.vimrc文件中设置它们。在

^{pr2}$

在使用这些python文件集时,确保这些文件的最小一致性。 还有一些很好的vimrc示例可以使用。在

更改缩进设置对我不起作用,所以我通过修改python缩进文件(/path/to/vim/indent)来解决这个问题/Python.vim). 在

GetPythonIndent函数中,我简单地将dummy的所有实例替换为0。这就解决了我的问题。在

或者,您可以将s:maxoff设置为可笑的高,但这有点不太优雅。在

相关问题 更多 >