Usare Vim per scrivere partiture in LilyPond
A proposito di LilyPond
LilyPond è un linguaggio per produrre eleganti partiture musicali, strutturalmente simile a LaTeX con il quale può integrarsi per generare documenti contenenti testo e musica (per l’integrazione tra LilyPond e LaTeX richiamo questo mio articolo.)
Anche in LilyPond, come in LaTeX, è possibile scrivere il contenuto con vari editor.
Molto utile, sopratutto per imparare la sintassi, è l’editor denominato Frescobaldi.
Per chi, invece, ha già imparato la sintassi, può essere utile sfruttare le infinite potenzialità di Emacs e Vim,
Nel manuale d’uso di LilyPond, versione 2.22, vengono riportate alcune sintetiche indicazioni per l’utilizzo con Emacs nonché per l’utilizzo con Vim.
In questo articolo aggiungo soltanto qualche dato tecnico e pratico per quanto concerne Vim (ad Emacs dedicherò un successivo articolo).
Ogni passaggio è stato provato su due distribuzioni Linux: Ubuntu 21.10 e Arch.
Voce “Modalità di Vim” tratta dal Manuale d’Uso ufficiale di LilyPond
Riporto le indicazioni tratte dal Manuale d’Uso, attualmente disponibii al link sopra indicato, sulla descrizione e configurazione di Vim per l’utilizzo come editor in LilyPond:
Per Vim, sono disponibili le seguenti funzionalità per LilyPond: un plugin di riconoscimento del tipo di file, una modalità di indentazione e di evidenziazione della sintassi. Per abilitarle, crea (o modifica) il file
$HOME/.vimrcin modo che contenga queste tre righe, in questo ordine:
filetype off
set runtimepath+=/usr/local/share/lilypond/current/vim/
filetype on
syntax on
Se LilyPond non è installato nella directory ‘/usr/local/’, modifica il percorso in modo adeguato. Questo argomento è trattato in Altre fonti di informazione.
Osservazioni sulla configurazione di Vim per Lilypond
Le funzionalità di Vim sono contenute nelle cartelle compiler, ftdetect, ftplugin, indent, syntax.
Ciascuna cartella contiene un unico documento con lo stesso nome: lilypond.vim.
Le cartelle devono trovarsi all’interno del percorso path oppure all’interno della home dell’utente o in una libreria condivisa, ad esempio /usr/share/vim/vimfiles/.
La modifica del file di configurazione di Vim, riportata nelle istruzioni ufficiali, serve a ricomprendere le cinque cartelle all’interno del path.
Se, invece, si trovassero già in una della locazioni sopra indicate, non occorrerebbe alcuna modifica e Vim sarebbe già pronto per essere utilizzato in LilyPond.
In alternativa, esiste un plugin indipendente a questo indirizzo.
Analisi dei file di configurazione
Riporto alcune osservazioni di sintesi sui file di configurazione di Vim per LilyPond:
- /compiler/lilypond.vim: si occupa della compilazione del documento scritto in LilyPond, ovvero della trasformazione del codice in partitura nel formato PDF.
- /ftdetect/lilypond.vim: ha la funzione di riconoscere il tipo di documento dall’estensione
lye di attribuirla a LilyPond. - /ftplugin/lilypond.vim: è il vero e proprio plugin per LilyPond in cui sono contenuti i tasti funzioni impostati, ovvero:
F4per salvare, compilare ed eseguire la versione midi tramite il software timidity (che, ovviamente, deve essere installato a parte);F5per salvare e compilare (senza lanciare timidity);F6per visualizzare la partitura in pdf con ghostview, anche questo da installare a parte se non già presente nel sistema;F7per saltare all’errore precedente;F8per saltare all’errore successivo;F9per compilare;F10per visualizzare un menù (generico, non specifico per LilyPond) sulla barra inferiore. Per navigare nel menù:C-zoC-nper muoversi in avanti eC-pper muoversi all’indietro (combinazioni derivate chiaramente dal mondo Emacs in cui la “n” sta per next e la “p” per previous), oltre ai tasti freccia;F12per commentare la regione selezionata (notare il termine regione tipico di Emacs);S-F12per rimuovere il commento dalla regione;C-nper completare i comandi nelle modalità di Inserimento e Rimpiazzo. Anche in questo caso si usano le combinazioniC-nper muoversi in avanti eC-pper muoversi all’indietro nella finestra delle varie alternative.
- /indent/lilypond.vim: per indentare i documenti in LilyPond
- /syntax/lilypond.vim: contiene l’elenco dei comandi del linguaggio LilyPond utilizzato per il completamento attivabile con
Ctrl-nsopra già descritto.
Considerazioni sull’utilizzo di Vim per LilyPond
Il plugin per Vim non offre un menu dedicato a Lilypond. L’unica elencazione di comandi è quella contenuta all’interno del file ftplugin descritto al paragrafo precedente.
I comandi del linguaggio LilyPond devono, quindi, essere già conosciuti.
Questo significa che l’utilizzo di Vim per LilyPond è utilizzabile solo da chi abbia già una buona conoscenza del linguaggio oltre che, naturlamente, di Vim.
Il completamento con C-n è, in ogni caso, molto efficace.
Il valore aggiunto, rispetto ad altri editor, è Vim stesso, con la sua infinita ricchezza di funzionalità native ed aggiuntive.
Come PDF reader per Vim consiglio Zathura: stessa impostazione essenziale e minimalista e stessi comandi.
Grazie per la vostra attenzione.