Ogni volta che vuoi cercare del testo in VIM, digiti /e quindi la stringa che stai cercando.
Tuttavia, quando la stringa è lunga e vuoi farlo più volte, c'è un modo per farlo in modo da non dover digitare /andthisreallylongstringpiù di una volta?
Ogni volta che vuoi cercare del testo in VIM, digiti /e quindi la stringa che stai cercando.
Tuttavia, quando la stringa è lunga e vuoi farlo più volte, c'è un modo per farlo in modo da non dover digitare /andthisreallylongstringpiù di una volta?
Risposte:
Premi "n" dopo aver completato una ricerca, quindi ripeterà l'azione precedente (ricerca).
Nandrà al risultato precedente.
/
q/mostrerà una finestra modificabile con tutti i termini di ricerca recenti.
/e Invio si ripeterà la ricerca precedente. Colpire ?e Invio ripeterà la ricerca precedente all'indietro.
/Ctrl-Fè un'alternativa a q/quella che potrebbe essere un mnemonico più semplice (ctrl-f == find). Come q, funziona anche per la modalità di comando.
Se la stringa cercata si trova sotto il cursore, è possibile digitare *per cercarla in avanti o #per cercarla all'indietro.
Come di solito cerco è qualcosa di simile;
Vim mantiene una cronologia delle tue ricerche, quindi se hai bisogno di ricerche precedenti puoi premere '/' e usare i tasti SU e GIÙ o <Ctrl-P> <Ctrl-N> per sfogliare la cronologia delle ricerche.
Puoi anche usare '?' invece di '/' per cercare all'indietro.
Mi piace anche usare:
set ignorecase smartcase
Ora sarà una ricerca con distinzione tra maiuscole e minuscole se nella stringa di ricerca sono presenti caratteri maiuscoli.
Altri due suggerimenti che possono rendere la tua ricerca più efficiente sono set hlsearche
set incsearch.
set hlsearch, beh, evidenzia i risultati della tua ricerca. Digita :nohper disattivarli quando non ti servono più.
set incsearch attiva la ricerca incrementale.
Estratto da :help incsearch
Durante la digitazione di un comando di ricerca, mostra dove corrisponde il modello, così come è stato digitato finora. La stringa corrispondente viene evidenziata. Se il modello non è valido o non trovato, non viene mostrato nulla. Lo schermo verrà aggiornato spesso, questo è utile solo su terminali veloci.
Senza incsearch, i risultati verranno visualizzati solo dopo aver premuto <CR>la parola chiave di ricerca.
Esempio:
Vuoi cercare wildignore

Digiti /wilde la prima corrispondenza viene evidenziata automaticamente.

Quindi digitare ie si passa alla corrispondenza corretta successiva.

Un altro suggerimento non ancora trattato: premendo i caratteri qe /, quindi , verrà visualizzato un elenco dei termini di ricerca precedenti. È possibile modificarli come qualsiasi altra riga di un documento, quindi premere Invio per riutilizzarli per una nuova ricerca.
Dopo aver premuto /per avviare la ricerca, è possibile scorrere verso l'alto per scorrere la cronologia delle ricerche.
Puoi inserire un'espressione regolare per evitare di dover digitare l'intero termine di ricerca: and.*longstring
Colpire / senza alcun argomento dopo non funziona per te? Su tutti i nostri sistemi, ciò provoca una ripetizione di qualsiasi ricerca effettuata per ultima.
C'è un bel modello che puoi seguire per cercare il testo strappato . Quindi non è nemmeno necessario digitare la parola in sé, se ci si è navigati con mezzi diversi da una ricerca. In breve, se sei sul primo carattere della parola che vuoi cercare:
v
e
y
/
Ctrl-r
0
Enter
(quindi continua alla prossima partita con n o N)
Tuttavia *(o #) esegue praticamente la stessa cosa di tutti questi comandi. L'unica differenza è che puoi essere flessibile in base alla quantità di parola che specifichi (anziché e, alla fine della parola, puoi selezionare quanto vuoi, ad es. 9l)
/string - Cerca avanti per stringa?string - Cerca di nuovo la stringan - Cerca la prossima istanza di stringaN - Cerca l'istanza precedente della stringaMolto tempo durante la programmazione che vorrò cercare aVeryLongVariableNameInTheProgram.
In vim puoi facilmente strappare il testo in un buffer / registro e quindi cercarlo:
"Bywper trascinare il testo aVeryLongVariableNameInTheProgramnel buffer B (scegli il tuo preferito, ho usato B)/^RB (barra, Ctrl-R, B) per incollare il buffer B sulla linea di ricercaOvviamente puoi anche strattonare fino alla fine della riga, ecc. Invece di strattonare una sola parola: mi capita di usare sempre la sequenza sopra.
Inoltre, è possibile incollare il contenuto di qualsiasi registro nel prompt di ricerca premendo Ctrl+ Re quindi il nome del registro, ad esempio, / Ctrl+ R0 Enter.
La stringa lunga in cui stai inserendo un nome variabile? O una lunga stringa che è nel tuo testo? Quindi premi *per cercare la parola / stringa sotto il cursore.