Finora, in questa serie di articoli riguardanti i plugin relativi alla programmazione per Vim, abbiamo discusso le basi dell'installazione del plugin Vim usando il gestore plugin Pathogen e abbiamo trattato un totale di tre plugin:Tagbar, dellimitMate e Syntastic. Ora, in questa terza e ultima parte, discuteremo di un altro plugin molto utile chiamato a.vim .
Tieni presente che tutti gli esempi, i comandi e le istruzioni menzionati in questo tutorial sono stati testati su Ubuntu 16.04 e la versione di Vim che abbiamo utilizzato è la 7.4.
A.vim
Se ti occupi di sviluppo software e lavori con linguaggi di programmazione come C e C++, sei d'accordo sul fatto che è praticamente impossibile dire quante volte devi passare dai file sorgente a quelli di intestazione. Quello che voglio dire è che è un compito molto semplice che viene svolto molto frequentemente.
Sebbene sia facile passare da un file all'altro quando si utilizza un IDE basato su GUI (poiché devi solo fare un paio di clic del mouse), le cose diventano un po' difficili se utilizzi un IDE a riga di comando come Vim. Tuttavia, come ormai avresti intuito, esiste un plug-in, chiamato a.vim, che ti semplifica la vita soprattutto quando si tratta di passare dai file sorgente a quelli di intestazione.
Prima di passare all'utilizzo, vale la pena ricordare che il processo di installazione di questo plugin è diverso dal modo in cui installiamo gli altri plugin discussi in questa serie di articoli. Di seguito sono riportati i passaggi coinvolti in questo caso:
- In primo luogo, devi scaricare un paio di file (a.vim e alternative.txt), cosa che puoi fare andando qui.
- Quindi, crea le seguenti directory:~/ .
vim/bundle/avim
, ~/ .vim/bundle/avim/doc
, ~/ .vim/bundle/avim/plugin
e ~/ .vim/bundle/autoload.
- Una volta completata la creazione della directory, inserisci a.vim in ~/.vim/bundle/avim/plugin nonché ~/.vim/bundle/autoload e alternate.txt in ~/.vim/bundle/avim/doc .
Questo è tutto. Se tutti i suddetti passaggi vengono completati correttamente, il plug-in verrà installato sul tuo sistema.
Usare il plugin è molto semplice:tutto quello che devi fare è eseguire :A comando - se il file corrente è un file sorgente (diciamo test.c), il plugin aprirà il file di intestazione corrispondente (test.h) per te (anche viceversa è vero).
Ovviamente, non tutte le volte esiste un file corrispondente con lo stesso nome. In questi casi, eseguendo :A creerà un nuovo file con quel nome. Ad esempio, se test.h non esiste, verrà creato e aperto un file con quel nome.
Nel caso in cui desideri disattivare questo comportamento, puoi impostare g:alternateNoDefaultAlternate variabile (dagli un valore diverso da zero) in .vimrc file presente nella tua home directory.
Andando avanti, è abbastanza normale fare riferimento anche a un file di intestazione non corrispondente da un file sorgente. Ad esempio, se sei in test.c e desideri passare a qualche altro file di intestazione (ad esempio mem.h) e non test.h, puoi farlo eseguendo :IH
Finora, qualsiasi funzionalità di cui abbiamo discusso presuppone che il file che intendi aprire sia presente nella stessa directory del file corrente. Tuttavia, come saresti d'accordo, non è sempre così. Quello che voglio dire è che in molti progetti la posizione dei file di origine e dei file di intestazione corrispondenti non è sempre la stessa directory.
Per gestire tali situazioni, devi utilizzare g:alternateSearchPath variabile. Questo è ciò che dice la documentazione ufficiale su questa variabile:
"Questo plug-in consente di configurare il percorso di ricerca utilizzato per individuare i file di origine e di intestazione. Il percorso di ricerca viene specificato impostando la variabile g:alternateSearchPath. L'impostazione predefinita è la seguente:"
g:alternateSearchPath = 'sfr:../source,sfr:../src,sfr:../include,sfr:../inc'
"Ciò indica che il file corrispondente verrà 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 di prefissi e directory separati da virgole. 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, viene assunto "sfr:".
Se tutte le funzionalità di cui sopra di questo plug-in ti hanno già fatto andare "wow", lascia che ti dica che non è tutto. Un'altra funzionalità estremamente utile offerta dal plug-in è la possibilità di dividere lo schermo di Vim in modo che sia la sorgente che il file di intestazione corrispondente possano essere visualizzati contemporaneamente.
Inoltre, puoi dividere lo schermo sia orizzontalmente che verticalmente, a seconda di ciò che si adatta meglio a te. Usa :COME comando per dividere lo schermo orizzontalmente e :AV comando per la divisione verticale.
Usa :A comando per passare da un file aperto all'altro.
Il plugin ti consente anche di aprire un file corrispondente in una scheda separata all'interno della stessa finestra di Vim. Puoi farlo eseguendo :AT comando.
Ovviamente, come :AV , :COME e :AT , puoi utilizzare :IHV , :IHS e :IHT anche i comandi.
Conclusione
Sebbene siano disponibili molti plug-in Vim relativi alla programmazione, quelli di cui abbiamo discusso in questa serie in tre parti dovrebbero essere sufficienti per darti un'idea di quanto potente diventa l'editor se hai i plug-in corretti abilitati per il tuo lavoro di sviluppo software .
Ovviamente, qui ci siamo concentrati solo sulla parte di programmazione. Per quelli di voi che usano Vim come editor di testo quotidiano, dovresti sapere che ci sono una miriade di plugin disponibili che si aggiungono alla funzionalità di modifica del testo di Vim e la rendono ancora migliore. Ma lasceremo questa discussione per un altro giorno.