La necessità di imparare come utilizzare gli editor di testo in Linux è indiscutibile, poiché ogni amministratore di sistema si occupa quotidianamente di file di configurazione (testo normale) e molte volte ciò avviene esclusivamente utilizzando uno o più strumenti da interfaccia a riga di comando (come nano, vim o emacs).
Anche se nano è forse più adatto per gli utenti nuovi, vim o emacs sono lo strumento preferito per gli utenti più esperti grazie alle loro capacità avanzate.
Ma c’è ancora un’altra ragione per cui imparare a usare uno di questi editor di testo dovrebbe essere una priorità assoluta per te: potresti imbatterti in un server solo CLI o avere problemi con il gestore desktop nel tuo server o desktop Linux basato su GUI e l’unico modo per esaminarlo e modificare i file di configurazione è la riga di comando.
Tra questo articolo e il successivo di questa serie di 2 articoli, esamineremo 15 suggerimenti e trucchi per migliorare le tue competenze con vim. Si presume che tu sia già familiare con questo editor di testo.
Se non lo hai già fatto, fatti un favore e familiarizza con vim prima di procedere ulteriormente: potresti voler consultare come utilizzare l’editor di testo vim per una guida molto dettagliata su come iniziare con vim.
1. Accesso all’aiuto online in Vim
Dopo aver avviato vim, premi F1
o usa :h
in modalità ex per accedere all’aiuto online. Puoi passare a una sezione o a un argomento specifico posizionando il cursore su di esso e premendo quindi Ctrl+]
(Ctrl
, quindi la parentesi quadra di chiusura).
Dopo aver finito, premi Ctrl+t
per tornare alla schermata precedente. In alternativa, puoi cercare un argomento o un comando specifico con :h <argomento o comando>
.
Per esempio,
:h x
mostrerà l’aiuto per il comando x (delete):

e
:h substitute
porterà l’aiuto sul comando substitute (il nostro ultimo suggerimento in questo articolo).
2. Aggiungere segnalibri all’interno dell’editor Vim
Se ti trovi a modificare un file più grande di una schermata, apprezzerai la funzionalità fornita dai segnalibri. Puoi pensare a un segnalibro in vim come a un segnalibro: una volta posizionato da qualche parte, puoi tornarci rapidamente e facilmente.
Supponi di essere in fase di modifica di un file di configurazione di 300 parole e per qualche motivo devi ripetutamente passare tra le righe 30 e 150, ad esempio.
Vai alla riga #30 inserendo :30
in modalità ex, quindi torna alla modalità comando e premi ma (m, poi a) per creare un segno chiamato “a” alla riga 30.
Successivamente vai alla riga 250 (con :250
in modalità ex) e premi `a
(accento grave, poi a) per tornare al segno a alla riga 30.
Puoi usare lettere minuscole e maiuscole per identificare i segni in vim (ora ripeti il processo per creare un segno chiamato A alla riga #250).
Puoi visualizzare i tuoi segni con
:marks aA

Come puoi vedere, ogni segno è riferito da una specifica posizione riga/colonna nel file, non solo dalla riga.
3. Pulizia del codice senza sforzo in Vim
Supponiamo che stai modificando uno script shell e ti rendi conto che il precedente sviluppatore non era molto bravo con l’indentazione. Vediamo come puoi risolvere il problema con un paio di comandi vim.
Per prima cosa, seleziona un blocco visivo posizionando il cursore all’inizio del blocco, quindi premendo Ctrl+v
(Ctrl, poi v).
- Per indentare a sinistra: premi
<j
- Per indentare a destra: premi
>j
Quindi premi il .
(punto) per ripetere l’indentazione desiderata. Il blocco selezionato si sposterà a destra o a sinistra con un solo colpo di tastiera.
Un altro esempio classico di utilizzo del comando dot è quando è necessario eliminare una serie di parole: posiziona il cursore sulla prima parola che desideri eliminare, quindi premi dw.
Per continuare a eliminare le parole successive, premi semplicemente .
(più breve e più semplice che ripetere dw più volte).
4. Inserimento di Caratteri Unicode in Vim
Se la tua tastiera non ti consente di inserire facilmente caratteri speciali Unicode in un file, o se ti trovi di fronte a un server con impostazioni linguistiche diverse da quelle a cui sei abituato, questo trucco ti sarà utile.
Per farlo, premi Ctrl+v
in modalità inserimento seguito dalla lettera u
e dal codice numerico esadecimale del carattere che desideri inserire.
Puoi consultare le tabelle Unicode per un elenco di caratteri speciali e dei relativi codici numerici.
Ad esempio,
Ctrl+v followed by | returns |
u0040 | @ |
u00B5 | μ |
u20AC | € |
5. Incorporare l’Output di Comandi Esterni in Vim
Ci saranno momenti in cui avrai bisogno di inserire direttamente l’output dei comandi esterni in un file in fase di modifica con vim.
Ad esempio, spesso creo una variabile chiamata DIR
nei miei script per memorizzare il percorso assoluto della directory in cui risiede lo script per usarlo successivamente nello script.
Per farlo, uso:
:r! pwd
in modalità ex. Così, la directory di lavoro corrente viene inserita.
Ecco un esempio: se è necessario utilizzare il gateway predefinito in uno script, è possibile inserirlo facilmente nel file corrente senza uscire da vim nel modo seguente:
:!r ip route show | grep default | cut -f 3 -d " "
6. Aggiungere Contenuti Esterni in Vim
Se è necessario aggiungere i contenuti di un file separato a quello che si sta modificando, la sintassi è simile al suggerimento precedente. Basta omettere il segno di esclamazione e sei a posto.
Ad esempio, per copiare i contenuti di /etc/passwd:
:r /etc/passwd
Questo suggerimento potrebbe risultare utile quando è necessario modificare i file di configurazione ma si desidera mantenere quelli originali per tornare alle “impostazioni di fabbrica”, per così dire.
7. Cercare e Sostituire una Parola in Vim
Una volta, durante un esame, mi è stato chiesto di aprire un grande file di testo contenente dati casuali. Il compito assegnato consisteva nel sostituire ogni occorrenza della parola Globe con Earth (sì, ricordo ancora le parole esatte).
Per coloro che conoscono sed, questo suonerà familiare – in modalità ex, digitare:
:%s/old/new/g
dove vecchio è il modello da cercare e nuovo è la stringa che lo sostituirà.
Nel caso descritto sopra, ho usato:
:%s/Globe/Earth/g
per completare il lavoro.
E se volessi essere richiesto prima di effettuare le sostituzioni? Facile. Basta aggiungere una c alla fine del comando precedente, come segue:
:%s/old/new/gc
Le occorrenze del modello verranno evidenziate e ti verrà chiesto se desideri sostituirle con la nuova stringa:
:%s/gacanepa/me/gc

dove
- y: yes
- n: no
- a: substitute all
- q: quit
- l: substitute this occurrence and quit
- ^E (Ctrl+E): Scorri su di una schermata
- ^Y (Ctrl+Y): Scorri giù di una schermata
Riepilogo
In questo articolo, abbiamo iniziato a esaminare alcuni suggerimenti e trucchi di vim da aggiungere alle tue abilità di modifica del testo. Probabilmente ne penserai diversi altri, quindi condividili nel modulo di commento qui sotto e li prenderò in considerazione nel prossimo e articolo finale di questa serie su vim.
Source:
https://www.tecmint.com/learn-vi-and-vim-editor-tips-and-tricks-in-linux/