Faire une boucle cnext et cprevious au début

12

Si je cours :cnextalors que je suis déjà à la fin de la liste des correctifs, je reçois le message d'erreur

E553: No more items

et rien ne se passe. Au lieu de cela, lorsque j'entre :cnextà la fin de la liste, je voudrais que vim revienne à la première entrée de quickfix. Est-il possible de configurer vim pour ce comportement?

lwassink
la source
1
Déjà répondu plusieurs fois dans le passé. Voici un exemple.
Sato Katsura

Réponses:

17

Vous pouvez écrire quelques commandes:

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

Si l'exception est interceptée, elle passe au premier / dernier élément. Vous pouvez utiliser cabbrevpour ne pas avoir à utiliser les commandes majuscules:

cabbrev cnext Cnext
cabbrev cprev CPrev
cabbrev lnext Lnext
cabbrev lprev Lprev
Tommy A
la source