Il dominio di Vim continua: 8 suggerimenti più potenti per gli amministratori di Linux (Parte 2)

Nell’articolo precedente di questa serie, abbiamo esaminato 7 suggerimenti e trucchi da aggiungere al tuo set di competenze vi/m, oltre alle ragioni date in precedenza, imparare a usare in modo efficace un editor di testo in Linux è una capacità essenziale per un amministratore di sistema o ingegnere ed è una competenza richiesta per superare qualsiasi programma di certificazione Linux importante (come LFCS, LFCE, RHCSA e RHCE).

Detto questo, cominciamo.

8. Crea finestre Vim orizzontali o verticali

Questo suggerimento è stato condiviso da Yoander, uno dei nostri lettori, in Parte 1. Puoi avviare vi/m con divisioni orizzontali o verticali multiple per modificare file separati all’interno della stessa finestra principale:Avvia vi/m con due finestre orizzontali, con test1 in alto e test2 in basso

Avviare vi/m con due finestre orizzontali, con test1 in alto e test2 in basso

vim -o test1 test2 
Launch Vim Editor in Horizontal Windows

Avviare vi/m con due finestre verticali, con test3 a sinistra e test4 a destra:

vim -O test3 test4 
Launch Vim Editor in Vertical Windows

È possibile passare il cursore da una finestra all’altra con la normale routine di movimento di vi/m (h: destra, l: sinistra, j: in basso, k: in alto):

  • Ctrl+w k – in alto
  • Ctrl+w j – in basso
  • Ctrl+w l – a sinistra
  • Ctrl+w h – a destra

9. Cambiare maiuscole o minuscole in Vim

Si prega di notare che questi suggerimento funziona solo in vim. Nelle prossime esempi, X è un numero intero.

  • Per cambiare una serie di lettere in maiuscolo, posizionare il cursore sulla prima lettera, quindi digitare gUX in modalità ex, e infine premere la freccia destra sulla tastiera.
  • Per cambiare X numero di parole, posizionare il cursore all’inizio della parola, e digitare gUXw in modalità ex.
  • Per cambiare un’intera riga in maiuscolo, posizionare il cursore ovunque sulla riga e digitare gUU in modalità ex.

Ad esempio, per convertire un’intera riga in minuscolo in maiuscolo, si dovrebbe posizionare il cursore ovunque sulla riga e digitare gUU:

Change String to Uppercase in Vim Editor

Ad esempio, per convertire le parole in maiuscolo in minuscolo, dovresti posizionare il cursore all’inizio della prima parola e digitare gu2w:

Convert String to Lowercase in Vim Editor

10. Cancella il testo nel modo di inserimento di Vim

Mentre puoi cancellare caratteri o diverse parole alla volta nel modo ex (cioè dw per cancellare una parola), puoi anche farlo nel modo di inserimento come segue:

  • Ctrl + h: cancella il carattere precedente rispetto al punto in cui si trova attualmente il cursore.
  • Ctrl + w: cancella la parola precedente rispetto al punto in cui si trova attualmente il cursore. Affinché questo funzioni correttamente, il cursore deve essere posizionato in uno spazio vuoto dopo la parola che devi cancellare.
  • Ctrl + u: cancella la riga corrente a partire dal carattere immediatamente a sinistra del punto in cui si trova il cursore.

11. Sposta o copia righe esistenti all’interno di Vim

Mentre è vero che puoi usare i noti comandi dd, yy e p nel modo ex per cancellare, copiare (yank) e incollare righe, rispettivamente, questo funziona solo quando il cursore è posizionato dove si desidera eseguire tali operazioni.

La buona notizia è che con i comandi copia e sposta, puoi fare lo stesso indipendentemente da dove si trova attualmente il cursore.

Per il prossimo esempio, useremo una breve poesia dal titolo “Per Sempre” di Terri Nicole Tharrington. Per iniziare, mostreremo i numeri di riga in Vim (:set nu in modalità comando – considera questo un consiglio extra). Useremo :3copy5 (anche in modalità comando) per copiare la riga 3 sotto la riga 5:

Move Copy Existing Lines in Vim

Ora, annulla l’ultima modifica (Esc + u – un altro consiglio bonus!) e digita :1move7 per sostituire la riga 7 con la riga 1. Si noti come le righe 2 a 7 siano spostate verso l’alto e la riga 1 ora occupa la posizione 7:

Move Lines in Vim Editor

12. Navigazione e conteggio delle corrispondenze del modello in Vim

Questo consiglio si basa sulla sostituzione della riga (consiglio #7 in Parte 1 di questa serie), con l’eccezione che non rimuoverà nulla poiché il comportamento di sostituzione è sovrascritto dall’opzione n, che risulta nel conteggio delle occorrenze del modello specificato:

Assicurati di non omettere alcun delle barre rovesciate!

:%s/pattern//gn 

Ad esempio,

:%s/libero//gn
Count Matches by Search Pattern in Vim

Per spostarti da un’occorrenza del modello alla successiva in ex modalità, premi n (minuscola N). Per spostarti all’istanza precedente, premi N.

13. Aprire un file in Vim in una riga specifica

Per impostazione predefinita, quando avvii vi/m, il cursore viene posizionato nell’ultima riga che è stata modificata. Se vuoi aprire il programma e posizionare direttamente il cursore su una riga specifica, puoi usare il seguente trucco:

# vim filename +line_number

Ad esempio, apri forever.txt e posiziona il cursore sulla linea 6:

# vim forever.txt +6

Modifichiamo leggermente questo esempio. Supponiamo di voler aprire il file sulla riga in cui appare la 3° occorrenza del pattern:

# vim filename +$(grep -in pattern filename | sed -n 3p | cut -d: -f1)

Diamo un’occhiata più da vicino a cosa fa il comando sopra:

  • grep -in pattern filename – visualizza tutte le righe dal nome del file dove appare il pattern, con il numero di riga all’inizio di ogni riga di output.
  • sed -n 3p – visualizza la 3° riga dall’output precedente del pipeline.

Infine,

  • cut -d: -f1 restituisce il primo campo del pipeline precedente con il punto e virgola (:) come separatore di campo.
grep -in forever forever.txt
grep -in forever forever.txt | sed -n 3p
grep -in forever forever.txt | sed -n 3p | cut -d: -f1
Open Vim Editor in Specified Line

Il risultato del comando precedente viene quindi passato a vi/m per aprire il programma alla riga specificata.

14. Personalizzazione dell’ambiente Vim

Se usi vi/m per modificare i file di configurazione o per scrivere codice, vuoi poter visualizzare il numero

  • Vim for Linux Admins: 8 Powerful Tips and Tricks (Part 2)

di riga quando apri il programma e impostare l’indentazione automatica in modo che quando premi il tasto Enter, il cursore venga posizionato automaticamente nella posizione corretta. Inoltre, potresti voler personalizzare il numero di spazi bianchi che una tab occupa.

Mentre puoi farlo ogni volta che avvii vi/m, è più semplice impostare queste opzioni in ~/.vimrc in modo che vengano applicate automaticamente:

set number
set autoindent
set shiftwidth=4
set softtabstop=4
set expandtab

Per ulteriori opzioni per personalizzare il tuo ambiente vi/m, puoi fare riferimento alla documentazione online di vim.

15. Ottieni aiuto generale su Vim/ con Vimtutor

Se in qualsiasi momento devi migliorare le tue abilità generali su vi/m, puoi avviare vimtutor dalla riga di comando che mostrerà un aiuto completo su vi/m a cui puoi fare riferimento tutte le volte che desideri senza bisogno di avviare un browser web per cercare come eseguire una determinata attività su vi/m.

vimtutor
Vim Editor Help and Options

Nota che puoi navigare o cercare il contenuto di Vimtutor come se stessi navigando un file regolare su vi/m.

Riepilogo

In questa serie di 2 articoli, ho condiviso numerosi suggerimenti e trucchi su vi/m che dovrebbero aiutarti ad essere più efficace quando si tratta di modificare il testo utilizzando strumenti da riga di comando.

I’m sure you must have other ones – so feel free to share them with the rest of the community in the comment form below. As always, questions and comments are also welcome.

Source:
https://www.tecmint.com/how-to-use-vi-and-vim-editor-in-linux/