Aprire un file .MD o altro file di testo direttamente nel Terminale con Vim
Questo articolo è, come accade spesso in questo periodo, nato casualmente e per un’esigenza specifica.
È da un po infatti che voglio utilizzare maggiormente Vim per scrivere; in particolare mi interessava poter aprire velocemente un documento in Markdown all’interno del Terminale senza svolgere tutte le seguenti operazioni:
- Aprire il Terminale;
- Accedere alla cartella in cui è conservato il file che voglio scrivere / modificare / revisionare;
- Aprire con Vim il suddetto documento;
- Iniziare finalmente a fare quel che effettivamente volevo fare.
Ho quindi pensato di cercare un sistema più veloce (chi ha detto un’automazione?!? 😄) per evitarmi tutta questa trafila.
Come al solito, visto che sono pigro, ho iniziato a cercare su internet nella speranza che qualcuno si fosse posto il mio stesso problema e, al posto mio, lo avesse già risolto.
Come spesso accade non è necessario reinventare la ruota ma, eventualmente (come vedremo dopo,) è sufficiente riadattarla alle nostre specifiche esigenze.
Le mie ricerche hanno dato subito buoni frutti e mi sono trovato con svariato materiale a disposizione: sì non sono l’unico che vuole usare Vim velocemente dal Finder!
1. Automatizzare con AppleScript ed Automator
La maggior parte dei lavori che ho trovato (svariati link sono disponibili nei “materiali di riferimento” a fondo articolo) la maggior parte affrontava tuttavia il problema in un modo differente da quello che volevo io.
1.1 Azione rapida al posto dell’applicazione
In particolare l’idea di fondo era quella di creare una “Applicazione” attraverso cui aprire uno specifico tipo di file. Io invece volevo una soluzione più snella e più simile al mio metodo di lavoro quotidiano ovvero: aprire il Finder nella cartella di lavoro (per avvocati e mac ho un elenco di cartelle preferite sul lato sinistro del Finder e per le pratiche utilizzo Launchbar per accedere velocemente alla relativa cartella con pochi comandi a tastiera) e poi con il tasto destro del mouse (trackpad per quanto mi riguarda) aprire velocemente il documento.
Personalmente questo metodo è comodo perché, oltre ad avere aperta la cartella del Finder dove sto lavorando con uno o più documenti, ho la possibilità per quanto riguarda i documenti in Markdown di aprirli anche con Marked 2 di Brett Terpstra per una prima pre-visualizzazione.
Ho quindi preferito, all’opzione di creare un applicazione con Automator, l’opzione di creare quello che, una volta, si chiamava “Servizio“ ed ora (da Mojave macOS 10.14 in poi) si chiama Azione Rapida.
Questo metodo, infatti, mi permette di invocare il flusso di lavoro di Automator sia dal menù contestuale del tasto destro del mouse sia abbinandogli una scorciatoia a tastiera.
Nell’immagine sottostante vedete come è possibile, accedendo alle Preferenze di Sistema del vostro Mac alla voce Tastiera e dentro il tab Abbreviazioni, trovare la voce Servizi (che stranamente non è coerente con la nuova nomenclatura Apple) ed in questa il flusso di lavoro che ho denominato, molto pragmaticamente, “Apri in Vim”. Premendo sul tasto Aggiungi è possibile impostare una scociatoia a tastiera che permette di invocare il flusso di lavoro di Automator.
1.2 Com'è strutturato il flusso di lavoro di Automator?
Il flusso di lavoro è decisamente banale (perché il grosso del lavoro è fatto dall’AppleScript); in pratica Automator si occupa semplicemente di prendere l’input (il nostro documento da aprire in Vim) e passarlo allo script.
2. Esaminiamo in dettaglio l’AppleScript
Premetto che esistevano soluzioni più “semplici” (e ne trovate alcune nei materiali di riferimento) ma ho prediletto questa perché era più strutturata e ragionata.
Se interessa qui la pagina di GitHub dello script che ho manipolato.
Come vedete dall’immagine ho aggiunto anche i commenti in italiano allo script quindi non mi dilungherò troppo.
Non ho apportato particolari modifiche allo script se non nella parte finale dove, per mia personale comodità, ho aggiunto la pressione del tasto ⌘+ alcune volte che permette, all’interno della finestra del Terminale, di ingrandire la visualizzazione dei caratteri.
Materiale di riferimento
- Articolo di riferimento
- Articolo più dettagliato e con esempi
- Lo script che ho utilizzato
- Lo script che ho utilizzato, io in particolare ho usato “open-file-in-vim as Application”
- Testato funziona e modifica anche le dimensioni della finestra piacimento – sto sperimentando con dimensione caratteri
- Complete list of AppleScript key codes
In conclusione
Questo articolo è stato integralmente scritto in Vim (dopo un po' di assenza, lo devo dire). Sicuramente l’automazione che vi ho descritto mi aiuterà ad utilizzare maggiormente Vim su macOS e, spero, possa incuriosire alcuni di voi a provare l’utilizzo di Vim.
Come sempre se avete domande o richieste di chiarimenti potete lasciarle nei commenti qui sotto.