跳转到以红色突出显示的下一个错误/代码

时间:2011-06-15 17:27:38

标签: vim syntax keyboard-shortcuts merge-conflict-resolution

在处理合并冲突时,通常DCVS插入的>>>>>>======在语法上对于我所在的文件不正确,并以红色突出显示。处理合并冲突时,让命令跳转到这些错误会很有用。当我输入:cnext时,我收到消息“No Errors”。这些是Mercurial合并冲突所以我不能使用Fugitive,但我通常更喜欢手工编辑合并冲突。

有没有办法跳转到文件中的下一个语法错误?我认为这些错误是由语法高亮文件决定的。

3 个答案:

答案 0 :(得分:51)

您可以使用:lopen打开包含错误/警告行的窗口。之后,导航到每个人。

实际答案是您可以使用:lnext跳转到下一个错误,或:lprev] l [ l (那些是小写的Ls),如果你有vim-unimpaired,那你就不应该使用Vim。

这将实际跳转到下一个红色/错误突出显示的文本组,但会跳转到您的语法插件指示的任何错误(并填充位置列表)。 Vim中不可能跳转到特定的突出显示组,因为没有人费心去弄清楚如何。

插件SRDispHiGrp很接近,但是如果你不能从名字中辨别出来,那就太过让人感到沮丧和困惑。

答案 1 :(得分:13)

我认为你与:cnext走在了正确的轨道上。

:cnext:cprevious是Vim QuickFix命令;您可以使用使用QuickFix模式的代码验证插件来利用它们,例如Python的pyflakes.vim和JavaScript的jslint.vim / jshint.vim

这将导致语法错误被标记为波浪形的红色下划线,而不是突出显示我认为你看到的纯红色语法错误。然后,您应该可以使用:cnext:cprevious跳转到下一个和之前标记的错误。

答案 2 :(得分:1)

基于StackOverflow上的a question,此plugin called SrchRplcHiGrp将帮助您完成任务。