我能否阻止Syntastic打开位置列表?

8

我处理很多庞大的旧文件,之前的开发人员并不总是遵循适当的代码风格,因此 Syntastic 给出了很多我现在不关心的 Linting 错误。我将 Syntastic 设为被动模式,并手动检查文件,然后关闭位置列表,这个方法非常有效。但是,手动检查后,每次我 :w 保存文件时,位置列表都会重新打开并显示以前的错误。我无法找到防止这种情况发生的方法。有什么建议吗?


1
Syntastic并不是一款心灵读者。因此,您应该运行:SyntasticReset来让它知道您希望它保持安静,而不仅仅是关闭错误窗口。 - lcd047
谢谢,我之前没听说过这个函数。我想我得在检查后运行它,这样一切都会保持关闭状态,直到我需要它们。 - gignosko
@lcd047:为什么它会以被动模式打开位置列表? - Eugene Yarmash
由于BufEnter触发通知刷新,因此当您切换缓冲区时,错误窗口会得到更新。 - lcd047
@lcd047 很高兴知道这一点,感谢你澄清了这个问题。 - gignosko
2个回答

11

可以使用syntastic_auto_loc_list=0来防止位置列表打开。一个非常低调的设置是:

let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 0
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
let g:syntastic_auto_jump = 0

结合高亮显示,更好地查看错误:

hi SpellBad term=reverse ctermbg=darkgreen

0

你的.vimrc文件中是否设置了syntastic_mode_map选项?这可能会影响Syntastic如何进行自动检查:

在被动模式下,仍会对“active_filetypes”数组中的文件类型进行自动检查(忽略“passive_filetypes”)。在主动模式下,不会对“passive_filetypes”数组中的任何文件类型进行自动检查(忽略“active_filetypes”)。


是的,我在我的vimrc中将模式映射设置为被动模式,这样就关闭了自动检查。但是每次我保存或从另一个缓冲区移动到该缓冲区时(例如拆分),位置列表都会打开。 - gignosko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接