VIM Basics Tutorial

VIM Basics Tutorial
Se stai usando Linux per un po 'di tempo, è sicuro supporre che tu abbia familiarità con gli editori di testo. Un editor di testo non è altro che uno strumento in grado di modificare il testo. Tutti abbiamo un'idea di cosa sia un file di testo, giusto? Tuttavia, gli editor di testo possono anche essere utilizzati per modificare i file non text come testo!

Non è una cosa ideale, però. Gli editori di testo sono pensati per modificare i file come se fossero un file di testo. Ecco perché quando ho detto a "Nano" di aprire il file jpg, lo ha aperto "come se" è un file di testo. Una cosa simile accadrà se stai cercando di aprire altri file, ad esempio audio, video e persino file binari.

Editor di testo Vim

Ora, ci sono 2 tipi di editor di testo disponibili sulla piattaforma Linux: GUI e console.

Gli editori di testo della GUI sono i più popolari tra gli utenti generali. Alcuni di quelli popolari includono GEDIT, GNU EMACS, ATOM, parentesi, testo sublime, Codice di Visual Studio e altri.

Quando parliamo degli editori di testo della console, la vera sfida emerge. L'uso degli editori di testo console non è solo difficile ma impegnativo. Naturalmente, se hai fatto clic su questa guida, ne hai già familiarità con loro. I redattori di testo della console popolari includono Nano e VIM.

Come suggerisce il titolo dell'articolo, questa guida è su VIM - uno dei redattori di testo console più difficili. Vim è in realtà l'editor di testo "VI" con funzionalità e modifiche aggiuntive. Il mio obiettivo è offrire un'introduzione di base e dettagliata e esempi di utilizzo di VIM.

Vim Guide

Per questa guida, userò esempi di codice C ++. Dai un'occhiata ai codici C ++ di Sinairv su GitHub.

Installazione di VIM

Nella maggior parte delle distro Linux, Vim viene preinstallato con nano e/o emacs. Non importa qualunque distro Linux tu stia usando, Vim sarà sempre disponibile sul repository ufficiale come vi è richiesto da posix.

Debian/Ubuntu: sudo apt-get update && sudo apt install vim
Fedora: sudo dnf update && sudo dnf installa vim
OpenSuse: Sudo Zypper Update && Sudo Zypper Installa Vim
Distri basati su Red Hat: sudo yum update && sudo yum installa vim
Distri basati su arco/arco: sudo pacman -sy && sudo pacman -s vim

Lancio di Vim

Una volta completata l'installazione, controlla l'esistenza di VIM.

Vim Vim -Version

Se sei interessato a utilizzare VIM per la modifica di un file di testo, usa la seguente struttura.

vim

Smettere di Vim

Questa è la prima cosa che ho dovuto imparare mentre usi VIM. Ci sono molte volte in cui ho rovinato. Imparare a smettere di Vim mi ha salvato innumerevoli volte.

Tipo “: Q” e premere ENTER (senza citazioni).

Nota: VIM non ti lascerà uscire senza questo metodo. "Ctrl + C" non funziona.

Navigare il file

VIM offre un insieme davvero complicato di modi in cui è possibile utilizzare per navigare nel file di testo.

Torniamo al file di testo. Questa volta, siamo sul readme.File MD.

Il modo più semplice per navigare attraverso il file è usando i tasti freccia.

VIM consente di utilizzare altri tasti per navigare nel file come i tasti freccia.

H - Un personaggio a sinistra

L - Un personaggio a destra

K - salire

J - scendi

W - Una parola a destra

B - Una parola a sinistra

0 (zero) - inizio della linea corrente

$ - fine della linea corrente

Nota: fai attenzione al caso delle chiavi.

Modifica del file

Questa è la parte importante. Stiamo aprendo i file di testo nell'editor per eseguire alcune modifiche, giusto?

Naviga nel tuo posto desiderato sul testo e premi "io". Questo dirà a VIM di entrare nella "modalità di inserzione".

Una volta che hai fatto le modifiche necessarie, puoi uscire dalla modalità "inserisci" premendo "Ctrl + C" o ESC. La mia preferenza personale è l'utilizzo della chiave ESC.

Salvataggio del file

Prima di salvare il file, è necessario capire come VIM gestisce il lavoro.

Quando hai aperto un file di testo con VIM, stai effettivamente accedendo a una copia temporanea del file originale. Se sei soddisfatto delle tue modifiche e decidi di salvare, solo allora Vim scriverà il file modificato sul file originale.

Ci sono vantaggi in questo approccio. Impedisce al file originale di corruzione indesiderata. VIM consente a più utenti di modificare lo stesso file contemporaneamente, quindi l'uso di un file temporaneo aiuta a evitare conflitti. Vim salva il file temp in modo da poter recuperare il tuo lavoro se ci sono alcune interruzioni.

Per scrivere il buffer nel file, immettere ": w".

È anche possibile combinare il comando di scrittura con Quit.

: WQ

Questo scriverà il buffer nel file ed uscirà dall'editor.

Un'altra caratteristica interessante offre VIM è scrivere l'attuale buffer alla fine di un altro file. In breve, puoi aggiungere la modifica corrente a un altro file.

: W >>

Questo comando può anche essere associato al comando di quit.

: WQ >>

A volte, potresti solo voler scartare l'attuale buffer e iniziare da zero. Ho rovinato i sudoers più volte, specialmente con VIM. Questo metodo mi ha appena salvato un sacco di mal di testa. Di 'a Vim di uscire senza scrivere il buffer nel file.

:Q!

Ricerca

Come software leggendario, sarebbe un peccato se non ci fossero funzioni di ricerca! Usando VIM, è facile scoprire dove si trova la tua frase target. Questa è la struttura che Vim richiede per eseguire la funzione di ricerca.

?

Si noti che non esiste un divario tra il punto interrogativo e la stringa di ricerca. Dopo aver digitato il termine di ricerca, premi Invio.

Ora, quando esegui questo, sei bloccato con l'unico risultato di ricerca. È accettabile? NO! Di 'a VIM di navigare verso le partite di ricerca precedente/successiva!

N - Trova la prossima partita
N - Trova la partita precedente

Inserimento di dati da una sorgente esterna

È un'altra tecnica interessante che può essere utile in molti scenari. È possibile prendere direttamente l'output di un determinato comando e inserire nel punto giusto di un file.

:R!

Ad esempio, inseriamo l'output di un comando Pacman. Scopri come usare Pacman su Arch Linux e altri Distri a base di arco.

:R! Echo $ (Pacman -Qqe Python | Grep Python)

Questa struttura di comando offre un sacco di utilizzo possibile. Ad esempio, che ne dici di inserire il contenuto di un altro file?

:R! gatto

Se hai bisogno di ottenere specificamente il contenuto di un determinato testo, non è necessario chiamare il comando "Cat". Vim offre già un modo più semplice per farlo.

:R

Personalizzazioni vim

Vim è estremamente personalizzabile. Esistono molti modi per improvvisare la funzionalità di questo editor di testo. VIM consente molta personalizzazione tramite il file VIMRC.

Ci sono un paio di posizioni diverse per VIMRC - globale e locale. Quello globale si trova su "/etc/vim/vimrc" o "/etc/vimrc".

Per il file VIMRC locale, sarà situato in “~/.File VIMRC ".

Prima di modificare il VIMRC, è necessario comprendere l'ambito di entrambi. Il VIMRC globale (situato a "/etc/vimrc" o "/etc/vim/vimrc") influisce su tutte le sessioni VIM su tutti gli account utente. Tuttavia, nel caso del VIMRC locale (situato in “~/.VIMRC), avrà effetto solo nella sessione dell'utente.

Ecco un breve elenco di utili impostazioni VIMRC.

“Numero di linea a sinistra
Imposta numero
“Dimensione della scheda predefinita
Imposta tabstop = 4
“Abilita l'evidenziazione della sintassi
sintassi
" Avvolgere il testo
Imposta avvolgimento
“Codifica predefinita
Imposta codifica = UTF-8

Se ti capita di modificare il file VIMRC mentre VIM è in esecuzione, le modifiche non effettuano immediatamente. Dì a VIM di ricaricare la configurazione da VIMRC.

:COSÌ %

Sostituzione del contenuto

VIM non si limita alle funzionalità di ricerca di base. VIM consente il comando simile a sed per eseguire l'operazione di sostituzione.

La sintassi del comando va qualcosa del genere:

:%S///

A partire dal comportamento di sostituzione, questi 2 sono abbastanza comuni.

G - Eseguire la sostituzione su ogni occorrenza della stringa di ricerca.

GC - Come "G" ma chiederà conferma prima di apportare la modifica.

Controlliamo l'uso con un esempio. Ho l'elenco di tutti i pacchetti dal gruppo "Base-Devel" in un file di testo.

Ora, sostituiamo tutto il "core" con la stringa "coremodificata".

:%s/core/coremodified/g

Conteggio di occorrenze

Proprio come l'esempio precedente, è anche possibile evidenziare e contare solo il verificarsi della stringa di ricerca invece di sostituirla. Questo è migliore della classica funzione di ricerca.

La sintassi per l'operazione sarebbe

:%S/Notare la parte "GN"? È responsabile di scavalcare il comportamento sostitutivo.

Plugin vim

Nonostante sia un editor di testo console, VIM si offre di estendere la sua funzionalità tramite plugin. In effetti, il numero di plugin disponibili per VIM è enorme! La comunità VIM è sicuramente un luogo di geni folli!

È possibile configurare qualsiasi directory per l'hosting dei plugin. Tuttavia, si consiglia di utilizzare quello seguente.

~/.vim

Plug -in VIM diversi richiedono procedure diverse. Per un utilizzo più facile, ci sono anche una manciata di gestori di plug -in VIM! Ad esempio, Vundle, Vimplug, Patogen, ecc. Se sei interessato ad afferrare un nuovo plug -in VIM, consiglio Vimawesome. È una grande collezione di tutti i plugin VIM popolari e interessanti.

Pensieri finali

Mastering Vim richiede un po 'di lavoro. Queste sono solo le basi. Spero che questo post sia stato utile per farti familiarità con VIM e alcune delle sue basi. Sentiti libero di esplorare il mondo di Vim.

Pratica le tue abilità VIM su un file demo. In questo modo, anche se rovini il file, non è un grosso problema. Se ti capita di incasinare la configurazione di VIM, niente di panico. I file di configurazione vim predefiniti sono disponibili online.