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?


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.