Vim IDE per Php

Ricerca all’interno del codice con Cscope

Spesso capita di aver la necessità, specialmente nei progetti che hanno molti file, di fare delle ricerche all’interno del codice.
Qui ci viene in aiuto cscope.
Esiste un bellissimo tutorial in inglese su come installare ed usare cscope con Vim.
I passi fondamentali da seguire per poter subito usufruire di cscope sono:
installare cscope e con fedora basta:

$ su -c "yum install cscope"

poi scaricare all’interno della cartella .vim/plugin il plugin per Vim cscope_maps.vim, lo si dovrebbe fare agilmente con questo comando da bash:

$ wget -P ~/.vim/plugin http://cscope.sourceforge.net/cscope_maps.vim

Come usarlo?
Cscope viene normalmente usato per il codice scritto in C. Può però essere usato per il Php. Per farlo basta entrare nella directory del progetto in Php e creare un file che indichi a cscope quali file visionare per il suo lavoro (i file php), dopo di che lanciare cscope in modo che ricostruisca il suo database, i passaggi dunque sono:

$ find . -name '*.php' > ./cscope.files
$ cscope -b
$ rm cscope.files

Fatto questo possiamo passare all’uso di cscope. E’ molto semplice.
Si può fare o utilizzando direttamente cscope, si entra nell’interfaccia di quest’ultimo e si fa una ricerca di una funzione, con le frecce ci si muove e con “invio” si può aprire in automatico Vi che ci farà vedere il codice sorgente. Con Ctrl + d si esce da cscope (ovviamente se si è dentro a Vi bisogna prima uscire da quest’ultimo). Per poter usare Vim bisogna impostare la variabile EDITOR in bash:

$ export EDITOR=vim

per non doverla impostare ogni volta si può inserire questa riga all’interno del proprio bashrc o bash_profile.

Il secondo sistema è utilizzare il plugin di Vim già installato.
Basta lanciare Vim e usare cscope con il comando di Vim :cscope, si può vedere la guida con :help cscope.
Per la navigazione, aprire un file php con Vim e spostarsi su una funzione che viene ripetuta più volte. Digitare in modalità comandi Ctrl + \ ( \ è il backslash) e poi subito s. Verrà presentata la lista delle righe in cui compare la funzione, inserire il numero che si vuole andare a vedere e premere invio. Per tornare indietro premere Ctrl + t.
Se invece di Ctrl + \ si fa Ctrl + barra_spaziatrice e poi subito s e si seleziona poi la riga di interesse, Vim aprirà una nuova finestra che visualizzerà la scelta richiesta.

Questo per un uso basilare, per un uso più approfondito rimando al tutorial che ho citato prima e reperibile qui.

ATTENZIONE — Risoluzione di problemi
Quando lancio Vim mi viene fuori un messaggio di errore del tipo e568, ho risolto velocemente il “bug” modificando la riga 42 del plugin sostituendola con quanto segue:

if has("cscope")
if exists("./cscope.out")
        cs add ./cscope.out
endif

Navigazione all’interno del codice con ctags

Cscope è davvero utile per ritrovare facilmente pezzi di codice all’interno del proprio progetto. Ctags (anche noto come Exuberant Ctags) è un altro strumento molto utile per poter saltare e navigare all’interno del proprio codice.
Per prima cosa è necessario avere installato il programma ctags, se non è installato basta:

$ su -c "yum install ctags"

Ora bisogna creare la lista dei tag del proprio progetto Php con ctags, da bash dopo essere entrati nella directory di lavoro:

$ ctags -R

(Questo crea un file tags che contiene tutti i tag necessari alla navigazione).
Ora con Vim basta aprire un file php, posizionarsi sopra una funzione del proprio progetto e con la combinazione dei tasti Ctrl + ] si verrà catapultati alla definizione della funzione. Per tornare indietro basta la combinazione dei tasti Ctrl + t.
Invece di usare la combinazione dei tasti si può, in modalità comandi di Vim, digitare :ta nome_funzione e si verrà rimandati alla dichiarazione della funzione ricercata.
Esistono anche altre funzioni di Vim per la navigazione nei tag, con :ts si può vedere la lista delle funzioni ricercate. Per altre informazioni rimando alla documentazione di Vim reperibile dall’editor con :help tag.

Source Code Browser con Taglist Plugin

Vim può diventare un ottimo browser del codice sorgente con il plugin Taglist (pagina nel repository di vim). Ricordo che per usare questo plugin è necessario avere installato ctags, come ho spiegato precedentemente.
Per installare questo plugin basta scaricarlo e scompattarlo all’interno della solita directory per vim (.vim) dell’utente. Dopo aver fatto questa operazione bisogna ricostruire l’indice della documentazione aprendo Vim e dando :helptags ~/.vim/doc, così si può vedere la documentazione completa di questo plugin con :help taglist.txt.
Non spiego approfonditamente l’uso di questo plugin, per un uso più approfondito rimando alla documentazione ufficiale online o da vim con :help taglist-using.
Per aprire la finestra con la lista dei tag basta digitare in modalità comandi di Vim :TlistOpen. Per chiudere la finestra basta usare il solito comando di Vim :q.
Per saltare da una voce della lista al codice si può usare o il mouse (se si è impostato Vim per usare il mouse come ho specificato all’inizio di questo articolo) o ci si posiziona col cursore sulla voce della lista e si da Invio.
Se invece di Invio si preme la barra spaziatrice si può vedere in basso (dove si entra nella modalità di inserimento comandi di Vim) la dichiarazione della riga in cui si trova il tag.

Privacy Preference Center