使cnext和cprevious循环回到开始


12

如果我:cnext已经在快速修复列表的末尾运行,我会收到错误消息

E553: No more items

并没有任何反应。取而代之的是,当我输入:cnext列表的末尾时,我希望vim循环回到第一个quickfix条目。是否可以为此行为配置vim?


1
过去已经回答了很多次。 是一个例子。
佐藤桂2016年

Answers:


17

您可以编写一些命令:

command! Cnext try | cnext | catch | cfirst | catch | endtry
command! Cprev try | cprev | catch | clast | catch | endtry

command! Lnext try | lnext | catch | lfirst | catch | endtry
command! Lprev try | lprev | catch | llast | catch | endtry

如果捕获到异常,它将跳到第一项/最后一项。您可以使用,cabbrev因此您不必使用大写的命令:

cabbrev cnext Cnext
cabbrev cprev CPrev
cabbrev lnext Lnext
cabbrev lprev Lprev
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.