Vim Plugins · 4 min read · Nov 30, 2025
Plugin utili per l'editor Vim per sviluppatori software - parte 3: a.vim
Fino ad ora, in questa serie di articoli che trattano plugin relativi alla programmazione per Vim, abbiamo discusso le basi dell’installazione dei plugin Vim utilizzando il gestore di plugin Pathogen, e abbiamo coperto un totale di tre plugin - ovvero Tagbar, delimitMate e Syntastic. Ora, in questa terza e ultima parte, discuteremo di un altro plugin molto utile chiamato a.vim.
Si prega di notare che tutti gli esempi, comandi e istruzioni menzionati in questo tutorial sono stati testati su Ubuntu 16.04, e la versione di Vim che abbiamo utilizzato è 7.4.
A.vim
Se sei nel campo dello sviluppo software e lavori con linguaggi di programmazione come C e C++, sarai d’accordo che è praticamente impossibile dire quante volte devi passare tra file sorgente e file header. Quello che intendo dire è che è un compito molto basilare che viene svolto molto frequentemente.
Mentre è facile passare tra file quando si utilizza un IDE basato su GUI (dato che devi solo fare un paio di clic del mouse), le cose diventano un po’ difficili se stai usando un IDE da riga di comando come Vim. Tuttavia, come avrai già indovinato, esiste un plugin - chiamato a.vim - che rende la vita più facile per te, soprattutto quando si tratta di passare tra file sorgente e file header.
Prima di passare all’uso, vale la pena menzionare che il processo di installazione per questo plugin è diverso dal modo in cui abbiamo installato gli altri plugin discussi in questa serie di articoli. Di seguito sono riportati i passaggi coinvolti in questo caso:
- Innanzitutto, devi scaricare un paio di file (a.vim e alternate.txt), cosa che puoi fare andando qui.
- Successivamente, crea le seguenti directory: ~/.
vim/bundle/avim, ~/.vim/bundle/avim/doc, ~/.vim/bundle/avim/plugin, e ~/.*vim/bundle/autoload*. - Una volta completata la creazione delle directory, metti a.vim in ~/.vim/bundle/avim/plugin così come ~/.vim/bundle/autoload, e alternate.txt in ~/.vim/bundle/avim/doc.
Questo è tutto. Se tutti i passaggi sopra menzionati sono stati completati con successo, il plugin sarà installato sul tuo sistema.
Usare il plugin è molto semplice: tutto ciò che devi fare è eseguire il comando :A - se il file corrente è un file sorgente (diciamo test.c), il plugin aprirà il corrispondente file header (test.h) per te (viceversa è vero anche).
Ovviamente, non ogni volta esiste un file corrispondente con lo stesso nome. In questi casi, eseguire :A creerà un nuovo file con quel nome. Ad esempio, se test.h non esiste, verrà creato e aperto un file con quel nome per te.
Nel caso tu voglia disabilitare questo comportamento, puoi impostare la variabile g:alternateNoDefaultAlternate (dandole un valore diverso da zero) nel file .vimrc presente nella tua home directory.
Passando oltre, è abbastanza normale fare riferimento a un file header non corrispondente da un file sorgente. Ad esempio, se sei in test.c e vuoi passare a un altro file header (diciamo mem.h) e non test.h, puoi farlo eseguendo il comando: IH
Fino ad ora, qualsiasi funzionalità abbiamo discusso presume che il file che intendi aprire sia presente nella stessa directory del file corrente. Tuttavia, come sarai d’accordo, non è sempre così. Quello che intendo dire è che in molti progetti la posizione dei file sorgente e dei file header corrispondenti non è sempre nella stessa directory.
Per gestire tali situazioni, devi usare la variabile g:alternateSearchPath. Questo è ciò che dice la documentazione ufficiale riguardo a questa variabile:
“Questo plugin consente di configurare il percorso di ricerca utilizzato per localizzare i file sorgente e header. Il percorso di ricerca è specificato impostando la variabile g:alternateSearchPath. L’impostazione predefinita è la seguente:”
g:alternateSearchPath = 'sfr:../source,sfr:../src,sfr:../include,sfr:../inc' “Questo indica che il file corrispondente sarà cercato in ../source, ../src, ../include e ../inc, tutti relativi al file corrente da cui si sta passando. Il valore della variabile g:alternateSearchPath è semplicemente un elenco separato da virgole di prefissi e directory. Il prefisso “sfr:” indica che il percorso è relativo al file. Altri prefissi sono “wdr:” che indica che la directory è relativa alla directory di lavoro corrente e “abs:” che indica che il percorso è assoluto. Se non viene specificato alcun prefisso, si assume “sfr:”.”
Se tutte le funzionalità sopra menzionate di questo plugin ti hanno già fatto esclamare “wow”, lascia che ti dica che non è tutto. Un’altra funzionalità estremamente utile offerta dal plugin è la possibilità di dividere lo schermo di Vim in modo che sia il file sorgente che il suo file header corrispondente possano essere visualizzati simultaneamente.
Inoltre, puoi dividere lo schermo sia orizzontalmente che verticalmente, a seconda di ciò che si adatta meglio a te. Usa il comando :AS per dividere lo schermo orizzontalmente e il comando :AV per la divisione verticale.


Usa il comando :A per passare tra i file aperti.
Il plugin ti consente anche di aprire un file corrispondente in una scheda separata all’interno della stessa finestra di Vim. Puoi farlo eseguendo il comando :AT.

Certo, come :AV, :AS e :AT, puoi usare anche i comandi :IHV, :IHS e :IHT.
Conclusione
Sebbene ci siano molti plugin Vim relativi alla programmazione disponibili per l’uso, quelli che abbiamo discusso in questa serie di tre parti dovrebbero essere sufficienti per darti un’idea di quanto potente diventi l’editor se hai i plugin corretti abilitati per il tuo lavoro di sviluppo software.
Certo, ci siamo concentrati solo sulla parte di programmazione qui. Per coloro di voi che usano Vim come editor di testo quotidiano, dovreste sapere che ci sono una miriade di plugin disponibili che aggiungono funzionalità di editing del testo a Vim e lo rendono ancora migliore. Ma lasceremo questa discussione per un altro giorno.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.