In questo tutorial su Linux imparerai le scorciatoie dell'editor VI, alcuni suggerimenti e alcuni hack per la produttività che possono essere utilizzati da ingegneri e sviluppatori DevOps.
Se sei un ingegnere DevOps o qualcuno che lavora su sistemi Linux, l'editor vi viene spesso utilizzato per modificare i file. Tuttavia, a differenza degli editor della GUI, gli utenti che usano per la prima volta l'editor VI vengono intimiditi a causa di varie sequenze di tasti per il controllo della modifica.
Tuttavia, puoi risparmiare tempo e aumentare la produttività con un po' di pratica e le scorciatoie dell'editor vi nelle tue attività quotidiane. Una volta presa la mano, inizierai ad amare l'editor VI. Inoltre, è un editor di testo molto potente nell'ecosistema Linux.
Scorciatoie dell'editor VI per principianti
In questo articolo, tratteremo le scorciatoie dell'editor VI necessarie che potresti utilizzare nelle attività quotidiane di Linux.
Ho anche scritto un articolo sull'apprendimento degli script di shell per DevOps. Gli hack dell'editor VI sono utili anche quando lavori con gli script della shell.
Modalità editor VI
Prima di entrare nelle scorciatoie, dovresti comprendere le cinque modalità di vim editor.
Ci sono cinque modalità nell'editor VI.
- Modalità normale
- Modalità inserimento
- Modalità visiva
- Modalità comando
- Modalità sostituzione
Modalità normale
Quando apri un file nell'editor VI, la modalità predefinita è Normal Mode
. In questa modalità, puoi scorrere il file con il cursore utilizzando diverse scorciatoie.
Di seguito sono riportate le scorciatoie per spostare il cursore in diverse direzioni. Se aggiungi un numero alla scorciatoia, il movimento viene moltiplicato.
VI Scorciatoia | Azione |
h | Sposta un carattere a sinistra (4h sposterà quattro caratteri a sinistra) |
j | Sposta una riga in basso ( 4j -> 4 righe in basso) |
k | Sposta una riga in alto (5k -> 5 righe in alto) |
l | Sposta un carattere a destra (8l -> 8 caratteri a destra) |
Successivamente, impareremo le scorciatoie per sfogliare le parole. Qui i caratteri minuscoli e maiuscoli hanno funzioni diverse.
VI Scorciatoia | Azione |
w | Va all'inizio della parola. C va all'inizio della parola successiva dopo lo spazio. |
b | Va all'inizio della parola precedente. B va all'inizio della parola precedente prima dello spazio bianco. |
e | Andato alla fine della parola. E va alla fine della parola prima dello spazio bianco. |
La scorciatoia successiva è richiesta la maggior parte delle volte quando lavori con i file.
VI Scorciatoia | Azione |
0 | Va all'inizio della riga |
$ | Va alla fine della riga |
Modalità di inserimento
In modalità di inserimento, puoi modificare il file. Di seguito sono riportate le scorciatoie per la modifica. Anche in questo caso, i caratteri minuscoli e maiuscoli hanno funzioni diverse.
VI Scorciatoia | Azione |
i | L'editor VI entra per inserirne altri. ( Io –> Va all'inizio della riga in modalità di inserimento) |
a | Il cursore si sposta sul carattere successivo in modalità di inserimento ( A – si sposta alla fine della riga in modalità Inserisci) |
o | Inserisce un nuovo dalla posizione corrente del cursore in modalità di inserimento. (O – inserisce una nuova riga sopra la posizione corrente del cursore in modalità di inserimento) |
Modalità visiva
La modalità visiva semplifica la selezione e la modifica del testo nell'editor VI. Per entrare nella modalità visuale basta inserire “v
“.
Potrai selezionare più righe.
Modalità di comando
In modalità comando, puoi eseguire comandi e manipolare il testo. Ad esempio, trova e sostituisci un testo nell'intero file.
Devi sapere quanto segue per lavorare con la modalità di comando.
VI Scorciatoia | Azione |
s | Per avviare la modalità di comando |
% | Considera tutte le righe nel file. |
s | per la sostituzione. |
/g | cambiamento globale |
Vedremo alcuni degli esempi per la modalità di comando più avanti nell'articolo.
Modalità sostituzione
La modalità Sostituisci consiste nel sostituire i testi esistenti in un documento.
posiziona il cursore sul primo carattere di un'opera e inserisci “R
” in modalità normale. Una volta che inizi a digitare, la parola verrà sostituita.
Configurazione dell'ambiente VI Editor
Prima di immergerti in scorciatoie e comandi, devi comprendere le impostazioni dell'editor vi. Puoi impostare tutti i parametri dell'editor vi necessari nel ~/.vimrc
file che verrà caricato per impostazione predefinita.
Se non hai il vimrc
file, creane uno usando touch ~/.vimrc
Di seguito sono riportati i parametri comuni di cui potresti aver bisogno nel vimrc
file.
set number set autoindent set shiftwidth=4 set softtabstop=4 set expandtab
Il set number
parametro imposterà il numero di riga per il tuo editor vi.
Puoi impostarlo e deselezionarlo temporaneamente eseguendo :set nonumber
dall'editor
Taglia copia e incolla nell'editor Vi
Segui i passaggi indicati di seguito per copiare e incollare utilizzando la modalità visiva.
- Entra nella modalità visiva usando
ESC + v
e spostare il cursore per selezionare la stringa che si desidera copiare. - Utilizza
V
maiuscola per selezionare l'intera riga. - Usa
d
per tagliare oy
da copiare. - Posiziona il cursore nella posizione desiderata e premi
p
da incollare.
La seguente Gif mostra la demo.
Eliminazione di righe e parole
Ecco come eliminare righe e parole nell'editor VI.
- Posiziona il cursore sulla riga che vuoi eliminare e premi
dd
per eliminare quella riga - Per eliminare un numero specifico di righe, puoi utilizzare
d10d
. Questo cancellerà 10 righe a partire dal cursore . Puoi dare un numero qualsiasi al posto di 10 in base alle tue esigenze. - Per selezionare ed eliminare una riga specifica, usa
Shift + V
(Modalità visiva) e quindi utilizzare le frecce su e giù per la selezione. Una volta selezionate le righe, premered
per eliminare tutte le righe selezionate.
Per eliminare le parole, abilita la modalità di inserimento (ESC + I) e puoi fare quanto segue.
Ctrl + w
cancellerà l'ultima parola in cui si trova il cursore.Ctrl + u
cancellerà tutte le parole che sono immediatamente a sinistra del cursore.
Ricerca e sostituzione di testi
Puoi cercare tra i tuoi file premendo /
in modalità normale.
Ad esempio, se vuoi cercare una parola chiave data
, dovresti procedere come segue.
/data
Per trovare l'occorrenza successiva, premi semplicemente n
Nota: Le ricerche fanno distinzione tra maiuscole e minuscole. Se desideri una ricerca senza distinzione tra maiuscole e minuscole, dovresti impostare
:set ignorecase
nell'editor.
Entra nella modalità di comando (ESC + :
) e utilizzare la seguente sintassi per sostituire un pattern.
:%s/pattern/replace/g
Utilizzare la seguente sintassi per sostituire ogni occorrenza con un prompt. Evidenzierà tutte le occorrenze. Puoi scegliere quale occorrenza sostituire e quale lasciare così com'è.
:%s/pattern/replace/gc
Converti in maiuscolo e minuscolo
In caso di conversioni di testo mantieni il cursore sulla riga e utilizza le seguenti scorciatoie in modalità normale (ESC
).
- Per convertire una riga in maiuscolo, usa
gUU
- Per convertire una riga in minuscolo, usa
guu
Copiare contenuti da un altro file in Vi Editor
Questo non è qualcosa che fai molto spesso. Tuttavia, se devi aggiungere il contenuto di un altro file al file corrente che stai modificando, posiziona il cursore sulla riga desiderata e puoi utilizzare la seguente sintassi nella modalità di comando. Il contenuto del file specificato verrà copiato dalla riga successiva del cursore.
:r /path/to/file
Ad esempio, se copi le informazioni sulla CPU in un file esistente, utilizzerai il comando seguente.
:r /proc/cpuinfo
Esecuzione/Copia di contenuti da Command
Puoi eseguire altri comandi Linux all'interno dell'editor in modalità comando (ESC + :
)
Per eseguire comandi dall'editor, puoi usare :! <command>
. Ad esempio,
:! pwd
Se vuoi che l'output di un comando venga copiato nel file di modifica, puoi usare :r! <command>.
Ad esempio,
per ottenere e copiare eth0
Indirizzo IP, potresti fare quanto segue.
:r! ip addr | grep eth0 | grep inet | awk '{print $2}' | cut -d / -f1
Aiuto dell'editor Vi
Ci sono così tante cose che puoi fare con l'editor VI.
Se vuoi diventare un utente esperto dell'editor di VI, dovresti utilizzare la funzionalità del tutor VIM.
vimtutor
Apre un tutorial da riga di comando nel tuo terminale. E puoi usare tutti i normali comandi vi per sfogliare il documento della guida.
Conclusione
VI è un editor molto potente.
Comprendere tutte le funzionalità e tutte le scorciatoie dell'editor vi richiede tempo e pratica costante.
Ho spiegato alcuni comandi, suggerimenti e scorciatoie dell'editor vi che faranno risparmiare tempo lavorando con l'editor vi.
Se pensi di avere dei suggerimenti, condividili con noi nella sezione commenti. Potrebbe aiutare gli altri.
Se stai iniziando come DevOps Engineer, dai un'occhiata anche agli importanti comandi per la risoluzione dei problemi di Linux.