Come posso trovare una stringa usando: argdo in vim?


1

Ho provato questo:

:argdo /pattern

Tuttavia, ha esaminato tutti i file molto rapidamente e non si è fermato in ogni posizione in cui è stata trovata la stringa. Voglio solo scorrere su tutte le posizioni in cui viene trovata una stringa, senza sostituirla.


1
Guarda:h vimgrep
FDinoff,

Risposte:


2

Vim ha un :sleepcomando che puoi usare nel tuo comando per mettere in pausa alcuni secondi ad ogni incontro. Ma una soluzione migliore sarebbe probabilmente quella di utilizzare :vimgrepo addirittura :vimgrepaddcreare un elenco di correzioni rapide che includa ogni file, che puoi quindi scorrere da solo con :cnext/ :cprev.


0

Probabilmente troverai questo screencast molto istruttivo.

Un'alternativa più semplice (e meno potente) e relativamente oscura (leggi :help :ilist):

:argdo ilist foo
:b <bufname>|<line number>

0

È possibile utilizzare :vimgrep /pattern/ ##.

Tale comando cercherà tra i tuoi file arglist (lo stesso elenco che argdoutilizza), caricherà le corrispondenze quickfixnell'elenco e ti porterà alla prima corrispondenza. È quindi possibile utilizzare :cnper passare alla partita successiva.

Se usi molto Quickfix, vale la pena installare vim-intatta . Ciò ti fornirà i mapping dei tasti per navigare rapidamente nell'elenco degli aggiornamenti rapidi (ad es. ]qAnziché :cn).

Questa pagina offre una buona panoramica di vimgrep e dell'uso dell'elenco di correzioni rapide. http://vimcasts.org/episodes/search-multiple-files-with-vimgrep/

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.