Vim Trova e sostituisce

Vim Trova e sostituisce
VI/VIM è uno dei leggendari redattori di testo là fuori che trova ancora il suo posto nell'arsenale di utenti avanzati e professionali. Vim è particolarmente popolare tra i programmatori. Ogni singola distribuzione Linux là fuori include VIM per impostazione predefinita. Se stai eseguendo un sistema non Linux, dovresti comunque essere in grado di goderti questo editor di testo di qualità da qualsiasi sistema. Ottieni Vim.

Perché questo antico pezzo di software è ancora rilevante? Perché è un collegamento leggero e tastiera per quasi tutte le funzioni, ricerche di espressione integrata e un ecosistema di plug-in robusto, stabile e sano. Per non parlare di altre caratteristiche dell'editor di testo moderno come una bellissima evidenza di sintassi. Troverai VIM per lo più popolare tra i programmatori perché VIM richiede un forte focus della tastiera. Questa è una buona pratica per i programmatori.

Come suggerisce il titolo dell'articolo, l'obiettivo di questa guida è offrirti una migliore comprensione della ricerca e sostituire le funzionalità di VIM. Vim non è niente di cui avere paura. In effetti, è uno dei superpoteri che avrai sempre al tuo fianco.

Creazione di file demo

Inizialmente, abbiamo bisogno di un testo demo. Per l'apprendimento di Vim, il modo più sicuro è creare un file di testo usa e getta e fare quello che vuoi con esso. In questo modo, anche se qualcosa va storto, non si perde nulla di importante.

Sto usando Manjaro Linux come sistema Linux. Scopri come installare Manjaro Linux. È una distribuzione basata su arco che utilizza Pacman come responsabile dei pacchetti predefiniti. Ho generato un file di testo contenente tutti i pacchetti installati sul mio sistema.

Pacman -qqe >> packagelist.TXT
CAT Packagelist.TXT

Ora avvia il file di testo in VIM!

Vim Packagelist.TXT

Search Vim

Per la ricerca, Vim utilizza la seguente struttura.

?

Ad esempio, cerchiamo "Python".

?pitone

Per impostazione predefinita, la ricerca si siederà a un risultato fisso. Per andare al risultato della ricerca successiva/precedente, utilizzare le seguenti chiavi.

Nota: non dimenticare di premere ENTER prima di utilizzare le seguenti chiavi. Altrimenti, il termine di ricerca cambierà!

N - Trova la prossima partita
N - Trova la partita precedente

Questo è solo il modo base di cercare. Proviamo un metodo un po 'più potente.

/\ \\>

Qui, \ è per la fine della stringa.

Proprio come l'esempio precedente, utilizzare N o N (Case-dipendente) per navigare nei risultati di ricerca.

La ricerca supporta anche usando wild card. Ad esempio, ci sono molti pacchetti con estensione "Python-".

Per cercarli tutti, possiamo usare "Python*". Qui, l'asterisco sta dicendo che qualcosa dopo il prefisso "Python". Per qualsiasi ricerca, l'asterisco può essere ovunque sul termine di ricerca. Ovunque si trovi, dice a VIM di colmare il divario con tutti i dati possibili dall'intero file di testo.

/\ \

Quando cerchi, Vim metterà sempre il cursore al carattere iniziale delle partite. questa è l'azione predefinita. Non preoccuparti; VIM consente di modificare la posizione predefinita dell'atterraggio del cursore.

/Python/E

Qui, l'ultimo "E" dice di raggiungere il cursore alla fine della frase corrispondente. Usando il seguente esempio, puoi anche dire di atterrare il cursore sotto o sopra il risultato della ricerca.

//+2
//-3

È anche possibile compensare il cursore dall'inizio/fine delle corrispondenze di ricerca. Ad esempio, il seguente comando farà atterrare il cursore a 3 caratteri accanto all'inizio.

//s+3
//B+3

Qui, la "S" indica l'inizio, "+3" indica 3 caratteri dall'inizio. "B" sta per "Inizia". Funziona anche simile a "S". Dallo screenshot, VIM tradurrà automaticamente "B" in "S".

Se sei interessato a compensare dalla fine delle partite di ricerca, usa "E".

/

Ecco un altro modo fantastico di eseguire una ricerca su un file di testo.

:%S/// gn

Una spiegazione dettagliata del comando è nella sezione successiva dell'articolo.

Vim Sostituisci

Trova e sostituzione è un'altra funzione comune e indispensabile per qualsiasi editor di testo di qualità. Vim, essendo una leggenda, offre un modo robusto di trovare e sostituire il testo desiderato in modo semplice. Il comando per la funzione è semplice ma consente di fare lavori davvero complessi.

: S///

Abbattiamo ogni parte.

  • intervallo - Definire la gamma di esecuzione della funzione "Trova e sostituire". Ci sono 2 valori diversi.
    • % - eseguire sull'intero file
    • , - Eseguire l'azione su un determinato set di linee.
  • Search_string - la stringa devi sostituire.
  • Sostituisci_string: la nuova stringa che sostituirà quella vecchia.
  • Modificatore: determinare il comportamento di sostituzione. Ci sono un paio di valori diversi.
    • G - opzione "globale". Eseguire la sostituzione su ogni occorrenza di una linea.
    • GC - Chiedi conferma prima di effettuare ogni sostituzione.
    • GN - Ignora la funzione di sostituzione ed evidenzia i reperti.

Ad esempio, sostituiamo tutto il "Python" con "Python3".

:%S/Python/Python3/G

Semplice, giusto? Ora, diamo un'occhiata a quello seguente.

:%S/Python/Python3/GC

Ci sono una manciata di azioni che puoi scegliere. Mentre alcuni di loro sono familiari, altri non lo sono. Vediamo cosa significa quelli.

  • Y - Consenti di eseguire il cambiamento.
  • N - Vuoli l'esecuzione del cambiamento.
  • A - Sostituisci tutto.
  • Q - Smettila.
  • L - Basta sostituire questo evento. Quindi, smettila.
  • ^E (Ctrl + E) - Scorri su uno schermo
  • ^Y (ctrl + y) - Scorri verso il basso uno schermo

Ora, proviamo la parte della gamma. Nell'esempio precedente, abbiamo già usato l'intervallo "%". Ora, è tempo di limitare le nostre ricerche all'interno di diverse righe.

: 200.250 S/Python/Python3/G

La ricerca inizierà alla riga 200 e terminerà alla riga 250. Tra i limiti, tutta la voce "Python" verrà cambiata in "Python3".

Questa funzione non è limitata solo a un termine di ricerca. Puoi includere più termini di ricerca!

:%S/\ |\ |
//G

Proviamo a cambiare tutte le voci "Python" e "Py" in "Python3".

:%s/python \ | py/python3/g

Sensibilità al caso

Tutti i trucchi descritti in precedenza nella guida sono altamente sensibili al caso. Devi davvero assicurarti che ogni volta che lavori, stai scrivendo i personaggi nel caso corretto. Ad esempio, "Python", "Python", "Python" ecc. Tutti sono voci diverse.

Se non ricordi il caso, dì a VIM di diventare ispessile sui casi!

/\C
:%S/\C//G

Questa insensibilità può anche essere abilitata direttamente dal file VIMRC.

Imposta ignorecase

Ecco un'altra opzione interessante.

Imposta SmartCase

L '"ignorecase" costringerà VIM a ignorare la sensibilità del caso. Tuttavia, se c'è qualche lettera maiuscola nella tua ricerca, la "SmartCase" consentirà a VIM di diventare di nuovo sensibile ai casi.

Nota: affinché "SmartCase" funzioni, è necessario prima "ignorecase".

Pensieri finali

Ci sono molte cose che puoi eseguire con VIM. È come l'ultimo editor di testo di cui hai mai bisogno. Tutto ciò di cui hai bisogno è solo pazienza e qualche pratica.

Godere!