Questo sito contiene link di affiliazione per cui può essere compensato

Home » Macity - Apple » Software / Mac App Store » Ritorno alle origini: MacVim per macOS

Ritorno alle origini: MacVim per macOS

Se siete sviluppatori, probabilmente avrete sentito parlare di “vi” e di VIM. Un po’ di storia, tanto per divertirci un po’. Correva l’anno 1976 e Bill Joy, uno dei più talentuosi informatici di sempre, uno smanettone di prima grandezza che si sarebbe trovato a dare lustro alla Sun Microsystems, faceva l’università, ovviamente a Berkeley. Aveva scritto assieme a Chuck Haley un editor di testo che si chiamava “ex” (che sta per “EXtended”) per Unix e aveva deciso di implementarne una versione migliore per la seconda distribuzione di BSD Unix. (BSD invece sta per Berkeley Software Distribution).

Il lavoro di realizzazione della nuova versione di “ex” aveva portato a qualcosa di meglio, con un modo “visuale” alquanto potenziato. Per questo Bill decise di chiamare il nuovo software “vi”, cioè “visual”. Lo sviluppo del programma era qualcosa di molto diverso da quello a cui siamo abituati oggi, perché si trattava di editor di testo che funzionavano su terminale inteso proprio come monitor e tastiera fisicamente distanti dal server Unix al quale erano connessi. Un mondo di connessioni testuali a bassa velocità, scrittura che portava alla stampa su carta di input e output; insomma, un universo alquanto distante da quello a cui siamo abituati oggi.

Il modo “visual” era inteso come uno snodo tecnologico notevole, perché passava da un modo “in linea” (cioè una riga alla volta) a un modo che abbracciava un’intera pagina, che andava a coprire la totalità dello schermo televisivo del terminale (la riga invece era quella della telescrivente). Ripeto, oggi sembrano cose di fantascienza steampunk, ma all’epoca questo era il sale del cambiamento, ed era a portata di mano di poche migliaia di geek e hacker di tutto il pianeta, cioè sostanzialmente di chi aveva accesso a Unix.

Il miracolo accade: “vi” attecchisce, viene fornito assieme a molti altri programmi nelle distribuzioni Unix e poi Linux, diventa l’editor preferito da alcune generazioni di programmatori, il suo modo di utilizzo si fa strada nella mente e nelle abitudini di tanti. Altri si orientano invece verso un altro pezzo di software che è leggermente successivo e che segue una filosofia di funzionamento radicalmente differente: “Emacs”, creato tra gli altri da Richard Stallman. Un software completamente diverso, complesso, articolato, che permette di fare praticamente tutto, anche spedire la posta elettronica. Tutto dal terminale, tutto utilizzando modi di funzionamento molto più ricchi di attributi. Come è stato detto, Emacs è la cosa più vicina a un sistema operativo nel quale un editor di testo si può trasformare senza farci perdere la sanità mentale (anche se non tutti concordano su quest’ultimo passaggio).

MacVim macOS

L’unicità di VIM

Invece la filosofia di “Vim” (l’evoluzione di “vi”, vedremo tra un attimo come mai) è quella della semplicità, dell’essenzialità: ci sono tre modi di lavoro e si passa dall’uno all’altro in maniera decisamente criptica. I modi sono: “normale”, “inserimento” e “visuale”. Se si preme “i” si va in modalità inserimento e quindi si scrive, se si preme “ESC” se ne esce e si torna alla modalità “normale”. Se da qui si preme invece “v” si va in modalità visuale e quindi ci si può muovere nel testo per leggerlo e operare complesse permutazioni e trasformazioni (che poi sono il punto di forza di “Vim”), e se poi si preme “ESC” se ne esce e si torna al modo normale. Quando ci si trova nel modo normale (come all’avvio di “Vim”) se si premono i due punti si apre una riga in fondo alla finestra del terminale dalla quale si possono dare i comandi. Ad esempio: “:w” per salvare. Oppure: “:q” per chiudere la finestra attiva. E aggiungendo un “!” si forza l’operazione. Ad esempio: “:!q” fa chiudere senza salvare le modifiche. I comandi si possono poi anche mettere in fila: “wq” salva e chiude. C’è un comodo aiuto invocabile tramite “:help” che permette di leggere una manualistica quasi sterminata disponibile all’interno del software. Tutta testuale, ovviamente.

L’evoluzione di “vi” è stata “VIM”, che vuol dire “Vi IMproved”. Realizzato all’inizio per Amiga da Bram Moolenaar (all’epoca però “VIM” voleva dire “Vi IMitation”) sulla base di Stevie Editor nel 1991, Vim è POSIX ma solo parzialmente compatibile con “vi”. Non per questo è meno interessante. Anzi, si è scoperto che Vim è l’editor più diffuso di tutti in ambiente di sviluppo, ancora più di “gedit”, che è quello di Linux, e ovviamente di Emacs. Vim porta un sacco di cose ben fatte e organizzate perché il software viene sviluppato da 25 anni, con un arricchimento di funzioni e una ripulitura del codice costante: c’è la possibilità di realizzare script, plugin, e una miriade di personalizzazioni, incluso un monte di cose che si possono fare semplicemente cambiando il file di configurazione “.vimrc” (il punto davanti al nome del file vuol dire che è invisibile), vero e proprio script capace di accogliere comandi e altre informazioni che hanno reso la creazione di un ambiente confortevole per lo sviluppatore un’arte a se stante. Si trovano repository su Internet dove vengono mostrati e scambiati i diversi file di configurazione nella logica dell’apprendimento di cose complesse ma estreamente interessanti.

MacVim macOS

Dove si trova VIM

Se usiamo il Mac e vogliamo fare esperienza di VIM, lo troviamo innanzitutto nel terminale. Basta scrivere “vi” e poi premere invio, oppure scrivere “vim” e poi premere invio. Il risultato non cambia perché “vi” viene interpretato come un alias che punta al binario di Vim. L’applicativo multipiattaforma in quanto tale è open source e viene mantenuto in un repository particolare oltre che sul sito a lui dedicato: vim.org. Vim, che ha appena compiuto (2 novembre 2016: qui il video della presentazione di Bram Moolenaar, oggi ingegnere nella sede svizzera di Google) ben venticinque anni dal suo lancio pubblico, ha caratteristiche che lo rendono davvero unico: una gestione multilivello e persistente degli UNDO/REDO, ricco ecosistema di plugin, supporto per centinaia di linguaggi di programmazione e formati di documento, potentissimo sistema di cerca e rimpiazza, integrazione con moltissimi altri tool di sviluppo. Vim, con il file di configurazione giusto e i plugin giusti può diventare (e in effetti viene utilizzato come tale) un ambiente di sviluppo integrato completo. Forse non è il supporto migliore per scrivere un romanzo, ma sicuramente permette di fare molto per chi programma.

MacVim macOS

Facciamo amicizia con MacVim

Possiamo renderci la vita più interessante e scaricare MacVim, una implementazione sotto forma di app di Vim, realizzata parallelamente a Vim vero e proprio e sviluppata per dare non solo la potenza e flessibilità del sistema di editing scriptabile e con plugin, ma anche per avere piena cittadinanza nel mondo delle app Cocoa: quindi accesso alla memoria dei copia e incolla, perfetta gestione del mouse, preferenze a pannello e menu (con tutte le configurazioni di base) e tutto il resto. Nel suo cuore, però, MacVim rimane perfettamente uguale e compatibile con le altre edizioni tradizionali di Vim. Non aspettatevi perciò di avere finestre come in un altro editor di testo qualsiasi, perché non le avrete. Inoltre, dato che il cuore Unix di macOS segue una velocità piuttosto bassa, MacVim offre sempre l’ultima versione stabile di Vim: attualmente la 8 (ottobre 2016), mentre Vim compilato da Apple per la distribuzione di macOS è alla versione 7.4 (agosto 2013).

Un’altra strada è quella che passa da Homebrew, il sistema di gestione dei pacchetti per terminale oramai vincente (rispetto ai vecchi MacPorts e soci) su Mac. Con il classico comando “brew install macvim” si ottiene l’installazione di MacVim in modo particolare (non si “vede” l’applicativo nella cartella Applicazioni né lo si trova come app cercandolo tramite Spotlight), ma si può anche farlo con “brew cask install macvim”. Nel primo caso è possibile gestire anche gli aggiornamenti (“brew update”) oppure interessa solo il binario puro e semplice dell’ultima versione di MacVim può convenire la versione “dirty” di Cask.

MacVim macOS

Cosa bisogna sapere per usare MacVim

Una volta che si è ottenuto MacVim lo shock culturale è notevole. L’approccio al testo è quello di un tool di programmazione (stile TextWrangler, per intendersi) e non di editing di parole (stile TextEdit, l’app di serie sul Mac per la creazione di testi Rtf oppure Txt, ma anche per aprire e convertire documenti in formato Doc/Docx, tutte cose che Vim si guarda bene dal saper fare). Infatti, Vim, nelle parole dei suoi stessi autori, “non è un editor di testo progettato per coccolare e portare per mano i suoi utenti. È invece uno strumento, il cui uso deve essere appreso”.

Quindi, dato che MacVim è un software modale, bisogna imparare a gestire i tre “modi” (normale, inserimento, visuale), bisogna imparare a gestire le righe (passando da una modalità “hard wrap” a una “soft wrap” degli a capo) fino a tutte le personalizzazioni di base. Poi c’è da capire che cosa si vuol fare: come sturmento per scrivere testo semplice (ad esempio la recensione che avete sotto gli occhi, è fin troppo semplice. Per gestirlo però bisogna ricordare che Vim/MacVim è come un trapano: utilizza il testo semplice. Quindi occorre ricorrere a qualcosa di differente se si vogliono introdurre formattazioni strutturali (grassetto, corsivo, link, titoletti di varie dimensioni). Mi riferisco chiaramente alla sintassi del Markdown, che è molto semplice e vale la pena guardare: ne abbiamo parlato qui e vale la pena approfondire.

Un altro uso classico di Vim, dato che è presente su qualsiasi distribuzione Unix (ma è stato portato anche su Windows, esiste su una pletora di altri sistemi e si può installarlo ad esempio su Amiga, se ancora l’usate) è di essere il classico coltellino svizzero, anzi il trapano utile per fare il buco che serve. C’è da editare un file di configurazione? Aprire una plist e cambiare un parametro? Scrivere una mail direttamente dal terminale usando Pine (o meglio: Alpine) come client di posta solo testuale? Ecco che conoscere l’uso di Vim è l’arma definitiva. Altrimenti bisogna ricorrere a editor di testo da riga di comando meno glamour come, ad esempio, nano (progetto GNU di serie con macOS che segue le orme del mitico “Pico”) o l’ottimo micro (disponibile tramite Homebrew e molto inuitivo).

La parte da programmatori o comunque da power user del testo semplice è quella dove Vim e MacVim danno il massimo. Qui si può entrare in un mondo molto più complesso, favorito dal fatto che sono disponibili plugin, colorazione per praticamente qualsiasi sintassi, macro, linguaggio di scripting, possibilità di aprire ed editare al volo file compressi, e tantissimo altro.

In conclusione

Non può che essere necessariamente stringata e fin troppo limitata l’introduzione a un piccolo capolavoro del mondo Unix come MacVim. Un software no-nonsense che permette di fare moltissimo e di farlo in maniera rapida, diretta, senza passare attraverso altre forme complesse gestione dei testo. Non è tanto una moda o un esercizio di stile quanto una necessità (per alcuni) e un modo di pensare. Il software è gratuito, disponibile per tutti, fa parte di quell’insieme enorme di funzionalità che macOS mette a disposizione “sotto il cofano” e andrebbe provato almeno una volta nella vita, soprattutto se si è presa un po’ di dimestichezza con il terminale e quindi con l’ambiente della shell.

È per tutti? Certamente no. È facile? Mica tanto. È impossibile? Neanche questo è vero. In rete si trovano molti tutorial su come utilizzare Vim/MacVim e questo in inglese è sicuramente uno dei più simpatici (ma ce ne sono anche molti in italiano). Oppure si può premere ESC e poi digitare “:help” per avere accesso a un vero e proprio libro di informazioni ed esercizi per imparare a utilizzare Vim. Pensateci: è tutto già dentro il vostro Mac, sarebbe un peccato sprecarlo.

MacVim macOS

Offerte Apple e Tecnologia

Le offerte dell'ultimo minuto le trovi nel nostro canale Telegram

Top offerte Apple su Amazon

I nuovi iMac con chip M3, Wi-Fi 6E e Bluetooth 5.3

L’iMac con M3 diventa low cost, ora in sconto a solo 1.389 €

Su Amazon va in sconto l'iMac con processore M3 in versione base. Lo pagate 260 euro meno del suo prezzo di listino nella configurazione con 256 GB di disco, CPU 8-core e GPU 8-core.

Ultimi articoli

Pubblicità