08 gennaio 2007

Gvim/Vim ed alcune funzionalità interessanti

Da tempo ero veramente stufo di utilizzare degli editor/IDE che mi succhivano via ram e risorse per avere attive delle funzionalità che utilizzavo in minima parte.

Consideriamo come premessa che io utilizzo gli editor/ide specialmente per la programmazione in PHP e Python, che sono i miei figlioli prediletti.

Detto questo mi sono messo davanti al monitor ed ho pensato se esistesse qualcosa di meno stressante per il mio computer.

Analisi: Cosa voglio dal mio editor ?

1. Colorazione della sintassi

2. Indentazione del codice (in Python è vitale)

3. Navigazione in tab dei vari file aperti

4. Esecuzione dello script

5. Autocompletamento del codice


Ok in prima analisi voglio che il mio editor faccia questo.

Soluzione: VIM

Che stupido ho sempre avuto la soluzione a portata di mano.... VIM

1. Colorazione della sintassi
Apri con il tuo editor preferito (come hai detto VIM?) /etc/vim/vimrc ed aggiungere o decommentare:
syntax on


2. Indentazione del codice
Indentare il codice è quanto mai vitale in un linguaggio come Python che fa della pulizia del codice un dovere (!!!). quindi anche qui il nostro "assistente" ci viene incontro. Nel solito vimrc aggiungete:
filetype plugin indent on

autocmd FileType python setlocal sw=4 sts=4 et tw=78 sta

La prima riga non la spiego perchè e superfluo mentre la seconda merita attenzione. Infatti essa dice a VIM di associare ai file di Python le impostazioni:

tabstop o ts
larghezza del carattere TAB, quando incontrato nel file. Non usata nell'esempio. Viene elencata se si vuole utilizzare l'indentazione coi tab.
expandtab o et
riempe con spazi le indentazioni generate dalla pressione del tasto TAB.
softtabstop o sts
larghezza di un rientro causato dalla pressione di un TAB. Il rientro è creato inserendo spazi se et è settato, altrimenti viene usata una combinazione di spazi e caratteri TAB (questi ultimi hanno larghezza ts).
shiftwidth o sw
larghezza di un rientro dell'indentazione automatica. È usato anche per definire la larghezza del rientro che si aggiunge o toglie ad un blocco di testo quando si seleziona (con v) e poi si indenta/deindenta con > o con <.
smarttab o sta
In combinazione con le opzioni precendenti questa impostazione permette di cancellare un rientro con il tasto BS (o BackSpace).
Se poi vogliamo esagerare aggiungiamo:
set foldmethod=indent
che ci permetterà di trovare i nostri cicli, funzioni, oggetti, racchiusi in una sola riga col classico + per aprire quel ramo del codice (piegature).

3. Navigazione in tab dei vari file aperti
Niente di più facile anzi vi lascio direttamente le mappature da inserire nel solito file di configurazione vimrc e vi spiego a che servono:
map < c-t >:tabnew
apri un tab nuovo e vuoto

map < c-d >:tabc
chiude il tab

map < c-o >:tabe
permette di aprire un nuovo tabcon il file che andremo a specificare (il tab da tastiera è attivo per l'inserimento del nome del file, ricordate)

4. Esecuzione dello script
Se inserite in vimrc la scritta seguente i vostri script python alla pressione di F5 partiranno in esecuzione come per magia:
map :w:!python %

5. Autocompletamento del codice
Un po' futile ma a me piace un sacco. Funzione da Vim7.0 in poi e me ne sono innamorato. Non bisogna editare niente ma avere solo una versione di VIM che lo conseta e un semplice ctrl+p, o c-p per dirla alla VIM, vi svelerà un mondo nuovo.

Ecco fatto un po' di cosine utile ve le ho dette, a voi l'ardua sentenza

Nessun commento:

Posta un commento

Tondo è bello...

Tondo è bello...