如何快速退出Vim的快速修复功能?

44

我知道在Vim中运行:make命令后,你可以使用命令:cn:cp来逐个查看每个错误。然而,我经常会在滚动过程中遇到不必修复的警告信息。有没有一种方法可以退出浏览错误/警告并恢复编辑?(我听说你可以设置Vim忽略警告,但被告知这很困难,所以我正在寻找更简单的方法)。


我曾经遇到过这个问题,这个黑魔法咒语解决了它:autocmd FileType qf nnoremap :Sd<CR> :q<CR>:Sd<CR>。qf是快速修复窗口的别名。:Sd是一个自定义命令,用于切换快速修复菜单,但它不在快速修复文件类型中运行。因此,在用户在其中输入关闭命令时进行拦截,然后发送纠正性补救代码以退出,从而将光标移动到顶部,然后运行:Sd,关闭快速修复窗口并恢复编辑。不要在胶带上吝啬,它是唯一支撑单位的东西。 - Eric Leschinski
3个回答

82

您可以通过运行以下命令关闭快速修复窗口

:ccl[ose]

如果您想再次打开快速修复窗口(而不必运行:make),则可以运行:

:cope[n]

即使快速修复窗口不可见,您仍然可以使用命令:cn:cp在其中向前和向后移动项目。
个人而言,我觉得:cn:cp命令相当繁琐,因此如果您经常使用它们,建议将它们映射到更方便的内容。unimpaired插件提供了合理的映射以通过快速修复列表移动
[q   :cprevious
]q   :cnext
[Q   :cfirst
]Q   :clast

16

如果你只想退出那个窗口,你可以像上面建议的那样做。

:ccl
或者甚至只是简单的
:q

在错误窗口中。 或者你可以通过 ctrl-w+w ctrl-w+k 快捷键来切换窗口...


7

我经常发现自己在滚动不需要修复的警告信息

两种解决方案:

  • 最佳解决方案:将编译器设置为最高警告级别,并更改您的代码以消除所有警告。

  • 最糟糕的解决方案:设置“errorformat”以使警告不会出现。查看 :help errorformat. 如何做取决于您的编译器输出格式。

有没有一种方法可以停止滚动 通过错误/警告并恢复 编辑?

嗯,也许我理解你的问题有误,但我会这样做: 至少打开两个窗口。一个显示错误/警告(快速修复窗口),另一个显示您的代码。只需从快速修复到代码窗口切换焦点即可继续输入代码。


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