GNU/Linux >> Linux Esercitazione >  >> Linux

Lavorare con l'editor Vim (editor di testo)

Se stai lavorando in modalità riga di comando, potresti voler acquisire familiarità con almeno un editor di testo che opera nella console Linux. L'editor vi è l'editor originale utilizzato sui sistemi Unix. Utilizza la modalità grafica della console per emulare una finestra di modifica del testo, consentendoti di vedere le righe del file, spostarti all'interno del file e inserire, modificare e sostituire il testo.

Sebbene sia probabilmente l'editor più complicato del mondo (almeno secondo l'opinione di coloro che lo odiano), fornisce molte funzionalità che lo hanno reso un punto fermo per gli amministratori di Unix per decenni. Quando il progetto GNU ha portato l'editor vi nel mondo open-source, hanno scelto di apportarvi alcuni miglioramenti. Poiché non somigliava più all'editor vi originale trovato nel mondo Unix, gli sviluppatori lo hanno anche rinominato, in vi migliorato, o vim. Per semplificare la vita dell'amministratore di sistema, quasi tutte le distribuzioni Linux creano un alias chiamato vi che punta al programma vim:

# alias vi='vim'

Nozioni di base su vim

L'editor vim lavora con i dati in un buffer di memoria. Per avviare l'editor vim, digita il file che vuoi modificare :vim command (o vi se c'è un alias) e il nome del file

# vi /etc/fstab

Se avvii vim senza un nome file, o se il file non esiste, vim apre una nuova area buffer per la modifica. Se specifichi un file esistente sulla riga di comando, vim leggerà l'intero contenuto del file in un'area buffer, dove è pronto per la modifica, come mostrato di seguito:

L'editor vim rileva il tipo di terminale per la sessione e utilizza una modalità a schermo intero per utilizzare l'intera finestra della console per l'area dell'editor. La finestra di modifica iniziale di vim mostra il contenuto del file (se presente) insieme a una riga di messaggio nella parte inferiore della finestra. Se il contenuto del file non occupa l'intero schermo, vim posiziona una tilde sulle righe che non fanno parte del file.

La riga del messaggio in basso indica le informazioni sul file modificato, a seconda dello stato del file e delle impostazioni predefinite nella tua installazione di vim. Se il file è nuovo, viene visualizzato il messaggio [Nuovo file].

L'editor vim ha due modalità di funzionamento:

  • Modalità normale
  • Modalità di inserimento

Quando si apre per la prima volta un file (o si avvia un nuovo file) per la modifica, l'editor di vim entra in modalità normale. In modalità normale, l'editor di vim interpreta le sequenze di tasti come comandi.

In modalità di inserimento, vim inserisce ogni chiave digitata nella posizione corrente del cursore nel buffer. Per accedere alla modalità di inserimento, premere il tasto i. Per uscire dalla modalità di inserimento e tornare alla modalità normale, premi il tasto Esc sulla tastiera.

In modalità normale, puoi spostare il cursore nell'area di testo usando i tasti freccia (purché il tuo tipo di terminale sia rilevato correttamente da vim). I comandi vim includono comandi per spostare il cursore:

  • h per spostare a sinistra un carattere
  • j per spostarsi in basso di una riga (la riga successiva nel testo)
  • k per salire di una riga (la riga precedente nel testo)
  • l per spostare a destra un carattere

Spostarsi all'interno di file di testo di grandi dimensioni riga per riga può diventare noioso. Fortunatamente, vim fornisce alcuni comandi per velocizzare le cose:

  • Pagina giù (o Ctrl+F ) per andare avanti di una schermata di dati
  • Pagina su (o Ctrl+B ) per tornare indietro di una schermata di dati
  • G per passare all'ultima riga nel buffer
  • numero G per passare alla riga numero num nel buffer
  • gg per passare alla prima riga del buffer

L'editor vim ha una caratteristica speciale all'interno della modalità normale chiamata modalità riga di comando. La modalità riga di comando fornisce una riga di comando interattiva in cui è possibile immettere comandi aggiuntivi per controllare le azioni in vim. Per accedere alla modalità riga di comando, premere i due punti in modalità normale. Il cursore si sposta sulla riga del messaggio e vengono visualizzati i due punti, in attesa dell'immissione di un comando. All'interno della modalità riga di comando ci sono diversi comandi per salvare il buffer nel file e uscire da vim:

  • q per uscire se non sono state apportate modifiche ai dati del buffer
  • q! per uscire e annullare tutte le modifiche apportate ai dati del buffer
  • con nomefile per salvare il file con un nome file diverso
  • wq per salvare i dati del buffer nel file ed uscire

Modifica dei dati

In modalità di inserimento, puoi inserire dati nel buffer; tuttavia, a volte è necessario aggiungere o rimuovere dati dopo averli già inseriti nel buffer. In modalità normale, l'editor vim fornisce diversi comandi per modificare i dati nel buffer. La tabella seguente elenca alcuni comandi di modifica comuni per vim.

Comando Descrizione
x Cancella il carattere nella posizione corrente del cursore.
gg Cancella la riga nella posizione corrente del cursore.
dw Cancella la parola nella posizione corrente del cursore.
d$ Elimina fino alla fine della riga dalla posizione corrente del cursore.
J Elimina l'interruzione di riga alla fine della riga nella posizione corrente del cursore (unisce le righe).
tu Annulla il comando di modifica precedente.
a Aggiungi i dati dopo la posizione corrente del cursore.
A Aggiungi i dati alla fine della riga nella posizione corrente del cursore.
carattere r Sostituisci un singolo carattere nella posizione corrente del cursore con char.
Testo R Sovrascrivi i dati nella posizione corrente del cursore con del testo, finché non premi Esc.

Alcuni dei comandi di modifica consentono inoltre di utilizzare un modificatore numerico per indicare quante volte eseguire il comando. Ad esempio, il comando 2x cancella due caratteri, a partire dalla posizione corrente del cursore, e il comando 5gg cancella cinque righe, a partire dalla riga dalla posizione corrente del cursore.

Una caratteristica standard degli editor moderni è la possibilità di tagliare o copiare i dati, quindi incollarli altrove nel documento. L'editor vim fornisce un modo per farlo. Tagliare e incollare è relativamente facile. Hai già visto i comandi che possono rimuovere i dati dal buffer. Tuttavia, quando vim rimuove i dati, li mantiene effettivamente archiviati in un registro separato. Puoi recuperare quei dati usando il comando p.

Ad esempio, è possibile utilizzare il comando dd per eliminare una riga di testo, quindi spostare il cursore nella posizione del buffer in cui si desidera inserirlo, quindi utilizzare il comando p. Il comando p inserisce il testo dopo la riga nella posizione corrente del cursore. Puoi farlo con qualsiasi comando che rimuove il testo. Copiare il testo è un po' più complicato. Il comando di copia in vim è y (per strattone). Puoi usare lo stesso secondo carattere con y come con il comando d( yw per strappare una parola, y$ per trascinare alla fine di una riga). Dopo aver strappato il testo, sposta il cursore nella posizione in cui desideri posizionare il testo e usa il comando p. Il testo strappato ora appare in quella posizione.

Yanking è complicato in quanto non puoi vedere cosa è successo perché non stai influenzando il testo che strappi. Non sai mai con certezza cosa hai strappato finché non lo incolli da qualche parte. Ma c'è un'altra funzionalità in vim che ti aiuta a tirare. La modalità visiva evidenzia il testo mentre muovi il cursore. Si utilizza la modalità visiva per selezionare il testo da strappare per incollare. Per accedere alla modalità visiva, sposta il cursore nella posizione in cui desideri iniziare a strappare e premi v. Noterai che il testo nella posizione del cursore è ora evidenziato. Quindi, sposta il cursore per coprire il testo che desideri strappare (puoi anche spostare le righe in basso per strappare più di una riga di testo). Mentre muovi il cursore, vim evidenzia il testo nell'area yank. Dopo aver coperto il testo che desideri copiare, premi il tasto y per attivare il comando yank. Ora che hai il testo nel registro, sposta il cursore nel punto in cui desideri incollare e usa il p comando.

Cerca e sostituisci

Si possono facilmente cercare dati nel buffer usando il comando vim search. Per inserire una stringa di ricerca, premere il tasto barra (/). Il cursore va sulla riga del messaggio e vim mostra una barra. Immettere il testo che si desidera trovare e premere il tasto Invio. L'editor di vim risponde con una delle tre azioni:

  • Se la parola appare dopo la posizione corrente del cursore, salta alla prima posizione in cui appare il testo.
  • Se la parola non compare dopo la posizione corrente del cursore, va a capo alla fine del file fino alla prima posizione del file in cui appare il testo (e lo indica con un messaggio). Produce un messaggio di errore che indica che il testo non è stato trovato nel file.
  • Per continuare a cercare la stessa parola, premi il carattere barra e poi il tasto Invio, oppure puoi usare il tasto n per il prossimo.

Il comando di sostituzione consente di sostituire (sostituire) rapidamente una parola con un'altra nel testo. Per accedere al comando sostitutivo devi essere in modalità riga di comando. Il formato per il comando sostitutivo è:

:s/old/new/

L'editor vim salta alla prima occorrenza del testo old e lo sostituisce con il testo new. Ci sono alcune modifiche che puoi apportare al comando sostitutivo per sostituire più di un'occorrenza del testo:

:s/old/new/g        ## to replace all occurrences of old in a line
:n,ms/old/new/g     ## to replace all occurrences of old between line numbers n and m
:%s/old/new/g       ## to replace all occurrences of old in the entire file
:%s/old/new/gc      ## to replace all occurrences of old in the entire file, but prompt for each occurrence


Linux
  1. Potenzia il tuo editor di testo del terminale Linux con ed

  2. Nozioni di base su Linux:una guida per principianti alla modifica del testo con vim

  3. Tutorial vim con esempi di comandi

  4. Vem Text Editor – Un layout di comando alternativo per Vim

  5. Client di posta elettronica con modifica Vim

Come installare Vim Text Editor su Debian 10

Come installare Vim Text Editor su CentOS 8

Come installare l'editor di testo VIM su Ubuntu?

I 5 migliori editor di testo Linux

È possibile modificare un collegamento simbolico con un editor di testo?

Editor di testo/log con supporto per l'aggiornamento automatico