| prof.
Nunzio Brugaletta |
Sviluppo
in C++: strumenti in ambiente Linux |
La prima fase dello sviluppo di un programma prevede la scrittura del sorgente con l'utilizzo di un editor.
|
|
GNU Emacs è uno strumento estremamente potente (e complesso) che, a definirlo solo un editor, sicuramente si pecca di approssimazione. Tanto per avere un idea si tenga presente che il manuale d'uso, disponibile presso il sito della FSF, è composto da più di 600 pagine. In realtà può essere utilizzato come un ambiente completo di sviluppo, come uno strumento per la navigazione all'interno dell'albero delle directory, come interfaccia verso il sistema operativo, come agenda, come piattaforma per giochi, client di posta elettronica ecc.. e inoltre è completamente personalizzabile ed espandibile: basta conoscere e sapere utilizzare il linguaggio con cui è sviluppato. In definitiva si tratta di un ambiente per l'editing e l'esecuzione di macroistruzioni in Lisp (il nome deriva da Editor MACroS). |
Tutta questa potenza, naturalmente, ha un prezzo. Da molti è considerato un prodotto ostico da imparare ad usare ed effettivamente anche la terminologia adottata non agevola l'utilizzo, specie per chi lo usa per le prime volte. Occorre considerare che si tratta di un prodotto nato in ambienti non grafici e che conserva alcuni modi di operare di quegli ambienti. Per poterlo utilizzare proficuamente è necessario entrare nella sua filosofia.
Inizialmente l'interazione con Emacs, alla stessa stregua di tutti i programmi nati in epoca dove ancora le interfacce grafiche erano inesistenti o poco diffuse, avveniva, e tuttora può avvenire, con comandi che vengono impartiti utilizzando delle combinazioni di caratteri. Ora Emacs si è dotato pure di una barra con i pulsanti, per le operazioni più frequenti, e nei sistemi desktop la maggior parte delle operazioni possono essere effettuate con il mouse, così come verrà evidenziato in queste note. Le combinazioni di caratteri possono essere utilizzate come scorciatoie dei comandi.
In generale i caratteri associati ai comandi sono accompagnati da tasti modificatori:
Control (indicato con C), Meta (indicato con M): il primo è il tasto Ctrl che si trova in doppia copia in tutte le tastiere moderne a lato della barra spaziatrice, il secondo è il tasto Alt anche questo in doppia copia accanto a Ctrl . Il nome Meta deriva dalla stampigliatura presente nei tasti nei sistemi Unix. Nelle tastiere frequentemente utilizzate la stampigliatura è stata sostituita, appunto, da Alt. Vanno usati in accoppiata con un altro tasto. Per esempio, se si legge la combinazione C-x, vuol dire premere uno dei tasti Ctrl e, senza rilasciarlo, premere il tasto x e quindi rilasciare i due tasti. C-x C-f (Apri file in Emacs) vuol dire premere Ctrl e, senza rilasciarlo, premere in sequenza x e poi f. C-x d (Apri Directory) si esegue premendo Ctrl e, senza rilasciarlo, si preme x; si rilasciano quindi i due tasti e si preme d. Allo stesso modo si agisce se la combinazione da eseguire è M-w (Copia selezione): si preme Alt e quindi il tasto w. Il tasto Alt può essere sostituito dal tasto Esc presente nelle tastiere in alto a sinistra. Nell'esempio di prima M-w può essere eseguito, in alternativa a quanto esposto prima, digitando Esc, rilasciandolo e digitando poi w.
L'interazione con l'ambiente è possibile anche tramite vari menù da cui si possono selezionare le operazioni desiderate.
Sono usati anche altri termini che è bene chiarire:
Buffer: si tratta della zona di memoria centrale che contiene il testo che si sta editando. Un file di testo che si vuole editare viene caricato in un buffer. Se poi si vuole salvare su disco il testo visualizzato nell'area di lavoro corrente (quella dove si trova il cursore di inserimento testo), si effettuerà la selezione, per esempio, dal menù File > Save.
Window: si tratta della sola parte di schermo che visualizza il buffer. Negli ambienti grafici viene anche chiamata area di lavoro, laddove, in genere, per finestra si intende la parte di schermo dentro la quale gira l'applicazione. In Emacs la finestra è la parte dentro cui è mostrato il testo (l'area di lavoro) e quindi esiste, per esempio, un comando per dividere la finestra (File > Split Window) e in questo modo l'area di lavoro viene suddivisa in due parti in modo, per esempio, da permettere l'editing di un file diverso in ogni window. File > Remove Splits espande l'area di lavoro corrente in modo da coprire l'intera area disponibile.
Frame: si tratta in questo caso di tutta la zona dello schermo che contiene sia l'applicazione sia il testo, quella che negli ambienti desktop è definita finestra. Se si esegue, per esempio File > New Frame, ci si ritroverà con un duplicato di tutta l'applicazione. In realtà non si tratta di una nuova istanza di Emacs poiché se, per esempio, in un frame si apre un nuovo testo, lo si ritroverà anche nell'altro. Quindi in definitiva si tratta di due visioni separate dello stesso ambiente
Emacs, quando gira in un ambiente grafico, fa uso dei pulsanti del mouse. Anche in questo caso è bene chiarire la terminologia utilizzata:
Mouse-1, Mouse-2, Mouse-3: si tratta rispettivamente della pressione dei pulsanti sinistro, centrale, destro del mouse. Nei mouse forniti di soli due tasti, il pulsante centrale è emulato dalla pressione contemporanea dei due tasti presenti. La pressione di uno dei tasti del mouse può essere anche accompagnata dalla pressione dei tasti modificatori. Per esempio C-Mouse-1 si esegue tenendo premuto il tasto Ctrl e premendo il tasto sinistro del mouse (in Emacs mostra l'elenco dei buffer).
| http://ennebi.solira.org |
ennebi@solira.org |