GNU/Linux >> Linux Esercitazione >  >> Linux

I 20 migliori comandi Linux Vim che aumentano la produttività

VIM o il Vi migliorato editor di testo è uno degli editor di testo più avanzati disponibili. Impariamo i 20 migliori comandi Linux Vim che devi conoscere per ottenere incredibili livelli di produttività.

Ricorda, l'editor di testo VIM ha una curva di apprendimento piuttosto ripida. Ma una volta che avrai tempo per abituarti ai comandi, otterrai una produttività senza pari nelle tue attività quotidiane che richiedono di lavorare con il testo (editor di testo perfetto per i programmatori!)

Molto geek, vero? Comprendiamo l'editor e i comandi in esso contenuti.

Comandi Linux Vim per la navigazione di base

Prima di iniziare, esaminiamo come possiamo navigare all'interno dell'editor VIM. VIM è un editor incentrato sulla tastiera, quindi devi iniziare ad abituarti a non toccare il mouse per le attività di navigazione di base.

Chiavi Azione
Tasti freccia
h j k l
Movimento di base del cursore come di consueto
B b
W w w
Sposta avanti e indietro di una parola alla volta:cursore all'inizio della parola
G Salta a un numero di riga specificato
Ctrl+u
Ctrl+d
Simile al tasto pagina su/giù mentre il cursore rimane sullo schermo.
i Sposta avanti di una parola – cursore alla fine della parola
#
*
Trova la parola all'interno del documento in cui si trova attualmente il cursore.
n
N
Ripete l'ultimo trova comando

Scopri i migliori comandi e funzionalità di Linux Vim

L'editor VIM non è solo flessibile e completo, ma anche molto intuitivo e "intelligente" quando si tratta di comprendere il codice che è stato scritto.

Ma se non ti dispiace passare il tuo tempo a spostare il cursore del mouse puntando e facendo clic su cose, non c'è motivo per te di prendere in considerazione VIM. Questo editor di testo è per programmatori e fanatici che amano davvero fare di tutto, ignorare il mouse per sempre e fare tutto usando la tastiera.

Il problema con VIM è che, se può essere fatto con un mouse in altri editor di testo, può essere fatto solo con la tastiera in VIM.

1. Lavora con più file in Vim

La maggior parte di noi programmatori è abituata a lavorare con più file contemporaneamente. I nostri editor di testo della GUI ci forniscono schede che consentono di passare da un file all'altro mentre tutti rimangono aperti contemporaneamente. Anche se ci sono alcune scorciatoie da tastiera per giocare con queste schede, non è paragonabile a ciò che VIM può fare.

:tabedit <tab key to scroll through files in directory>

La parte migliore? Non tocchi affatto il mouse. Come ti muovi tra i file? Con gt o gT per cambiare le schede rispettivamente avanti o indietro. Inoltre :tabfirst e :tablast ti consentirà di saltare avanti e indietro dalla prima all'ultima scheda attualmente aperta.

Ma se vuoi aprire tutti i file direttamente all'inizio, digita semplicemente:

vim -p source_file1.py source_file2.py source_file3.py 

2. Salva e apri sessioni di schede in VIM

Va bene, quindi ora hai aperto un sacco di file nelle schede e hai anche spostato le modifiche apportate ai file. Ma hai notato che devi sempre aprire i file ogni volta che vuoi averli nelle schede?

E se ci fosse un modo per salvare i file aperti così come sono e spostarsi semplicemente con esso?

È esattamente a questo che servono le sessioni VIM. Quando lavori con più file in VIM, è meglio salvare una sessione VIM in modo che la prossima volta che apri il file della sessione, tutto tornerà esattamente come l'hai lasciato.

Come si crea una sessione VIM? Per prima cosa esci dalla modalità di inserimento premendo il tasto Esc chiave. Quindi inserisci il comando seguente.

:mksession <Session Name>.vim

Ora la prossima volta che vuoi aprire la sessione, puoi aprirla direttamente dal terminale digitando:

vim -S <Session Name>.vim

Oppure, se vuoi aprire un file di sessione mentre sei all'interno di VIM, digita semplicemente:

:source <Session Name>.vim

3. Completa automaticamente il testo in VIM

Ritieni che VIM non possa essere paragonato alle funzionalità di completamento automatico di altri IDE o editor di testo? Bene, provaci. Anche se non utilizza l'Intelligenza Artificiale o alcun tipo di algoritmo di apprendimento automatico per supportare questa funzionalità, è abbastanza robusto.

Quando sei nel tuo editor VIM e stai cercando di modificare del codice, premi la combinazione di tasti qui sotto per verificare che sia un eccellente completamento automatico.

Ctrl+n

In base alle lettere digitate, l'editor trova la corrispondenza più vicina per la parola che potresti digitare. Anche se non capisce nulla di ciò che scrivi, fa il suo lavoro molto bene.

4. Comandi VIM di Linux per eseguire la corrispondenza tra parentesi

Come accennato in precedenza, l'editor VIM cerca modelli all'interno del testo, porta con sé la corrispondenza delle parentesi durante la codifica. Ci rende le cose molto facili quando lavoriamo con codici lunghi.

Questo è piuttosto semplice. Porta il cursore sulla parentesi graffa di apertura/chiusura e premi il % firmare sulla tastiera.

E proprio così, il tuo cursore salterà sulla parentesi graffa corrispondente.

5. Contrassegna e piega blocchi di codice in VIM

Non è così semplice come vorresti perché l'editor di codice non capisce cosa stiamo digitando ma funziona solo sulla corrispondenza dei modelli.

Quindi, come possiamo piegare il codice all'interno dell'editor di vim? Iniziamo portando il cursore nel punto in cui vogliamo iniziare la piegatura e da lì utilizziamo la letter V per iniziare a contrassegnare il codice fino al punto in cui vogliamo che si pieghi.

Dopo aver contrassegnato il codice con la lettera V , quindi premi zf per piegare il codice. La f in zf sta per fold . come apriamo il codice che premiamo evidenziando la prima riga del codice piegato

Per aprire il codice ora, possiamo portare il nostro cursore sulla riga in cui si trova il codice piegato (come puoi vedere nello screenshot sopra, la linea di colore grigio che dice 6 righe:function1() . Quando il cursore si trova su quella riga, premi zo dove o sta per aperto .

Ma il metodo sopra è buono nei casi in cui il codice è piccolo. E se volessi saltare alcune centinaia di righe di codice? Lascia che ti mostri un'altra tecnica di marcatura che dimezzerà il tuo tempo.

  • Vai alla riga in cui vuoi iniziare la piegatura del codice
  • Premi la letter m seguito da qualsiasi altra lettera per nominare la marcatura. Ad esempio mk
  • Evidenzia una delle parentesi graffe all'interno del codice e premi % per passare direttamente alla parentesi graffa corrispondente.
  • Premi zf'k

Il 'k segnala al comando fold di cercare il segno “k” che abbiamo indicato digitando mk all'inizio.

6. Esplora i file nel tuo sistema, senza uscire da VIM

Una persona normale dell'editor di testo/codice della GUI sentirebbe di perdere la colonna "Cartella del progetto" che di solito viene fornita sulla barra laterale sinistra della finestra dell'editor di codice. VIM può replicarlo?

Certo!

Con i due comandi :Vexplore e :Sexplore , puoi dividere la finestra in due sezioni e sfogliare l'intero file system. Dai un'occhiata a entrambi i comandi.

Come puoi vedere, in entrambi i casi, il file manager è aperto e puoi navigare tra i file senza perdere il focus dal file di codice su cui stavi lavorando.

Dato che abbiamo già visto le funzionalità di schermo diviso di VIM, come possiamo dividere lo schermo in due e modificare due codici?

7. Dividi la finestra del codice VIM

Puoi dividere verticalmente o orizzontalmente la finestra VIM e modificare più file di codice senza allontanarti dall'altro. Come? Diamo un'occhiata.

Il Vexplore e Sexplore i comandi ci consentono di sfogliare i file e aprire qualsiasi file nella sezione divisa del terminale. Ma se vuoi solo aprire il file, puoi usare vsplit o split comando.

VERTICAL SPLIT
:vsplit <filename>

OR 

:vsp <filename>

HORIZONTAL SPLIT
:split <filename>

OR 

:sp <filename>

Il comando sopra dividerà il terminale verticalmente e aprirà l'altro file per te.

Comando Azione
Ctrl-w ←
O
Ctrl-w h
Concentrati sulla divisione adiacente a sinistra
Ctrl-w →
O
Ctrl-w l
Concentrati sulla divisione adiacente a destra
Ctrl-w ↓
O
Ctrl-w j
Concentrati sulla divisione adiacente in basso
Ctrl-w ↑
O
Ctrl-w k
Concentrati sulla divisione adiacente in alto
Ctrl-w n +
O
Ctrl-w n
Aumenta o diminuisci la dimensione della divisione di n righe

Se stai utilizzando un software client SSH come Terminus per connetterti al tuo server Linux, l'uso dei comandi VIM predefiniti per cambiare divisione chiuderà semplicemente la connessione.

Perché Ctrl-W è la scorciatoia predefinita per chiudere le schede su Terminus e su molti altri software Windows. Allora come possiamo farlo?

VIM ci consente di rimappare le chiavi per salvare le sequenze di tasti e anche per evitare conflitti.

8. Rimappa e modifica i comandi VIM di Linux

Alcune scorciatoie in VIM sono piuttosto ingombranti e possono farci chiedere se ne valga la pena!

La remap , noremap , nnoremap , inoremap , vnoremap i comandi ci consentono di rimappare i comandi VIM esistenti su qualsiasi altra chiave che vorremmo configurare.

La differenza tra i comandi di mappatura sono le modalità mappa in cui lavorano. Coprire le modalità mappa è fuori dall'ambito di questo argomento, quindi lascio a te la lettura. Vai avanti e digita :help map-modes .

Questa è la panoramica delle modalità mappa, ma l'argomento della guida ha un sacco di dettagli se sei interessato a comprendere queste modalità.

Come mappare le scorciatoie dei comandi vim esistenti? Lavoreremo con il comando "mappa".

Sintassi :

:map <new key-combo> <existing key-combo>

For example: 
:map <C-J> <C-W><C-J>
:map <C-K> <C-W><C-K>
:map <C-L> <C-W><C-L>
:map <C-H> <C-W><C-H>
:map l gg

Le mappature di cui sopra cambieranno i comandi predefiniti di commutazione della finestra divisa in Ctrl-J, Ctrl-K e così via invece del Ctrl-W aggiunto.

L'ultimo comando cambierà il gg comando a l . Quindi, ogni volta che premi l, verrai portato alla prima riga.

Fallo per tutti i comandi di cui hai bisogno. Ma queste mappature sono basate sulla sessione. Una volta uscito da vim, le mappature vengono ripristinate.

Per impostare la mappatura delle chiavi persistente, dobbiamo aggiungere i comandi al file VIMrc. Basta copiare e incollare i comandi senza il : nel ~/.vimrc file. Se il file non esiste, creane uno solo con i comandi che devi eseguire all'avvio di VIM.

Per impostare queste mappature dei tasti in aggiunta alla configurazione vim predefinita esistente, basta fare una copia o un collegamento simbolico al file originale come di seguito:

root@ubuntu:~# ln -s ~/code/dotfiles/vim/vimrc ~/.vimrc

9. Comandi VIM Linux per abilitare l'evidenziazione della sintassi

Continuando dalla nostra sezione precedente, possiamo aggiungere il comando syntax on nel ~/.vimrc file per abilitare l'evidenziazione della sintassi. Dai un'occhiata alla differenza che farebbe.

Ovviamente puoi attivare e disattivare l'evidenziazione della sintassi anche durante la sessione, come abbiamo fatto per tutti gli altri comandi prima.

10. Comandi VIM Linux per Taglia, Copia e Incolla

Copiare e incollare non è così semplice come Ctrl-c Ctrl-v ma è abbastanza facile!

In VIM, l'azione di copia è chiamata Yank e l'azione Taglia si chiama Elimina . L'azione incolla continua a essere denominata Incolla .

Quindi le scorciatoie sono denominate in base a questi nomi. Ad esempio, se devo "strappare" qualcosa, posso digitare y e il testo selezionato viene strappato.

Per tagliare un testo, il comando è lo stesso di cancella, la lettera d . Quindi puoi capire che anche quando elimini un pezzo di testo, l'editor VIM sta effettivamente preparando il testo da incollare da qualche altra parte.

Qualunque sia la sezione in cui si trova il cursore, verrà copiata o eliminata. Per incollare il testo copiato, digita semplicemente p per incollare dopo il cursore e P da incollare prima del cursore.

11. Controllo ortografico in VIM

Non ti aspettavi di vedere questo punto, vero? Bene, VIm ha un'opzione di controllo ortografico che funziona in base a un file dizionario che è già disponibile. Tutto quello che dobbiamo fare è impostare la lingua.

Nel file ~/.vimrc, aggiungi la seguente riga:

set spell spelllang=en_us

Come puoi vedere, il testo di Lorem Ipsum viene immediatamente evidenziato quando ho abilitato il controllo ortografico.

12. Sostituzione:trova e sostituisci in VIM

La funzionalità trova e sostituisci offerta da tutti gli editor di testo GUI si trova anche su VIM. Come? A causa della corrispondenza del modello.

:%s /Lorem/JournalDev/g

La riga sopra sostituirà istantaneamente ogni occorrenza di Lorem su ciascuna riga (g ) con la parola JournalDev.

13. Esegui comandi Linux in VIM

Quindi stai modificando del codice e devi eseguire rapidamente un comando. Hai bisogno di salvare ed uscire da VIm solo per eseguire il codice? Non proprio!

Vim ti consente di eseguire il codice dall'interno dell'editor senza dover perdere traccia del codice. Puoi farlo usando un punto esclamativo dopo i due punti. Ecco un esempio:

:!ping www.journaldev.com

Questo è tutto! Ora se è un comando che termina dopo l'output, puoi premere il tasto INVIO e tornare alla programmazione. Ma in caso di questo comando ping, puoi premere l'interruzione della tastiera Ctrl-C e quindi premi il tasto INVIO senza perdere il tuo editor VIM in background.

In alternativa, puoi semplicemente digitare :shell per ottenere direttamente una shell aperta per te. Una volta che hai finito con quello che devi fare, digita semplicemente exit per uscire dalla shell e tornare a VIM che rimane com'era prima.

14. Eliminazione di più parole

Sai che le parole a destra del tuo cursore devono essere cancellate. Ma non l'intera frase. Come si fa? Con lo stesso comando e alcuni parametri aggiuntivi.

Il d il comando utilizzerà semplicemente il numero specificato dopo di esso per eliminare quelle molte parole. Dai un'occhiata al comando qui sotto. Entrambi i comandi funzionano in base alla posizione del cursore.

d3w #This will delete 3 words to the right 
d3b #This will delete 3 words to the left

15. Comando VIM Linux per annullare le modifiche

Mentre ti stai abituando a VIM, ci saranno momenti in cui finirai per eliminare qualcosa che non volevi. L'approccio Ctrl-Z non funziona su VIM, quindi come annulli il tuo lavoro?

u

La lettera u annullerà automaticamente le modifiche proprio come farebbe ctrl-z.

16. Inserisci testo da file diverso

Questo è un trucco per la produttività piuttosto utile. Consente di risparmiare tempo nel copiare e incollare elementi da più file per unirli.

Quindi cos'è esattamente questo? Legge semplicemente il testo da un altro file specificato e inserisce l'intero testo subito dopo il cursore.

:r <file name>

17. Macro in VIM

Sappiamo che VIM può fare molto, ma hai immaginato un editor a riga di comando per poter registrare macro? Bene, è meglio che inizi a immaginare come questo editor sia chiamato potente a causa del grande potenziale di questo editor dall'aspetto semplice.

Come si registra una macro? È molto facile! Entri nella modalità di comando (se sei in modalità di inserimento, premi semplicemente Esc ) .

qb #The letter after q is just to identify the macro. Can be anything
q #Stop recording macro
@b #Replay the macro. The letter runs that specific macro

A cosa serve questa macro? Tutto ciò che puoi fare all'interno dell'editor VIm può essere fatto con una macro. Quindi per esempio tu:

  • Vai alla prima parola
  • Cancella la prima parola
  • Sostituiscilo con qualcos'altro

Se devi eseguire questa operazione per più righe, tutto ciò che devi fare è registrare una macro e riprodurla di nuovo.

18. Utilizzo di Conteggio per i comandi

Quasi tutti i comandi che "potrebbero" dover essere inseriti più volte accettano un numero come argomento. Ad esempio, il comando di eliminazione d , il comando di salto di riga k , ecc.

Quindi, se voglio eliminare 6 righe, posso eseguire il comando d 6 volte o semplicemente dire 6d .

Questo è per l'eliminazione, puoi anche farlo quando ti sposti nel testo. Se voglio muovermi di 3 parole, tutto quello che scrivo è 3w o 3e a seconda di dove voglio posizionare il cursore, all'inizio o alla fine.

19. Conoscere i progressi all'interno del file

Se stai scorrendo un file lungo e hai semplicemente bisogno di sapere dove ti trovi attualmente, scegli questo comando. Ti darà una percentuale di dove ti trovi in ​​questo momento all'interno del file.

Come puoi vedere nell'immagine sopra, mi dice che la posizione corrente del mio cursore è al 40% dalla fine del file. Il comando per farlo è digitando Ctrl-G quando sei in modalità comando.

20. Moduli di aiuto per i comandi VIM di Linux

Concluderò questo post parlando dello strumento utile, il comando di aiuto. Simile alle pagine man in Linux, la help command consente agli utenti di comprendere in dettaglio tutti i comandi di vim. Ecco un esempio di ciò che mostra il comando di aiuto per il nostro comando di eliminazione.

:help d

Conclusione

Questo sarà solo l'inizio del tuo viaggio in vim-land. Ci sono un sacco di comandi e funzionalità che esplorerai man mano che impari VIm.

Ma c'è una cosa di cui puoi essere certo. Se impari VIM abbastanza bene una volta, diventerà una seconda natura per te aspettarti quelle funzionalità quando inizierai a utilizzare qualsiasi altro editor!

Riferimenti

  • ftp://ftp.vim.org/pub/vim/doc/book/vimbook-OPL.pdf – La guida completa di 572 pagine di VIm che ripercorre tutto ciò che VIM ha da offrire.


Linux
  1. 3 cheat sheet di Linux essenziali per la produttività

  2. 16 Comandi Tar per comprimere ed estrarre file in Linux

  3. 10 comandi di base di Linux che devi conoscere

  4. 7 comandi di rete Linux che ogni amministratore di sistema dovrebbe conoscere

  5. Plugin Vim che puoi utilizzare per aumentare la tua produttività!

Migliore distribuzione Linux:i 10 migliori consigli per migliorare la tua esperienza Linux

I 30 migliori comandi Linux

I 25 migliori comandi Vim per Linux

Come usare i comandi FTP di Linux

I 50+ migliori comandi Linux che DEVI conoscere

I 5 migliori editor di testo Linux