合成和 Python 模式在一起



我已经在VIM中安装了python模式。但我也安装了Syntastic。既然两者都做语法检查,会不会有冲突?如何关闭 Python 文件的 Syntastic?

感谢您的任何帮助

要扩展@abjuk的答案,您可以根据文件扩展名禁用:

let g:syntastic_ignore_files = ['.py$']

不过,这仅适用于以 .py 结尾的文件。它不适用于 Vim 认为filetype=python的其他文件。例如,以类似 #!/usr/bin/env python 的 shebang 开头的文件仍将 Vim 置于 python 模式。

Syntastic 还支持syntastic_mode_map(见:h syntastic_mode_map),文档似乎表明应该允许根据文件类型禁用,但我无法让它工作。

另一种选择是启用 Syntastic,并禁用 python-mode 的语法检查:

let g:pymode_lint = 0

这就是我使用的,因为我更喜欢Syntastic。它解决了冲突,尽管它不完全是你所要求的。

这在手册中有答案(见:help syntastic-pymode):

Syntastic 可以与"python-mode"Vim 插件一起使用(见 https://github.com/klen/python-mode)。但是,当您将缓冲区保存到磁盘时,它们都默认运行语法检查,这可能不是您想要的。为了避免两个插件打开错误窗口,您可以在 syntastic 中为 python 设置被动模式(请参阅syntastic_mode_map),或者通过将 pymode_lint_on_write 设置为 0 来禁用"python-mode"中的 lint 检查。例如:

let g:pymode_lint_on_write = 0
我不

在python中工作,所以我不能告诉你是否会有冲突,但你可以关闭python文件的Syntastic - 见:h syntastic_ignore_files

我使用以下命令为文件类型为 python 的 Vim 缓冲区禁用合成(不让合成触发文件写入):

autocmd FileType python let g:syntastic_check_on_wq = 0

请参阅我的 .vimrc。

最新更新