Emacs for Programmers - Prima Parte

Da MelugWiki.

Jump to: navigation, search

Indice

Premessa

Scopo di questo tutorial non è fornire una conoscienza completa delle funzionalità di Emacs, anche perchè non penso che ci sia qualcuno in grado di conoscerle tutte, o almeno, se ne esistono, io non sono tra questi. Le informazioni che troverete in questo tutorial sono sul l'uso dell'editor in generale e su come usarlo come ambiente di sviluppo software.

Introduzione

Basta perdere tempo! Andiamo al sodo. Emacs a differenza del suo più diffuso antagonista (del quale vorrei evitare di fare il nome ) è un editor monomodale. Cosa significa? Significa che per fare modifiche al testo che state digitando non siete costretti a cambiare modalità in continuazione, niente di più semplice. Altra caratteristica di Emacs molto interessante è che per consultare la documentazione non c'è bisogno di uscire dall'editor, anzi più precisamente se volete accedere alla documentazione basta solo usare la combinazione

ctrl-q ctrl-q

e seguire il menù niente di più semplice. Altra caratteristica molto interessante è che emacs è completamente estendibile mediante script in lisp(tanto per sfatare voci screditanti che circolano Emacs è scritto in C) cosa che apre nuovi orizzonti per smanettamenti vari e il che non guasta :D.

Primi passi

Ora che ci siamo fatti una piccola idea su che strumeno abbiamo tra le mani impariamo a muoverci dentro Emacs. Apriamo il nostro primo file con Emacs:

emacs signal.h

Perfeto abbiamo aperto il nostro primo file. Prima che prendiate a pugni la tastiera e/o a testate il monitor per uscire da emacs basta fare:

ctrl-x ctrl-c

nel caso in cui abbiate fatto modifiche al file vi verrà chiesto di salvare. Volete inserire del testo? Vi ho già detto che Emacs è monomodale quindi se iniziate a scrivere non vi farà una pernacchia come il suo concorrente ma obbediente scriverà nel buffer. Molti di voi saranno d'accordo con me che spostare le mani dalla tastiera è un po' scomodo per fare qualsiasi cosa quindi vediamo adesso come navigare all'interno del buffer per spostarci rapidamente.

  • Scendere di una riga
ctrl-n
  • Salire di una riga
ctrl-p
  • Un carattere avanti - Una parola in avanti
crtl-f - alt-f
  • Un carattere indietro - Una parola indietro
ctrl-b - alt-b
  • Inizio della riga - Fine della riga
ctrl-a - ctrl-e

Questo tipo di approccio io lo trovo molto utile perchè ti permette di non staccare mai le mani dalla tastiera, comunque se volete usare le freccette potete farlo.

Operazioni comuni

Ora che abbiamo visto come fare le operazioni di base con Emacs e abbiamo iniziato a scrivere il codice del nostro nuovo progetto open source siamo arrivati al punto in cui abbiamo emacs aperto e abbiamo bisogno di un nuovo file per il nostro progetto. Detto fatto:

ctrl-x ctrl-f

vi verrà chiesto il nome del file. Di default verra già scritto per voi il path della directory corrente ma nulla vieta di cancellarlo e mettere un altro path. Forse non sono stato proprio chiaro, ma se provate emacs sarà più chiaro di me. Come avrete noto dalle vostre faccie dopo che avete inserito il nome del nuovo file siete andati in panico. Emacs vi ha aperto un nuovo buffer (vuoto ovviamente) nascondendo il contenuto del file che stavate digitando e provocandovi un grosso spavento perchè pensavate di aver perso ore di lavoro(anche perchè ancora non vi ho detto come salvare). Niente paura il vostro operato è al sicuro e ve lo dimostro.

ctrl-x ctrl-b

adesso vi comparirà la lista dei buffer aperti tra i quali dovrebbe comparire anche un buffer con il nome del file che stavate digitando. Per tornare a quello ecco la combinazione magica:

ctrl-x b

vi verra chiesto di digitare il nome del buffer(che generalemente coincide con il nome del file) e vi verrà proposto un buffer di default(generalmente quello che stavate usando prima di spostarvi). Date il nome o semplicemente invio se l'opzione di default è quella desiderata. Ok amiamo il rischio ma non troppo, impariamo a salvare le modifiche. Ed ecco che arriva l'ennesima combinaizone di tasti:

ctrl-x ctrl-s

Se adesso non avete più bisogno di un determinato buffer per chiuderlo dovrete digitare:

ctrl-x k

al solito vi verra chiesto quale buffer chiudere presentandovi una selezione di default(il buffer corrente) se non fosse quello desiderato sapete cosa fare :). Altra combinzione che si può rivelare molto utile è:

ctrl-g

serve ad annullare una operazione iniziata(non necessariamente in maniera volontaria). Capita di fare un po di casino con le combinazioni di tasti.

Copia, Taglia e Incolla

Anche queste operazioni sono di uso comune ma richiedono un minimo di attenzione in più rispetto alle precedenti. La procedura per effettuare un taglia/incolla o un copia/incolla sono più o meno simili. Ecco i passi:

  • Impostare un punto di mark
  • Spostare il cursore alla fine dell'area di interesse
  • Tagliare o Copiare
  • Incollare dove vogliamo (senza limiti di buffer).

Ecco così passo dopo passo cosa dobbiamo fare. Dopo esserci portati in uno dei due estremi dell'area che ci interessa settiamo il punto di mark con

ctrl-<space>

dopo di ciò ci spostiamo come abbiamo già visto all'altro capo della sezione di testo che vogliamo selezionare. A questo punto se vogliamo tagliare il testo possiamo fare:

ctrl-w

se invece quello che vogliamo fare è copiare semplicemente:

alt-w

a questo punto non resta se lo desideriamo incollare la porzione di testo da noi selezionata in uno dei nostri buffer aperti. Niente di più semplice. Basta posizionarsi nel punto in cui vogliamo incollare il testo e poi:

ctrl-y

e il gioco è fatto. Esistono molte altre funzionalità che permettono di tagliare direttamente righe parole, o dopo aver fatto due tagli consecutivi possiamo scegliere quale dei due incollare... e molto probabilmente molte altre cose, ma per questo vi rimando al manuale di emacs che dedica ampio spazio a queste funzionalità.

Durante le operazioni di modifica può capitare (e a me capita spesso) di modificare per spablio qualcosa di importante ed ecco così per i casi di emergenza:

ctrl-x u
Personal tools