C'è un modo per cercare del testo in una cartella e visualizzare i risultati della ricerca in un buffer separato in Vim? (Come Sublime Text Ctrl + Shift + F
risultati)Testo di ricerca Vim nella cartella
risposta
No, non è necessario qualsiasi plug-in. Il valore predefinito :vimgrep
(o :vim
) è tutto ciò che è necessario.
Cerca foo
in ogni file nella directory corrente:
:vim foo * | cw
Cerca foo
in ogni file JavaScript nella directory corrente:
:vim foo *.js | cw
Cerca foo
in ogni file JavaScript nella directory corrente in modo ricorsivo:
:vim foo **/*.js | cw
Cercare la parola corrente in ogni file nella directory corrente:
:vim <C-r><C-w> * | cw
:vim <cword> * | cw
(edit: uso :cw[indow]
invece di :copen
)
Suona come è necessario ack.vim
:
Questo plugin è un fronte per il modulo Perl :: App Ack. Ack può essere utilizzato come sostituto del 99% degli usi di grep. Questo plugin ti consentirà di eseguire ack da vim e mostrerà i risultati in una finestra divisa.
Usage:
:Ack [options] {pattern} [{directory}]
Search recursively in {directory} (which defaults to the current directory) for the {pattern}.
file contenenti il termine di ricerca saranno elencati nella finestra divisa, insieme con il numero di riga del verificarsi, una volta per ogni occorrenza. [Invio] su una riga in questa finestra aprirà il file e posizionerà il cursore sulla linea corrispondente.
I :grep
delegati comando Vim la ricerca al grep
strumento esterno (o un'alternativa compatibile come ack
, impostato tramite 'grepprg'
). In alternativa, è possibile utilizzare :vimgrep
, che esegue la ricerca all'interno di Vim. Ciò consente di utilizzare le stesse espressioni regolari di stile Vim e modelli glob (come **/
), ma di solito è più lento perché ogni file viene letto in un buffer Vim.
Entrambi i comandi visualizzano i risultati nella finestra di aggiornamento rapido, da cui è possibile accedere alle corrispondenze.
Per questo non sono necessari plug-in, sebbene siano disponibili diversi che tentano di semplificare la gestione o supportano diversi comandi di ricerca (ad esempio il già citato ack.vim).
- 1. consolidamento dei file vim nella cartella ~/.vim
- 2. Come ottenere MVC alla vista di ricerca nella cartella nidificata
- 3. Vim ricerca incrementale risultato successivo
- 4. Ricerca incrementale Vim
- 5. Ricerca e sostituzione VIM
- 6. Testo sublime: esclude i commenti nella ricerca
- 7. Ricerca di testo completo
- 8. Come assegnare il testo tra parentesi nella variabile in vim
- 9. Come si evitano i backslash e le barre in avanti nella ricerca/ricerca VIM?
- 10. vim: ricerca e sostituzione per "&"
- 11. API di ricerca testo Java di Google App Engine non funziona come Python nella ricerca stringa
- 12. Testo sublime 2 trova nella cartella con estensione file
- 13. Vim di ricerca e sostituzione efficienza
- 14. Testo barrato in vim?
- 15. Come andare avanti nella ricerca e nella navigazione dei tag VIM?
- 16. ricerca nella tabella html
- 17. modello di ricerca vim per una riga di testo strattonata in modalità visiva
- 18. ricerca di testo in javascript?
- 19. Vim: incolla il registro di ricerca nella riga di comando senza parentesi.
- 20. Come limitare l'ambito di ricerca in VI/VIM?
- 21. File recenti nella cartella
- 22. Ricerca e sostituzione Vim, aggiunta di una costante
- 23. Eliminazione/modifica del testo cercato in Vim
- 24. Come copiare il testo dalla modalità riga di comando in Vim durante la ricerca
- 25. ricerca testo blob oracle
- 26. MongoDB Ricerca di testo E più parole di ricerca
- 27. Ricerca di Windows - ricerca di testo completo in C#
- 28. Come rendere il wrap di ricerca di vim più ovvio?
- 29. Evidenziazione di ricerca simile a ViM in Visual Studio possibile?
- 30. Involucro del testo in vim
sembra bello, ma c'è un modo per aprire un file con uno dei trovati risultati senza concentrare il suo buffer? –
Naturalmente. Vedi ': h quickfix'. Ad esempio ': cc5' per passare all'errore numero 5,': cn' per passare all'errore successivo, ': cN' o': cp' per passare all'errore precedente ... – romainl
Capito, grazie! –