在处理合并冲突时,通常DCVS 插入的>>>>>>
和对于我所在的文件在语法上不正确,并以红色突出显示。======
在处理合并冲突时,使用命令跳转到这些错误会很有用。当我键入时,:cnext
我只会收到“无错误”消息。这些是 Mercurial 合并冲突,所以我不能使用 Fugitive,但我通常更喜欢手动编辑合并冲突。
有没有办法跳转到文件中的下一个语法错误?我认为这些错误是由语法高亮文件决定的。
在处理合并冲突时,通常DCVS 插入的>>>>>>
和对于我所在的文件在语法上不正确,并以红色突出显示。======
在处理合并冲突时,使用命令跳转到这些错误会很有用。当我键入时,:cnext
我只会收到“无错误”消息。这些是 Mercurial 合并冲突,所以我不能使用 Fugitive,但我通常更喜欢手动编辑合并冲突。
有没有办法跳转到文件中的下一个语法错误?我认为这些错误是由语法高亮文件决定的。
您可以使用:lopen
打开包含错误/警告行的窗口。之后,导航到它们中的每一个。
实际的答案是,如果你有vim-unimpaired:lnext
,你可以使用它跳转到下一个错误,或者:lprev
,或者]land [l(那些是小写的 Ls),因为你不应该在没有它的情况下使用 Vim。
这实际上不会跳转到下一个红色/错误突出显示的文本组,但会跳转到您的语法插件指示的任何错误(并填充位置列表)。在 Vim中不可能跳转到特定的高亮组,因为还没有人费心去弄清楚如何。
插件SRDispHiGrp 很接近,但如果你无法从名称中分辨出来,那么它对于人类使用来说太令人费解和混乱了。
我认为你在正确的轨道上:cnext
。
:cnext
并且:cprevious
是 Vim QuickFix 命令;您可以通过使用使用 QuickFix 模式的代码验证插件来利用它们,例如用于 Python 的pyflakes.vim和用于 JavaScript 的jslint.vim / jshint.vim 。
这将导致语法错误用波浪形的红色下划线标记,而不是我相信您看到的纯红色语法错误突出显示。然后,您应该能够使用:cnext
并:cprevious
跳到下一个和上一个标记的错误。
:cn
- 下一个编译器消息
:cp
- 以前的
:cl
- 列表
您可以使用 ]s(向后)或 [s(向前),具体取决于您要查找下一个错误的方向。您需要处于正常模式才能使其工作,但这只是在 vim 中构建的,不需要扩展。