GNU/Linux >> Linux Esercitazione >  >> Linux

Comandi Vim di base che ogni utente Linux deve conoscere [cheat sheet gratuito incluso]

Non importa se sei un amministratore di sistema o uno sviluppatore di software, se lavori nel terminale Linux, dovresti affrontare la situazione in cui devi modificare i file di testo nel terminale.

Quando sei limitato al terminale, devi usare uno degli editor della riga di comando come Vim. La maggior parte di noi è abituata agli editor della GUI e questo causa un problema perché usare un editor a riga di comando non è la stessa cosa che usare un editor di testo grafico come Atom.

Sono disponibili diversi editor di testo da riga di comando e sei libero di usarne uno qualsiasi. Vim è uno degli editor di testo da riga di comando più popolari e lo troverai installato su qualsiasi distribuzione Linux standard. Questo è il motivo per cui imparare le basi di Vim ti aiuterà molto.

Ora, questa non è una guida completa per renderti un esperto di Vim. È una guida Vim completa destinata a fornirti abbastanza per sopravvivere a Vim nel terminale Linux.

Spero che tu abbia installato Vim su Ubuntu o su qualsiasi distribuzione Linux tu stia utilizzando.

Comandi Vim di base che dovresti conoscere

Se hai già lavorato con Vim in precedenza, forse vuoi solo rinfrescare i tuoi ricordi guardando questo cheat sheet di Vim:

Comando Vim Descrizione
io Entra in modalità inserimento
Esc Entra in modalità comando
x o Del Elimina un carattere
X Elimina carattere è in modalità backspace
tu Annulla modifiche
Ctrl + r Ripeti le modifiche
aa Copia una riga
gg Elimina una riga
p Incolla il contenuto del buffer
/ Cerca e poi scorre le corrispondenze con n e N
[[ o gg Sposta all'inizio di un file
]] o G Sposta alla fine di un file
:%s/foo/bar/gci Cerca e sostituisci tutte le occorrenze con la conferma
Esc + :w Salva modifiche
Esc + :wq o Esc + ZZ Salva ed esci da Vim
Esc + :q! Uscita forzata da Vim annullando tutte le modifiche

Puoi anche scaricare i comandi sopra come PDF. Scaricalo, stampalo e tienilo sulla scrivania per una rapida consultazione.

Comandi di base di Vim Cheatsheet Linux Handbookvim-commands-cheatsheet-linux-handbook.pdf86 KB

Non preoccuparti, spiegherò in dettaglio anche questi comandi di base di Vim.

Capire le modalità Vim

Prima di iniziare, conosciamo le modalità Vim. Vim ha tre modalità:

  • Modalità comando:quando avvii Vim, sei messo in modalità comando. In questa modalità, puoi spostarti sullo schermo, eliminare il testo e copiarlo.
  • Modalità inserimento:non è possibile scrivere testo in modalità comando. Per scrivere del testo (o diciamo inserire del testo) in un file, esiste una modalità di inserimento dedicata. Quando vuoi scrivere qualcosa su un file, devi entrare nella modalità di inserimento.
  • Modalità visiva:qualcosa di simile alla modalità comando, ma qui puoi utilizzare i tasti freccia per selezionare il testo su più righe (invece di lavorare direttamente su parole e righe in base alla posizione del cursore).

Una volta che conosci le modalità Vim, vediamo alcuni comandi Vim di base per vari scopi.

Entrare nella modalità di inserimento in Vim

Ricorda sempre che i sta per modalità di inserimento. premi il tasto 'i' per accedere alla modalità di inserimento .

Quando entri nella modalità di inserimento, vedrai - INSERT - nella parte inferiore della schermata dell'editor/terminale. Questo indica che sei in modalità di inserimento.

Ma non è l'unico modo per accedere alla modalità di inserimento. Ci sono molti altri comandi per entrare nella modalità di inserimento in Vim. La posizione del cursore è importante quando si accede alla modalità di inserimento.

  • i – Il nuovo testo apparirà prima del cursore
  • a – Il nuovo testo apparirà dopo il cursore
  • I – Il nuovo testo apparirà all'inizio della riga corrente
  • A – Il testo successivo apparirà alla fine della riga corrente
  • o – Viene creata una nuova riga dopo la riga corrente
  • O – Viene creata una nuova riga prima della riga corrente

Tornare alla modalità comando in Vim

Si avvia in modalità comando, si passa alla modalità inserimento. Se vuoi tornare alla modalità di comando, premi il tasto Esc (esc) .

Dopo aver inserito il testo, ti consiglio di premere il tasto Esc per accedere alla modalità di comando. In questo modo, non inserirai alcun nuovo testo inconsapevolmente, involontariamente. Suggerimento:se non ricordi nient'altro, ricordati di premere "i" per la modalità di inserimento e il tasto Esc per la modalità di comando. Questo dovrebbe essere sufficiente.

Muoversi in Vim

Quando sei in Vim, non puoi usare il mouse per fare clic su un punto dello schermo come normali editor di testo o codice. Questo è il motivo per cui è necessario conoscere i comandi di movimento in una determinata riga o parola o posizione in Vim.

I puristi di Vi/Vim suggeriranno di usare i tasti h, j, k e l per spostarsi rispettivamente in alto, a sinistra, a destra e in basso quando ci si trova nella modalità di comando. Sebbene ciò sia applicabile sia agli editor Vi che Vim, non preferisco usare queste strane combinazioni di tasti.

Curiosità:quando l'editor Vi è stato sviluppato per la prima volta, la maggior parte delle tastiere non aveva i tasti freccia. Per questo motivo sono stati utilizzati i tasti h,j,k,l per il movimento.

Uso i tasti freccia per spostarmi in Vim. Funziona bene anche quando sei in modalità di inserimento in Vim. Questo è il modo standard di muoversi a cui è abituata la maggior parte della nuova generazione.

Se non conosci Linux o Vim, puoi optare per i tasti freccia. Nessun danno fatto.

Tuttavia, se vuoi essere un po' più esperto con Vim, potresti voler memorizzare alcune scorciatoie di Vim per spostarti facilmente sullo schermo. Alcuni dei miei comandi di movimento Vim preferiti sono:

  • H – Sposta nella parte superiore dello schermo. Nota che non significa sempre passare alla prima riga del file. Serve solo per spostarti nella parte superiore dello schermo visibile.
  • L – Sposta nella parte inferiore dello schermo. Nota che non significa sempre passare all'ultima riga del file. Serve solo per spostarti nella parte inferiore dello schermo visibile.
  • M – Sposta al centro dello schermo.
  • [[ – Passa alla prima riga del file. Puoi anche ue gg qui.
  • ]] – Passa all'ultima riga del file. Puoi anche usare G qui.
  • nG – Passa alla riga numero n. Tieni presente che non vedrai nulla sullo schermo durante la digitazione dei numeri di riga.

Suggerimento:puoi visualizzare i numeri di riga in Vim andando in modalità comando e digitando :set number

Come puoi vedere, con questi comandi di movimento aggiuntivi, sarà più facile spostarti in un grande file di testo. Puoi imparare più comandi di movimento come { e } per spostarti avanti e indietro di paragrafo, w per spostarti parola per parola ecc.

Puoi anche usare "modificatori del ripetitore" come nG che hai appena visto con la maggior parte dei comandi in Vim. Ad esempio, se usi 5w, si sposterà di 5 parole. Se usi 6H, si sposterà sulla sesta riga dalla parte superiore dello schermo.

I modificatori del ripetitore funzionano anche con "i" ed è qui che molte persone commettono errori. Se hai premuto accidentalmente un numero come 7 prima di premere "i" per passare alla modalità di inserimento, qualsiasi testo digitato verrà aggiunto 7 volte. Non lo vedrai immediatamente sullo schermo finché non inizi a salvare il documento.

Quindi cosa fare quando commetti uno stupido errore come questo? Annullalo.

Annulla le modifiche in Vim

Se hai commesso un errore in Vim, non devi conviverci per sempre. Ho anche visto persone uscire dall'editor senza salvare in questi casi, il che è piuttosto ridicolo.

Vim ti consente di annullare e ripristinare le modifiche. Puoi anche ripetere le modifiche. È tutto applicabile nella stessa sessione, ovviamente. Dopo aver salvato le modifiche, non puoi annullarle.

Per annullare una modifica, vai in modalità comando e premi il tasto "u". Puoi premerlo più volte per più azioni di annullamento.

Se vuoi ripetere una modifica, premi la combinazione di tasti Ctrl+r nella modalità di comando. Puoi premerlo più volte per più azioni di ripetizione.

Eliminazione in Vim

Oltre ad annullare le modifiche, potresti anche voler eliminare del testo dal file. In Vim, puoi sempre usare il tasto Canc per eliminare un personaggio, ma ci sono alcune combinazioni di tasti per gestire meglio l'eliminazione in Vim.

  • x – Elimina il carattere nella posizione corrente del cursore proprio come un tasto di eliminazione
  • X – Elimina il carattere prima della posizione corrente del cursore come un tasto backspace. Nota che la stessa chiave backspace non funziona in Vim.
  • dw – Elimina la parola. In realtà, cancella dalla posizione corrente del cursore fino alla fine della parola corrente più lo spazio bianco dopo di essa.
  • dd – Elimina la riga corrente.
  • d$ – Elimina dalla posizione corrente del cursore fino alla fine della riga.
  • dG – Elimina dalla posizione corrente del cursore fino alla fine del file.

Nota:non ci sono comandi di taglio in Vim perché quando elimini qualcosa, il testo eliminato viene inserito nel buffer. In altre parole, i comandi di eliminazione sono i comandi di taglio.

Copia e incolla in Vim

Potresti chiederti come copiare e incollare in Vim. Questa è una preoccupazione legittima perché non digiterai sempre i testi.

Ci sono due tipi di copia e incolla in Vim. Uno che si occupa del buffer e uno che si occupa del testo "esterno".

Quando sei in modalità comando, puoi utilizzare le scorciatoie del terminale Linux per copiare il testo o le seguenti combinazioni di tasti per copiare il testo:

  • yw – Copia parola. In realtà, copia dalla posizione corrente del cursore fino alla fine della parola corrente più lo spazio bianco dopo di essa.
  • yy:copia la riga corrente.
  • y$ – Copia dalla posizione corrente del cursore fino alla fine della riga.
  • yG – Copia dalla posizione corrente del cursore fino alla fine del file.

Supponiamo di aver utilizzato uno dei comandi di eliminazione discussi sopra. Il testo eliminato viene inserito nel buffer. Puoi incollare questo testo dal buffer usando questi due comandi di incollaggio:

  • p – Incolla il contenuto del buffer prima della posizione del cursore
  • P – Incolla il contenuto del buffer dopo la posizione del cursore

Nota che se hai eliminato un'intera riga, il contenuto verrà posizionato prima o dopo la riga corrente con i comandi incolla sopra menzionati.

I comandi incolla funzionano solo con il buffer Vim. E il testo che hai copiato da qualche altro file? In questi casi, puoi utilizzare le combinazioni di tasti standard di copia e incolla del tuo terminale Linux.

In Ubuntu e in molte altre distribuzioni Linux, il terminale predefinito, Ctrl+Maiusc+C viene utilizzato per copiare e Ctrl+Maiusc+V per incollare. In alcuni altri terminali, selezionando un testo lo copia e lo puoi incollare con il tasto destro del mouse.

Qualunque sia il modo per copiare e incollare nel tuo terminale Linux, puoi usarlo anche in Vim. Assicurati solo di essere nella modalità di inserimento per questo tipo di copia incolla.

Ricerca di testo in Vim

Trovare un testo particolare è una funzione importante di un editor di testo. Puoi cercare il testo nel file in Vim usando '/'.

Nella modalità di comando, usa /, quindi digita il testo di ricerca e premi invio. Vedrai tutto ciò che stai digitando in basso a sinistra dello schermo.

Eseguirà una ricerca in avanti per il termine cercato dalla posizione del cursore. Puoi anche usare "?", quindi digitare il termine di ricerca e premere Invio per eseguire una ricerca all'indietro. Tieni presente che la ricerca fa distinzione tra maiuscole e minuscole.

Se è presente più di una corrispondenza per il testo di ricerca, è possibile passare alla posizione successiva premendo il tasto n. Se vuoi tornare alla partita precedente, premi N. Fondamentalmente, con n e N puoi scorrere tutte le partite. Suggerimento:puoi usare l'opzione \c per eseguire una ricerca senza distinzione tra maiuscole e minuscole in Vim. Esempio:/\cLa mia_ricerca

Cerca e sostituisci in Vim

Vim fornisce un comando sostitutivo (:s) per la ricerca e la sostituzione del testo. Si basa molto sulle espressioni regolari (regex) per la ricerca e la sostituzione.

Puoi usarlo nel modo seguente:

:%s/foo/bar/g

Il comando sopra sostituirà tutto il "foo" con "bar" nell'intero file. La "g" alla fine è responsabile dell'estensione della funzione di ricerca e sostituzione su tutte le partite. In caso contrario, viene sostituita solo la prima corrispondenza.

:s/foo/bar/g

Il comando ':s' eseguirà esattamente la stessa funzione di cui sopra, ma solo nella riga corrente anziché nell'intero file.

Per impostazione predefinita, la ricerca fa distinzione tra maiuscole e minuscole. Per non fare distinzione tra maiuscole e minuscole, puoi utilizzare il flag "i" insieme a g.

:%s/foo/bar/gci

Ho aggiunto un'ulteriore bandiera "c" qui. In realtà, potresti non sentirti a tuo agio con l'idea che i tuoi interi testi corrispondenti vengano sostituiti nell'intero documento in pochi secondi. È qui che la bandiera "c" aiuta molto. Con questo flag di conferma, Vim ti chiederà di confermare se vuoi effettuare un rimpiazzo ad ogni partita.

In modalità di conferma, ti verrà presentata la seguente opzione:sostituire con UU (y/n/a/q/l/^E/^Y)?

Lascia che ti spieghi le scelte qui:

  • y – SÌ, sostituisci questa corrispondenza
  • n – NO, non sostituire questa partita e passare a quella successiva
  • a – Sostituisci TUTTE le corrispondenze
  • q – ESCI senza sostituire alcuna corrispondenza
  • l – Sostituisci questa corrispondenza ed esci come se fosse l'ULTIMA partita
  • ^E – Scorri lo schermo verso l'alto
  • ^Y – Scorri lo schermo verso il basso

Suggerimento:se non riesci a ricordare tutto il resto, ricorda che :%s/foo/bar/gci proverà a sostituire tutte le corrispondenze nell'intero file con la tua conferma.

Salvataggio e uscita da Vim

Hai appena imparato le basi dei comandi Vim. È ora di salvare il tuo lavoro ed uscire da Vim. Per salvare o uscire da Vim, devi prima entrare nella modalità di comando premendo il tasto Esc. E poi puoi usare le seguenti opzioni:

  • :w – Salva le modifiche ma non uscire
  • :wq – Salva ed esci
  • :q – Esci (se hai modifiche non salvate, vedrai questo avviso:E37:Nessuna scrittura dall'ultima modifica (aggiungi ! per sovrascrivere))
  • :q! – Uscita forzata (eliminerà tutte le modifiche non salvate)

Scarica il Cheat Sheet di Vim Command in formato PDF

Posso capire che se sei nuovo in Vim, ricordare ciò che hai appena imparato potrebbe essere difficile. Questo è il motivo per cui ho creato un elenco di comandi vim di base e la loro rapida spiegazione.

Puoi scaricare questo cheat sheet di Vim in formato PDF, stamparlo e tenerlo alla tua scrivania per un rapido riferimento.

Scarica il cheat sheet dei comandi Vim di base

Andare oltre con Vim

Bene, hai appena imparato tutte le basi di Vim di cui hai bisogno per sopravvivere a questo editor di testo terribilmente fantastico. Con questa conoscenza, puoi leggere testo, cercare testo ed eseguire alcune modifiche di base in Vim. Questo basterà per salvarti dal panico non appena ti viene in mente l'idea di utilizzare un editor di testo terminale come Vim.

Dovresti aggiungere questa pagina ai segnalibri per aggiornare ciò che hai imparato su Vim qui. Puoi anche usare il comando vimtutor. Nella maggior parte delle distribuzioni Linux è installato il comando vimtutor. Se hai voglia di rispolverare la tua conoscenza di Vim o di esercitarti con i comandi di Vim, esegui semplicemente vimtutor in un terminale.

Se vuoi portare le tue abilità Vim al livello successivo, consiglio vivamente la risorsa Mastering Vim Quickly. Vale la pena investire.

Spero che questa guida ti abbia aiutato a iniziare con Vim. Se hai domande o suggerimenti, lascia un commento.


Linux
  1. Cheat sheet per i comandi Linux comuni

  2. 3 hack utili che ogni utente Linux deve conoscere

  3. Foglio informativo sui comandi di Linux

  4. Comandi di base vi (cheat sheet)

  5. Foglio informativo sui comandi di base di Linux

25 comandi di base di Linux che un principiante deve conoscere

5 comandi Linux che ogni utente Linux dovrebbe conoscere

13 Scorciatoie del terminale Linux che ogni utente Power Linux deve conoscere

Trucchi del terminale Linux che ogni appassionato di Linux deve conoscere!

Comandi di base nano (cheat sheet)

Comandi di base di vim (cheat sheet)