:vim — corso in 10 lezioni
Prima di cominciare

Cinquant'anni in una pagina

Vim è pieno di scelte che sembrano arbitrarie: perché ci si muove con h j k l, perché Esc, perché i comandi sono di una lettera sola. Nessuna di queste è casuale: sono tutte tracce fossili di come si scriveva codice negli anni Settanta.

Storia

Prima c'era la carta

Il primo editor Unix, ed, nasce nel 1969 con il sistema stesso. Non era un editor a schermo per un motivo semplice: lo schermo non c'era. Si lavorava su una telescrivente, che stampava su un rullo di carta. Non potendo cancellare l'inchiostro, l'unico modo di modificare un testo era descrivere le modifiche a parole: «nelle righe dalla 10 alla 20, sostituisci questo con quello».

ed — parlare al testo senza vederlo
$ ed lettera.txt
1180
1,20s/Egregio/Gentile/g
w
1174
q

Quella sintassi non ti sembra nuova? È esattamente il comando della lezione 6. Ogni volta che scrivi :%s/vecchio/nuovo/g stai usando, senza una virgola di differenza, il linguaggio inventato per una macchina che stampava su carta. È la parte più antica di Vim ancora in servizio — e non è sopravvissuta per nostalgia, ma perché descrivere una modifica resta il modo più rapido di applicarla a mille righe insieme.

La tastiera che ha deciso tutto

Nel 1976 Bill Joy, studente a Berkeley, prende ed, lo estende in ex (extended ed) e poi gli aggiunge una novità: un modo visuale, in cui il terminale mostra continuamente una finestra sul file. Il comando per attivarlo era vi. Il nome è rimasto quello.

Joy lavorava a un terminale Lear Siegler ADM-3A, e quella tastiera spiega metà di ciò che troverai in questo corso:

   ESC  1  2  3  4  5  6  7  8  9  0  :  -  =
   ↑ dov'è oggi il Tab            ↑ il tasto dei comandi, senza Shift

    CTRL   A  S  D  F  G  H  J  K  L  ;  '
                                
              le frecce erano disegnate su questi quattro tasti:
              erano le uniche che esistessero.
Si pronuncia «vi-ai», non «vi» e nemmeno «sei». Sta per visual, non per il numero romano. Bill Joy raccontò poi che se avesse avuto più tempo avrebbe rifatto tutto in modo diverso — ma nel frattempo vi era già finito dentro BSD, e da lì dentro lo standard POSIX, che ancora oggi impone a ogni sistema Unix di fornire un comando vi.
Storia

Da vi a Vim: un olandese e un Amiga

Il codice di vi apparteneva ad AT&T, e questo per anni ne impedì la libera distribuzione. Nacquero così i cloni: Stevie, Elvis, nvi, vile. Da uno di questi comincia la storia vera.

Nel 1988 Bram Moolenaar, ingegnere olandese, compra un Amiga e scopre che non esiste un vi decente. Parte dal codice di Stevie e lo sistema per sé. Nel 1991 pubblica la sua versione: si chiama Vim, e all'inizio la sigla sta per Vi IMitation. Due anni dopo, quando le funzioni superate sono ormai troppe per chiamarla imitazione, il nome diventa Vi IMproved.

1969

ed

Ken Thompson scrive l'editor di riga di Unix. Gli intervalli e :s nascono qui.

1976

vi

Bill Joy aggiunge a ex il modo visuale. Con BSD arriva su ogni macchina Unix del pianeta.

1987

Stevie

ST Editor for VI Enthusiasts, un clone per Atari ST. Sarà il punto di partenza di Vim.

1991

Vim 1.14

Bram Moolenaar pubblica la prima versione, per Amiga. Undo multiplo e . sono già più di quanto facesse vi.

1998

Vim 5

Colori della sintassi. È la versione che convince molti a lasciare vi.

2001 · 2006

Vim 6 e 7

Ripiegature, plugin e supporto per i linguaggi; poi correttore ortografico, completamento intelligente, schede.

2014

Neovim

Un gruppo di sviluppatori riscrive parti del codice in un fork: interfaccia disaccoppiata, terminale integrato, script in Lua. La concorrenza fa bene a entrambi.

2016 · 2022

Vim 8 e 9

Processi asincroni, pacchetti nativi, terminale interno; poi Vim9script, un linguaggio di configurazione compilato e molto più veloce.

2023

La morte di Bram

Bram Moolenaar muore il 3 agosto, a 62 anni, dopo aver mantenuto il progetto per trentadue. Lo sviluppo prosegue con un gruppo di manutentori.

2026

Vim 9.2

Uscita a febbraio: supporto sperimentale a Wayland, adeguamento allo standard XDG per i file di configurazione, modalità diff migliorata. Cinquant'anni dopo l'ADM-3A, si continua.

Storia

Charityware

Vim è software libero, ma con una richiesta particolare attaccata: se ti è utile, Moolenaar chiedeva una donazione per i bambini dell'Uganda. Aveva lavorato come volontario a Kibaale, un villaggio del sud del paese, e aveva legato il suo editor a quel progetto attraverso la fondazione ICCF Holland. La cosa non è scritta in un file dimenticato: è dentro il programma, e ci arrivi con un comando.

provalo adesso
:help uganda

Da lì viene anche il messaggio che Vim mostra all'avvio, sotto il logo: quella riga che tutti hanno visto centinaia di volte senza leggerla mai.

Perché ha senso impararlo oggi

E una nota di realismo. Vim non è obbligatorio per essere bravi, e chi lo racconta come una prova di virtù fa un cattivo servizio. È uno strumento con una curva d'ingresso ripida e una lunga pianura di rendimento: le prime due settimane sarai più lento di prima. Se attraversi quel periodo, il resto è tutto guadagnato — e comincia dalla prossima pagina.