Introduzione
Vim e la sua controparte precedente Vi sono editor di testo ampiamente utilizzati. Sono entrambi open source (gratuiti) e disponibili sulla maggior parte delle distribuzioni Linux e macOS.
La ricerca in Vim/Vi di parole o schemi è un'attività comune che ti consente di navigare facilmente tra file di grandi dimensioni.
Questo tutorial ti mostra come cercare in Vim/Vi con esempi pratici.
Importante :assicurati di essere in Modalità normale prima di iniziare la ricerca. Ciò consente la navigazione all'interno del testo durante l'utilizzo dei normali comandi dell'editor. Vi e Vim aprono un file in modalità normale per impostazione predefinita.
Per passare alla modalità normale, premi Esc .
Ricerca di base in Vim/Vi
Ci sono due modi per cercare uno schema di numeri o lettere nell'editor di testo Vim/Vi.
1. Cerca in avanti il modello specificato
2. Cerca all'indietro il modello specificato
La direzione è determinata in relazione alla posizione del cursore.
Cercare in avanti il prossimo risultato di una parola
Per cercare in avanti , usa il comando:
/pattern
Sostituisci pattern
con l'articolo o gli articoli che desideri trovare.
Ad esempio, per cercare tutte le istanze del pattern "root" , dovresti:
1. Premi Esc per assicurarsi che Vim/Vi sia in modalità normale.
2. Digita il comando:
/root
L'editor di testo evidenzia la prima istanza del pattern dopo il cursore. Nell'immagine qui sotto, puoi vedere che il risultato fa parte di una parola che contiene il modello specificato. Questo perché il comando non specifica di cercare parole intere.
Da questa posizione, seleziona Invio e:
- passa all'istanza successiva del picchiettio nella stessa direzione con
n
- passa all'istanza successiva del pattern nella direzione opposta con
N
Cercare una parola all'indietro
Per cercare indietro digita:
?pattern
Sostituisci pattern
con l'articolo o gli articoli che desideri trovare.
Ad esempio, per cercare tutte le istanze del pattern "nologin" , dovresti:
1. Premi Esc per assicurarsi che Vim/Vi sia in modalità normale.
2. Digita il comando:
?nologin
Vim/Vi evidenzia la prima istanza del pattern specificato prima del cursore.
Premi Invio per confermare la ricerca. Quindi, puoi:
- passa all'istanza successiva del pattern nella stessa direzione con
n
- passa all'istanza successiva del pattern nella direzione opposta con
N
Ricerca della parola corrente
La parola corrente è la parola in cui si trova il cursore.
Invece di specificare il modello e chiedere a Vim/Vi di trovarlo, sposta il cursore su una parola e indicagli di trovare l'istanza successiva di quella parola.
1. Innanzitutto, assicurati di essere in modalità normale premendo Esc .
2. Quindi, sposta il cursore sulla parola desiderata.
3. Da qui puoi:
- Cerca l'istanza successiva della parola con
*
- Cerca l'istanza precedente della parola con
#
Ogni volta che premi *
o #
il cursore si sposta sull'istanza successiva/precedente.
Cercare parole intere
Per cercare parole intere, usa il comando:
/\<word\>
L'editor di testo evidenzia solo la prima parola intera esattamente come specificato nel comando.
Apri un file in una parola specifica
Vim (e Vi) possono aprire file in una parola specifica permettendoti di saltare un passaggio e andare direttamente al termine cercato.
Per aprire un file in una parola specifica, usa il comando:
vim +/word [file_name]
o
vi +/word [file_name]
Ad esempio, per aprire /etc/passwd file in cui utilizza per la prima volta il termine "root" , usa il comando:
vim +/root /etc/passwd
L'editor di testo apre il file e la prima riga che mostra è quella contenente il termine "root" , come nell'immagine qui sotto.
Ricerca senza distinzione tra maiuscole e minuscole
Per impostazione predefinita Vi(m) fa distinzione tra maiuscole e minuscole durante la ricerca all'interno del file. Ad esempio, se cerchi il termine /user
non mostra i risultati con la U maiuscola (ovvero, Utente ).
Esistono diversi modi per rendere Vim/Vi senza distinzione tra maiuscole e minuscole.
- Per cercare una parola specificata con l'attributo senza distinzione tra maiuscole e minuscole, esegui il comando:
/\<word\>\c
Il \c
l'attributo indica a Vi(m) di ignorare maiuscole e minuscole e visualizzare tutti i risultati.
- Un'alternativa è impostare Vim in modo che ignori le maiuscole durante l'intera sessione per tutte le ricerche. Per farlo, esegui il comando:
:set ignorecase
- Infine, il file di configurazione può essere modificato in modo che l'editor di testo ignori le maiuscole in modo permanente. Apri ~/.vimrc file e aggiungi la riga
:set ignorecase
.
Evidenzia i risultati di ricerca
Vi(m) ha un'utile funzione che evidenzia i risultati della ricerca nel file. Per abilitare l'evidenziazione, digita il seguente comando nell'editor di testo:
:set hlsearch
Per disabilitare questa funzione esegui:
:set !hlsearch
Cronologia delle ricerche
Vi(m) tiene traccia dei comandi di ricerca utilizzati nella sessione. Sfoglia i comandi utilizzati in precedenza digitando ?
o /
e utilizzando il su e basso chiavi.