Articles

Iniziare con Vim: Le basi

Ricordo la prima volta che ho incontrato Vim. Ero uno studente universitario, e i computer nel laboratorio del dipartimento di informatica erano installati con Ubuntu Linux. Mentre ero stato esposto a diverse varianti di Linux (come RHEL) anche prima dei miei anni universitari (Red Hat vendeva i suoi CD a Best Buy!), questa era la prima volta che avevo bisogno di usare regolarmente il sistema operativo Linux, perché i miei corsi me lo richiedevano. Una volta che ho iniziato ad usare Linux, come molti altri prima e dopo di me, ho iniziato a sentirmi un “vero programmatore”

1_xkcdcartoon.jpg

Programmatori veri, di xkcd

Gli studenti potevano usare un editor di testo grafico come Kate, che era installato di default sui computer del laboratorio. Per gli studenti che potevano usare la shell ma non erano abituati all’editor da console, la scelta popolare era Nano, che forniva buoni menu interattivi e un’esperienza simile all’editor di testo grafico di Windows.

Ho usato Nano qualche volta, ma ho sentito cose fantastiche su Vi/Vim ed Emacs e volevo davvero provarli (principalmente perché sembravano belli, ed ero anche curioso di vedere cosa ci fosse di così grande). Usare Vim per la prima volta mi spaventava – non volevo rovinare nulla! Ma una volta che ci ho preso la mano, le cose sono diventate molto più facili e ho potuto apprezzare le potenti capacità dell’editor. Per quanto riguarda Emacs, beh, mi sono un po’ arreso, ma sono felice di essere rimasto con Vim.

In questo articolo, camminerò attraverso Vim (basato sulla mia esperienza personale) quanto basta per poterlo usare come editor su un sistema Linux. Questo non vi renderà un esperto e non scalfirà nemmeno la superficie di molte delle potenti capacità di Vim. Ma il punto di partenza è sempre importante, e voglio rendere l’esperienza iniziale il più facile possibile, e potrete esplorare il resto per conto vostro.

Passo 0: Aprire una finestra di console

Prima di saltare in Vim, è necessario fare una piccola preparazione. Apri un terminale di console dal tuo sistema operativo Linux. (Dato che Vim è disponibile anche su MacOS, gli utenti Mac possono usare anche queste istruzioni.)

Una volta aperta una finestra di terminale, digita il comando ls per elencare la directory corrente. Poi, digitate mkdir Tutorial per creare una nuova directory chiamata Tutorial. Entrate nella directory digitando cd Tutorial.

Questo è tutto per la preparazione. Ora è il momento di passare alla parte divertente: iniziare ad usare Vim.

Passo 1: Creare e chiudere un file Vim senza salvare

Ricordi quando ho detto che all’inizio avevo paura di usare Vim? Beh, la parte spaventosa era pensare, “e se cambiassi un file esistente e incasinassi le cose?” Dopo tutto, diversi compiti di informatica mi richiedevano di lavorare su file esistenti modificandoli. Volevo sapere: Come posso aprire e chiudere un file senza salvare le mie modifiche?

La buona notizia è che potete usare lo stesso comando per creare o aprire un file in Vim: vim <FILE_NAME>, dove <FILE_NAME> rappresenta il nome del file che vuoi creare o modificare. Creiamo un file chiamato HelloWorld.java digitando vim HelloWorld.java.

Ciao, Vim! Ora, ecco un concetto molto importante in Vim, forse il più importante da ricordare: Vim ha diverse modalità. Qui ce ne sono tre che devi conoscere per fare le basi di Vim:

Modalità Descrizione
Normale Default; per la navigazione e la modifica semplice
Insert Per inserire e modificare esplicitamente il testo
Command Line Per operazioni come salvare, uscire, ecc.

Vim ha altre modalità, come Visual, Select, e Ex-Mode, ma le modalità Normal, Insert, e Command Line sono abbastanza buone per noi.

Si è ora in modalità Normal. Se hai del testo, puoi muoverti con i tasti freccia o altre sequenze di tasti di navigazione (che vedrai più avanti). Per assicurarti di essere in modalità normale, premi semplicemente il tasto Esc (Escape).

Tip: Esc passa alla modalità normale. Anche se siete già in modalità normale, premete Esc solo per fare pratica.

Ora, questo sarà interessante. Premete : (il tasto dei due punti) seguito da q! (cioè, :q!). Il vostro schermo sarà simile a questo:

Premendo i due punti in modalità normale, Vim passa alla modalità linea di comando, e il comando :q! esce dall’editor Vim senza salvare. In altre parole, stai abbandonando tutte le modifiche. Puoi anche usare ZQ; scegli l’opzione che ti è più comoda.

Una volta premuto Invio, non dovresti più essere in Vim. Ripetete l’esercizio un paio di volte, giusto per prenderci la mano. Una volta fatto questo, passa alla prossima sezione per imparare come fare una modifica a questo file.

Passo 2: Fare e salvare le modifiche in Vim

Riapri il file digitando vim HelloWorld.java e premendo il tasto Invio. La modalità Inserisci è quella in cui puoi apportare modifiche ad un file. Prima premi Esc per assicurarti di essere in modalità normale, poi premi i per andare in modalità Inserisci. (Sì, questa è la lettera i.)

In basso a sinistra, dovresti vedere — INSERT –. Questo significa che sei in modalità Inserisci.

Scrivi del codice Java. Puoi digitare qualsiasi cosa tu voglia, ma qui c’è un esempio da seguire. Il tuo schermo sarà come questo:

public class HelloWorld {
public static void main(String args) {
}
}

Molto carino! Notate come il testo è evidenziato con i colori della sintassi Java. Poiché hai iniziato il file in Java, Vim rileverà il colore della sintassi.

Salva il file. Premi Esc per lasciare la modalità Insert ed entrare nella modalità Command Line. Scrivete : e seguite con x! (cioè i due punti seguiti da x e !). Premi Invio per salvare il file. Puoi anche digitare wq per eseguire la stessa operazione.

Ora sai come inserire il testo usando la modalità Inserisci e salvare il file usando :x! o :wq.

Step 3: Navigazione di base in Vim

Sebbene tu possa sempre usare i tuoi amichevoli pulsanti freccia su, giù, sinistra e destra per muoverti in un file, questo sarebbe molto difficile in un file grande con quasi innumerevoli linee. È anche utile essere in grado di saltare all’interno di una linea. Anche se Vim ha una tonnellata di caratteristiche di navigazione impressionanti, la prima che voglio mostrarvi è come andare ad una linea specifica.

Premete il tasto Esc per assicurarvi di essere in modalità normale, poi digitate :set number e premete Invio.

Voila! Vedrete i numeri di linea sul lato sinistro di ogni linea.

:2

Ora passate alla linea 3.

Ma immaginate uno scenario in cui avete a che fare con un file lungo 1.000 linee e volete andare alla fine del file. Come ci arrivate? Assicurati di essere in modalità Normale, poi digita :$ e premi Invio.

Ti troverai sull’ultima riga!

Ora che sai come saltare tra le righe, come bonus, impariamo come spostarci alla fine di una riga. Assicurati di essere su una linea con del testo, come la linea 3, e digita $.

Ora sei all’ultimo carattere della linea. In questo esempio, la parentesi graffa aperta è evidenziata per mostrare dove si è spostato il cursore, e la parentesi graffa di chiusura è evidenziata perché è il carattere corrispondente alla parentesi graffa aperta.

Questo è tutto per la navigazione di base in Vim. Aspetta, non uscire dal file, però. Passiamo all’editing di base in Vim. Sentiti libero di prendere una tazza di caffè o di tè, però.

Step 4: Editing di base in Vim

Ora che sai come navigare in un file saltando sulla linea che vuoi, puoi usare questa abilità per fare qualche editing di base in Vim. Passa alla modalità Inserisci. (Ricordi come si fa, premendo il tasto i?) Certo, puoi modificare usando la tastiera per cancellare o inserire caratteri, ma Vim offre modi molto più veloci per modificare i file.

Passa alla linea 3, dove mostra public static void main(String args) {. Premi velocemente il tasto d due volte di seguito. Sì, questo è dd. Se l’hai fatto con successo, vedrai una schermata come questa, dove la linea 3 non c’è più, e ogni linea successiva è stata spostata di uno (cioè, la linea 4 è diventata la linea 3).

Questo è il comando di cancellazione. Non temete! Premete u e vedrete la linea cancellata recuperata. Wow. Questo è il comando annulla.

La prossima lezione è imparare come copiare e incollare il testo, ma prima, devi imparare come evidenziare il testo in Vim. Premi v e muovi i pulsanti freccia sinistra e destra per selezionare e deselezionare il testo. Questa funzione è anche molto utile quando stai mostrando del codice ad altri e vuoi identificare il codice che vuoi che vedano.

Spostare alla linea 4, dove dice System.out.println(“Hello, Opensource”);. Evidenziate tutta la linea 4. Fatto? OK, mentre la linea 4 è ancora evidenziata, premete y. Questo è chiamato modo yank, e copierà il testo negli appunti. Poi, crea una nuova linea sotto inserendo o. Nota che questo ti metterà in modalità Inserisci. Esci dalla modalità Inserisci premendo Esc, poi premi p, che sta per incolla. Questo incollerà il testo copiato dalla linea 3 alla linea 4.

Come esercizio, ripeti questi passi ma modifica anche il testo sulle linee appena create. Inoltre, assicurati che le linee siano allineate bene.

Suggerimento: devi passare avanti e indietro tra la modalità Inserisci e la modalità Riga di comando per eseguire questo compito.

Una volta finito, salva il file con il comando x! Questo è tutto per l’editing di base in Vim.

Step 5: Ricerca di base in Vim

Immagina che il tuo capo squadra voglia che tu cambi una stringa di testo in un progetto. Come puoi farlo velocemente? Potresti voler cercare la riga usando una certa parola chiave.

La funzionalità di ricerca di Vim può essere molto utile. Vai in modalità Linea di comando (1) premendo il tasto Esc, poi (2) premendo i due punti :. Possiamo cercare una parola chiave inserendo :/<SEARCH_KEYWORD>, dove <SEARCH_KEYWORD> è la stringa di testo che volete trovare. Qui stiamo cercando la parola chiave “Hello”. Nell’immagine qui sotto, i due punti mancano ma sono necessari.

Tuttavia, una parola chiave può apparire più di una volta, e questa potrebbe non essere quella desiderata. Quindi, come si fa a navigare per trovare la prossima corrispondenza? Semplicemente premendo il tasto n, che sta per prossimo. Assicuratevi di non essere in modalità Inserisci quando fate questo!

Passo bonus: Usare la modalità split in Vim

Questo copre più o meno tutte le basi di Vim. Ma, come bonus, voglio mostrarvi una fantastica funzione di Vim chiamata modalità di divisione.

Uscite da HelloWorld.java e create un nuovo file. In una finestra di terminale, digitate vim GoodBye.java e premete Invio per creare un nuovo file chiamato GoodBye.java.

Inserite il testo che volete; io ho deciso di scrivere “Goodbye”. Salvate il file. (Ricorda che puoi usare :x! o :wq in modalità linea di comando.)

In modalità linea di comando, digita :split HelloWorld.java, e guarda cosa succede.

Wow! Guardate! Il comando split ha creato finestre divise orizzontalmente con HelloWorld.java sopra e GoodBye.java sotto. Come puoi passare da una finestra all’altra? Tieni premuto Control (su Mac) o CTRL (su PC) e premi ww (cioè w due volte di seguito).

Come esercizio finale, prova a modificare GoodBye.java in modo che corrisponda alla schermata sottostante copiando e incollando da HelloWorld.java.

Salva entrambi i file, e hai finito!

TIP 1: Se volete disporre i file verticalmente, usate il comando :vsplit <FILE_NAME> (invece di :split <FILE_NAME>, dove <FILE_NAME> è il nome del file che volete aprire in modalità Split.

TIP 2: Puoi aprire più di due file chiamando tutti i comandi aggiuntivi split o vsplit che vuoi. Prova e vedi come ti sembra.

Scheda di trucco di Vim

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *