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

E553: No more items


,但什么也没有发生。取而代之的是,当我在列表末尾输入:cnext时,我希望vim循环回到第一个quickfix条目。是否可以为此行为配置vim?

评论

过去已经回答了很多次。这是一个例子。

#1 楼

您可以编写一些命令:

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