WEMS 2008

  E. Somma

Trattamento
dei dati
Ripetizione dei
comandi
                            Emacs per la programmazion...
Piano della presentazione

 WEMS 2008

  E. Somma           1   Trattamento dei dati
                           Ripetizion...
Introduzione

 WEMS 2008

  E. Somma

Trattamento
dei dati
Ripetizione dei
comandi
Ricerca delle
informazioni
            ...
Introduzione

 WEMS 2008

  E. Somma

Trattamento         Emacs ` particolarmente versato nel supportare l’utente in
     ...
Trattamento dei dati

 WEMS 2008

  E. Somma          1   Trattamento dei dati
                          Ripetizione dei c...
Ripetizione dei comandi

 WEMS 2008

  E. Somma          1   Trattamento dei dati
                          Ripetizione de...
Come ripetere un comando

 WEMS 2008

  E. Somma

Trattamento
dei dati
Ripetizione dei
comandi
                    Un qual...
Valore di default di C-u

 WEMS 2008

  E. Somma

Trattamento
dei dati
Ripetizione dei
comandi
Ricerca delle
             ...
Ripetizioni successive

 WEMS 2008

  E. Somma

Trattamento
dei dati
Ripetizione dei
                     La combinazione ...
Ricerca delle informazioni

 WEMS 2008

  E. Somma           1   Trattamento dei dati
                           Ripetizio...
Le espressioni regolari

 WEMS 2008

  E. Somma

Trattamento
dei dati
Ripetizione dei
comandi
Ricerca delle
informazioni  ...
Espressioni Regolari

 WEMS 2008

  E. Somma
                    Le espressioni regolari (regular expressions) sono descri...
Sintassi delle espressioni regolari

 WEMS 2008

  E. Somma

Trattamento           Semplice match         hello
dei dati
R...
Esercizi sulle espressioni regolari

 WEMS 2008
                           Trovare in un testo “un” o “uno” o “una”
  E. S...
Alcuni esempi

 WEMS 2008

  E. Somma

Trattamento
dei dati
Ripetizione dei
comandi
Ricerca delle
informazioni
Rettangoli
...
Cosa fare delle espressioni regolari

 WEMS 2008

  E. Somma

Trattamento
dei dati
Ripetizione dei            Contare M-x ...
Rettangoli

 WEMS 2008

  E. Somma          1   Trattamento dei dati
                          Ripetizione dei comandi
Tra...
I rettangoli

 WEMS 2008

  E. Somma

Trattamento
dei dati             I rettangoli di Emacs sono le nostre colonne.
Ripet...
Operazioni sui rettangoli

 WEMS 2008
                           Tagliarla (ma salvarla nel kill-ring)
  E. Somma
        ...
Sostituzioni

 WEMS 2008

  E. Somma           1   Trattamento dei dati
                           Ripetizione dei comandi...
Sostituzione non condizionale

 WEMS 2008

  E. Somma

Trattamento
dei dati
Ripetizione dei
comandi
Ricerca delle
        ...
Sostituzione con espressioni regolari

 WEMS 2008

  E. Somma

Trattamento
dei dati                   Il comando generico ...
Sostituzione programmabile

 WEMS 2008

  E. Somma          Come scambiare x con y utilizzando una espressione Emacs
Tratt...
Sostituzione con richiesta query-replace

 WEMS 2008
                           Il comando generico di sostituzione con es...
Macro di tastiera

 WEMS 2008

  E. Somma           1   Trattamento dei dati
                           Ripetizione dei co...
Macro di tastiera: definizione

 WEMS 2008

  E. Somma

Trattamento
dei dati
Ripetizione dei            `
                 ...
Macro di tastiera: gestione

 WEMS 2008            C-x e              esegui l’ultima macro definita
  E. Somma            ...
Macro di tastiera: edit passo passo

 WEMS 2008

  E. Somma          `
                    E possibile eseguire una macro ...
Scrittura dei programmi

 WEMS 2008

  E. Somma          1   Trattamento dei dati
                          Ripetizione de...
matlab-mode

 WEMS 2008

  E. Somma          1   Trattamento dei dati
                          Ripetizione dei comandi
Tr...
matlab-mode

 WEMS 2008

  E. Somma

Trattamento
dei dati                  il matlab-mode ` un modo maggiore per fare l’ed...
Matlab-Mode: comandi di editing

 WEMS 2008

  E. Somma

Trattamento
dei dati
Ripetizione dei
comandi
Ricerca delle       ...
Matlab-Mode: Comandi di navigazione

 WEMS 2008

  E. Somma

Trattamento
dei dati
Ripetizione dei
comandi
Ricerca delle
in...
Matlab-Mode: Comandi di inserimento template:

 WEMS 2008

  E. Somma
                      C-c    C-c     F    Definizione...
Altri major-mode

 WEMS 2008

  E. Somma          1   Trattamento dei dati
                          Ripetizione dei coman...
Altri ’major-mode’

 WEMS 2008

  E. Somma

Trattamento
dei dati
Ripetizione dei
                    Sono disponibili molt...
Gestione dei processi

 WEMS 2008

  E. Somma           1   Trattamento dei dati
                           Ripetizione de...
shell-mode

 WEMS 2008

  E. Somma          1   Trattamento dei dati
                          Ripetizione dei comandi
Tra...
Comandi di shell

 WEMS 2008

  E. Somma

Trattamento
dei dati
Ripetizione dei
comandi
                           Quando i...
Comandi di shell

 WEMS 2008

  E. Somma
                    `
                    E comunque possibile interagire con la ...
Comandi singoli di shell

 WEMS 2008

  E. Somma

Trattamento         `
                    E possibile inserire la seguen...
La shell inferiore

 WEMS 2008

  E. Somma

Trattamento
                    Per chiamare un processo di shell interattiva ...
Comandi di shell

 WEMS 2008

  E. Somma

Trattamento
dei dati
Ripetizione dei
comandi             shell su Mac OS X
Ricer...
Il buffer della shell

 WEMS 2008

  E. Somma
                    `
                    E possibile chiamare numerose shell...
Ridefinizione tastiera nel processo di shell

 WEMS 2008
                      <RET>               Lancia il comando
  E. S...
Emacs Speaks Statistics ess-mode

 WEMS 2008

  E. Somma          1   Trattamento dei dati
                          Ripet...
Caratteristiche di ESS

 WEMS 2008

  E. Somma

Trattamento
dei dati
                           indentazione sintattica
Ri...
Utilizzo di ESS

 WEMS 2008

  E. Somma

Trattamento
dei dati
Ripetizione dei
comandi
Ricerca delle
informazioni
Rettangol...
Linguaggi gestiti da ESS

 WEMS 2008

  E. Somma

Trattamento
dei dati
Ripetizione dei
comandi
Ricerca delle
informazioni
...
Perch´ ESS
                         e

 WEMS 2008

  E. Somma

Trattamento
dei dati
Ripetizione dei
comandi
Ricerca delle
...
ESS per l’interazione con i processi

 WEMS 2008

  E. Somma
                           Attivazione del processo ESS
Tratt...
ESS per l’interazione con i processi

 WEMS 2008

  E. Somma

Trattamento
dei dati
Ripetizione dei
comandi
               ...
ESS per l’interazione con i processi

 WEMS 2008

  E. Somma
                    `
                    E modellato sullo s...
ESS per manipolare le trascrizioni

 WEMS 2008

  E. Somma

Trattamento
dei dati
Ripetizione dei
comandi
Ricerca delle    ...
WEMS 2008

  E. Somma

Trattamento
dei dati
Ripetizione dei
comandi
Ricerca delle
informazioni
Rettangoli
Sostituzioni
Mac...
Upcoming SlideShare
Loading in …5
×

Workshop Emacs per la programmazione statistica

1,328 views
1,245 views

Published on

Workshop Emacs per la Programmazione Statistica
Slides del Workshop c/o Area Ricerca Banca d'Italia
Villa Huffer
14 Gennaio 2008

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,328
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Workshop Emacs per la programmazione statistica

  1. 1. WEMS 2008 E. Somma Trattamento dei dati Ripetizione dei comandi Emacs per la programmazione statistica Ricerca delle informazioni Rettangoli Sostituzioni Macro di tastiera Emmanuele Somma Scrittura dei emmanuele.somma@bancaditalia.it programmi matlab-mode Altri major-mode Supporto Informatico per l’Area Ricerche Gestione dei Banca d’Italia processi shell-mode Emacs Speaks 14 Gennaio 2008 Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 1/55
  2. 2. Piano della presentazione WEMS 2008 E. Somma 1 Trattamento dei dati Ripetizione dei comandi Trattamento dei dati Ricerca delle informazioni Ripetizione dei comandi Ricerca delle Rettangoli informazioni Rettangoli Sostituzioni Sostituzioni Macro di tastiera Macro di tastiera Scrittura dei programmi 2 Scrittura dei programmi matlab-mode Altri matlab-mode major-mode Gestione dei Altri major-mode processi shell-mode Emacs Speaks 3 Gestione dei processi Statistics ess-mode shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 2/55
  3. 3. Introduzione WEMS 2008 E. Somma Trattamento dei dati Ripetizione dei comandi Ricerca delle informazioni L’analisi statistica pu` essere considerata una forma di o Rettangoli Sostituzioni programmazione dei computer: oltre alla gestione della fase di Macro di tastiera trattamento dei dati, spesso si scrivono programmi in linguaggi Scrittura dei programmi di programmazione e si eseguono processi attraverso interfacce matlab-mode Altri utente su linea di comando. major-mode Gestione dei processi shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 3/55
  4. 4. Introduzione WEMS 2008 E. Somma Trattamento Emacs ` particolarmente versato nel supportare l’utente in e dei dati Ripetizione dei tutte queste attivit`: a comandi Ricerca delle informazioni Trattamento dei dati Strumenti per la gestione dei file testuali Rettangoli Sostituzioni contenenti dati (Ricerche, Sostituzioni, Colonne, Macro di tastiera Scrittura dei Macro, ...) programmi matlab-mode Scrittura dei programmi Modi di supporto alla scrittura del Altri major-mode codice (fortran-mode, c-mode, matlab-mode, ...) Gestione dei processi Gestione dei processi Interazione con le interfacce a linea di shell-mode Emacs Speaks comando (shell-mode, Emacs Speaks Statistics) Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 4/55
  5. 5. Trattamento dei dati WEMS 2008 E. Somma 1 Trattamento dei dati Ripetizione dei comandi Trattamento dei dati Ricerca delle informazioni Ripetizione dei comandi Ricerca delle Rettangoli informazioni Rettangoli Sostituzioni Sostituzioni Macro di tastiera Macro di tastiera Scrittura dei programmi 2 Scrittura dei programmi matlab-mode Altri matlab-mode major-mode Gestione dei Altri major-mode processi shell-mode Emacs Speaks 3 Gestione dei processi Statistics ess-mode shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 5/55
  6. 6. Ripetizione dei comandi WEMS 2008 E. Somma 1 Trattamento dei dati Ripetizione dei comandi Trattamento dei dati Ricerca delle informazioni Ripetizione dei comandi Ricerca delle Rettangoli informazioni Rettangoli Sostituzioni Sostituzioni Macro di tastiera Macro di tastiera Scrittura dei programmi 2 Scrittura dei programmi matlab-mode Altri matlab-mode major-mode Gestione dei Altri major-mode processi shell-mode Emacs Speaks 3 Gestione dei processi Statistics ess-mode shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 6/55
  7. 7. Come ripetere un comando WEMS 2008 E. Somma Trattamento dei dati Ripetizione dei comandi Un qualsiasi comando Emacs pu´ essere ripetuto numerose o Ricerca delle informazioni volte utilizzando un argomento numerico prefisso preceduto Rettangoli Sostituzioni dalla combinazione C-u oppure il tasto ESC o M-[numero] Macro di tastiera Ad esempio: Scrittura dei programmi C-u 60 - Inserisce 60 caratteri meno matlab-mode Altri M-10 C-x C-e Esegue 10 volte l’ultima macro registrata major-mode Gestione dei ESC 60 DOWN Posiziona il cursore 60 righe sotto processi shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 7/55
  8. 8. Valore di default di C-u WEMS 2008 E. Somma Trattamento dei dati Ripetizione dei comandi Ricerca delle Se non ` presente un argomento numerico la combinazione C-u e informazioni Rettangoli ha il seguente effetto: Sostituzioni Macro di tastiera C-u 4 volte Scrittura dei C-u C-u 4 volte per 4 volte = 16 volte programmi matlab-mode C-u C-u C-u 4 volte per 4 volte per 4 volte = 64 volte Altri major-mode . . . Gestione dei processi shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 8/55
  9. 9. Ripetizioni successive WEMS 2008 E. Somma Trattamento dei dati Ripetizione dei La combinazione di tasti C-x z ripete il comando comandi Ricerca delle precedentemente introdotto. Continuando a premere z ripete informazioni Rettangoli ulteriormente, ad esempio: Sostituzioni Macro di tastiera Scrittura dei programmi 4.75;9.97;7.48;9.39;1.00;2.15;3.72;9.99;2.32;3.12 matlab-mode Altri major-mode Gestione dei processi C-u 5 C-d C-x z z cancella prima un valore e poi altri due shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 9/55
  10. 10. Ricerca delle informazioni WEMS 2008 E. Somma 1 Trattamento dei dati Ripetizione dei comandi Trattamento dei dati Ricerca delle informazioni Ripetizione dei comandi Ricerca delle Rettangoli informazioni Rettangoli Sostituzioni Sostituzioni Macro di tastiera Macro di tastiera Scrittura dei programmi 2 Scrittura dei programmi matlab-mode Altri matlab-mode major-mode Gestione dei Altri major-mode processi shell-mode Emacs Speaks 3 Gestione dei processi Statistics ess-mode shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 10/55
  11. 11. Le espressioni regolari WEMS 2008 E. Somma Trattamento dei dati Ripetizione dei comandi Ricerca delle informazioni Alcune persone, quando affrontano un problema, Rettangoli Sostituzioni pensano: “Lo so, finir` per usare le espressioni o Macro di tastiera Scrittura dei regolari”. A questo punto, hanno due problemi. programmi Jamie Zawinski, in comp.lang.emacs matlab-mode Altri major-mode Gestione dei processi shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 11/55
  12. 12. Espressioni Regolari WEMS 2008 E. Somma Le espressioni regolari (regular expressions) sono descrizioni Trattamento dei dati astratte di stringhe di caratteri. Ripetizione dei comandi Ad esempio, la espressione regolare Ricerca delle informazioni Rettangoli Sostituzioni ([ao]+)1 Macro di tastiera Scrittura dei programmi descrive una classe infinita di stringhe quali: matlab-mode Altri major-mode Gestione dei aa, aoao, oooo, aaoaao, oaoaoaaooaoaoaao, ... processi shell-mode Emacs Speaks ovvero una qualsiasi stringa contenente a o o, immediatamente Statistics ess-mode seguita da una ripetizione di s´ stessa. e E. Somma (SIA-BdI) WEMS 2008 14/01/2008 12/55
  13. 13. Sintassi delle espressioni regolari WEMS 2008 E. Somma Trattamento Semplice match hello dei dati Ripetizione dei Caratteri speciali $ ^ . ∗ + ? [ ] comandi Ricerca delle Insieme di caratteri [...] [^...] informazioni Rettangoli Ripetizioni {N}, {N,M} Sostituzioni Macro di tastiera Raggruppamenti ( ) Scrittura dei programmi Riferimento 1 2 3 ... matlab-mode Alternative | Altri major-mode Gruppi timidi (?: ... ) Gestione dei processi Stringa vuota ‘ ’ = b B < > shell-mode Emacs Speaks Costituenti w W sC SC C=... cC CC Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 13/55
  14. 14. Esercizi sulle espressioni regolari WEMS 2008 Trovare in un testo “un” o “uno” o “una” E. Somma un(|o|a) Trattamento Trovare in un testo le parole “Luna” o “luna”. dei dati Ripetizione dei (L|l)una comandi Ricerca delle informazioni Trovare parole con tre consonanti di fila p.es. “scrivere”, Rettangoli Sostituzioni “aspro” [bcdfghjklmnpqrstvwxyz]{3} Macro di tastiera Trovare parole con tre consonanti all’inizio di parola. Scrittura dei programmi b[^aeiou]{3} matlab-mode Altri Cercare parole con vocali identiche ripetute (p.es. “aree”, major-mode Gestione dei “portaauto”) processi ([aeiou])1 shell-mode Emacs Speaks Statistics Trovare parole palindrome di lunghezza 4 o 5 (p.es. ess-mode “abba”, “radar”) b(.)(.).?21b Trovare parole ripetute (p.es. “alto alto”) (bw+b)s1 E. Somma (SIA-BdI) WEMS 2008 14/01/2008 14/55
  15. 15. Alcuni esempi WEMS 2008 E. Somma Trattamento dei dati Ripetizione dei comandi Ricerca delle informazioni Rettangoli Sostituire i missing Sostituzioni Macro di tastiera M-C-s <RET> ; *. *; <RET> ;NaN; <RET> ! Scrittura dei Selezione sul file dei BOND (AMETISTA) programmi matlab-mode BOP.*(TRENTO|PADOVA|UDINE).+2003.{4}$ Altri major-mode Gestione dei processi shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 15/55
  16. 16. Cosa fare delle espressioni regolari WEMS 2008 E. Somma Trattamento dei dati Ripetizione dei Contare M-x how-may comandi Ricerca delle informazioni Ottenere una selezione di in un nuovo buffer M-x occur Rettangoli Sostituzioni (global-set-key (kbd "C-c o") ’occur) Macro di tastiera Scrittura dei Ricercare su molti buffer contemporaneamente programmi matlab-mode M-x multi-occur <RET> buffer <RET> regexp <RET> Altri major-mode selezionado i nomi dei buffer con un regexp Gestione dei processi M-x multi-occur <RET> buffregexp <RET> regexp <RET shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 16/55
  17. 17. Rettangoli WEMS 2008 E. Somma 1 Trattamento dei dati Ripetizione dei comandi Trattamento dei dati Ricerca delle informazioni Ripetizione dei comandi Ricerca delle Rettangoli informazioni Rettangoli Sostituzioni Sostituzioni Macro di tastiera Macro di tastiera Scrittura dei programmi 2 Scrittura dei programmi matlab-mode Altri matlab-mode major-mode Gestione dei Altri major-mode processi shell-mode Emacs Speaks 3 Gestione dei processi Statistics ess-mode shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 17/55
  18. 18. I rettangoli WEMS 2008 E. Somma Trattamento dei dati I rettangoli di Emacs sono le nostre colonne. Ripetizione dei comandi Per selezionare un rettangolo bisogna: Ricerca delle informazioni Rettangoli 1 Posizionare il cursore sul primo carattere della prima riga Sostituzioni Macro di tastiera ed usare il comando di attivazione della marcatura Scrittura dei C-<SPAZIO> programmi matlab-mode Altri 2 Dopo spostarsi all’ultima riga e posizionarsi nel primo major-mode carattere dopo la zona da selezionare e su quel punto: Gestione dei processi 3 usare il comando scelto shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 18/55
  19. 19. Operazioni sui rettangoli WEMS 2008 Tagliarla (ma salvarla nel kill-ring) E. Somma C-x r k (kill-rectangle) Trattamento dei dati Cancellarla C-x r d (delete-rectangle) Ripetizione dei comandi Incollarla C-x r y (yank-rectangle) Ricerca delle informazioni Rettangoli Inserirla (vuota) Sostituzioni Macro di tastiera C-x r o (open-rectangle) Scrittura dei Inserire una stringa programmi matlab-mode C-x r t (string-rectangle) Altri major-mode Ripulire una zona Gestione dei processi C-x r c (clear-rectangle) shell-mode Emacs Speaks Eliminare spazi bianchi Statistics ess-mode M-x delete-whitespace-rectangle Inserire una stringa in tutte le righe M-x string-insert-rectangle E. Somma (SIA-BdI) WEMS 2008 14/01/2008 19/55
  20. 20. Sostituzioni WEMS 2008 E. Somma 1 Trattamento dei dati Ripetizione dei comandi Trattamento dei dati Ricerca delle informazioni Ripetizione dei comandi Ricerca delle Rettangoli informazioni Rettangoli Sostituzioni Sostituzioni Macro di tastiera Macro di tastiera Scrittura dei programmi 2 Scrittura dei programmi matlab-mode Altri matlab-mode major-mode Gestione dei Altri major-mode processi shell-mode Emacs Speaks 3 Gestione dei processi Statistics ess-mode shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 20/55
  21. 21. Sostituzione non condizionale WEMS 2008 E. Somma Trattamento dei dati Ripetizione dei comandi Ricerca delle Il comando generico di sostituzione non condizionale informazioni Rettangoli M-x replace-string <RET> RICERCA <RET> SOST <RET> Sostituzioni Macro di tastiera Sostituire x con y Scrittura dei programmi M-x replace-string <RET> x <RET> @TEMP@ <RET> matlab-mode M-< M-x replace-string <RET> y <RET> x <RET> Altri major-mode M-< M-x replace-string <RET> @TEMP@ <RET> y <RET> Gestione dei processi shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 21/55
  22. 22. Sostituzione con espressioni regolari WEMS 2008 E. Somma Trattamento dei dati Il comando generico di sostituzione con espressioni regolari Ripetizione dei comandi ` e Ricerca delle informazioni M-x replace-regexp <RET> REGEXP <RET> SOST <RET> Rettangoli Sostituzioni Macro di tastiera La stringa di sostituzione pu` contenere alcuni comandi o Scrittura dei speciali: programmi matlab-mode & intero match Altri major-mode 1, 2, ... match nel gruppo di parentesi Gestione dei # numero di match sostituiti processi shell-mode ? sostituzione manuale Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 22/55
  23. 23. Sostituzione programmabile WEMS 2008 E. Somma Come scambiare x con y utilizzando una espressione Emacs Trattamento Lisp dei dati Ripetizione dei M-x replace-regexp <RET> (x)|y <RET> comandi Ricerca delle ,(if 1 "y" "x") <RET> informazioni Rettangoli Sostituzioni Scambiare il tipo BOC con BOP Macro di tastiera Scrittura dei M-x replace-regexp <RET> programmi (BOC)|BOP <RET> matlab-mode Altri major-mode ,(if 1 "BOP" "BOC") <RET> Gestione dei processi Aggiungere al termine della riga una etichetta ABC000n dove ` e shell-mode Emacs Speaks il numero di riga Statistics ess-mode M-x replace-regexp <RET> ^.{0,72}$ <RET> ,(format "%-72sABC%05d" & #) <RET> E. Somma (SIA-BdI) WEMS 2008 14/01/2008 23/55
  24. 24. Sostituzione con richiesta query-replace WEMS 2008 Il comando generico di sostituzione con espressioni regolari E. Somma nella modalit` con richiesta ` a e Trattamento M-x query-replace-regexp ( C-M-% ) dei dati Ripetizione dei comandi Nella modalit` di sostituzione la tastiera ha il seguente a Ricerca delle informazioni funzionamento: Rettangoli <SPC> accetta Sostituzioni Macro di tastiera <DEL> rifiuta Scrittura dei programmi , rivedi la sostituzione matlab-mode Altri <RET> esci dall’operazione major-mode . una sola Gestione dei processi ! tutte shell-mode Emacs Speaks ^ ritorna indietro Statistics ess-mode C-r modalit` di edit ricorsivo a (esci con C-M-c) e edita la sostituzione E. Somma (SIA-BdI) WEMS 2008 14/01/2008 24/55
  25. 25. Macro di tastiera WEMS 2008 E. Somma 1 Trattamento dei dati Ripetizione dei comandi Trattamento dei dati Ricerca delle informazioni Ripetizione dei comandi Ricerca delle Rettangoli informazioni Rettangoli Sostituzioni Sostituzioni Macro di tastiera Macro di tastiera Scrittura dei programmi 2 Scrittura dei programmi matlab-mode Altri matlab-mode major-mode Gestione dei Altri major-mode processi shell-mode Emacs Speaks 3 Gestione dei processi Statistics ess-mode shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 25/55
  26. 26. Macro di tastiera: definizione WEMS 2008 E. Somma Trattamento dei dati Ripetizione dei ` E possibile registrare le combinazioni di tasti in modo da comandi Ricerca delle informazioni automatizzare le operazioni ripetitive Rettangoli Sostituzioni C-x ( inizia la definizione Macro di tastiera C-x ) termina la definizione Scrittura dei programmi C-u C-x ( esegui e poi aggiungi matlab-mode Altri C-u C-u C-x ( aggiungi senza eseguire major-mode Gestione dei C-x q chiedi conferma processi shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 26/55
  27. 27. Macro di tastiera: gestione WEMS 2008 C-x e esegui l’ultima macro definita E. Somma C-x C-k r apply-macro-to-region-lines Trattamento esegui la macro per ogni riga della regione dei dati Ripetizione dei C-x C-k n kmacro-name-last-macro comandi Ricerca delle Dai un nome all’ultima macro informazioni Rettangoli C-x C-k b kmacro-bind-to-key Sostituzioni Macro di tastiera Assegna ad una combinazione Scrittura dei programmi M-x insert-kbd-macro matlab-mode Presenta la definizione della macro in un Altri major-mode buffer Gestione dei processi C-x C-k C-e kmacro-edit-macro shell-mode Emacs Speaks Edita l’ultima macro definita Statistics ess-mode C-x C-k e NAME edit-kbd-macro Edita la macro NAME C-x C-k l Edita il lossage (100 caratteri) E. Somma (SIA-BdI) WEMS 2008 14/01/2008 27/55
  28. 28. Macro di tastiera: edit passo passo WEMS 2008 E. Somma ` E possibile eseguire una macro passo-passo con il comando Trattamento C-x C-k SPC (kmacro-step-edit-macro). dei dati Ripetizione dei Questo permette anche di fare un editing selettivo della macro comandi Ricerca delle mentre si sta eseguendo ridefinendo la tastiera in questo modo: informazioni Rettangoli SPC, y esegui il comando corrente e avanza Sostituzioni Macro di tastiera n, d, DEL salta il comando corrente e cancellalo Scrittura dei f salta il comando ma non cancellarlo programmi matlab-mode TAB esegui tutti i comandi simili successivi Altri major-mode c continua fino alla fine Gestione dei processi C-k cancella il resto della macro shell-mode Emacs Speaks q termina l’editing senza modifiche Statistics ess-mode I KEY... inserimento di una combinazione di tasti R KEY... sostituzione di una combinazione di tasti E. Somma (SIA-BdI) WEMS 2008 14/01/2008 28/55
  29. 29. Scrittura dei programmi WEMS 2008 E. Somma 1 Trattamento dei dati Ripetizione dei comandi Trattamento dei dati Ricerca delle informazioni Ripetizione dei comandi Ricerca delle Rettangoli informazioni Rettangoli Sostituzioni Sostituzioni Macro di tastiera Macro di tastiera Scrittura dei programmi 2 Scrittura dei programmi matlab-mode Altri matlab-mode major-mode Gestione dei Altri major-mode processi shell-mode Emacs Speaks 3 Gestione dei processi Statistics ess-mode shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 29/55
  30. 30. matlab-mode WEMS 2008 E. Somma 1 Trattamento dei dati Ripetizione dei comandi Trattamento dei dati Ricerca delle informazioni Ripetizione dei comandi Ricerca delle Rettangoli informazioni Rettangoli Sostituzioni Sostituzioni Macro di tastiera Macro di tastiera Scrittura dei programmi 2 Scrittura dei programmi matlab-mode Altri matlab-mode major-mode Gestione dei Altri major-mode processi shell-mode Emacs Speaks 3 Gestione dei processi Statistics ess-mode shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 30/55
  31. 31. matlab-mode WEMS 2008 E. Somma Trattamento dei dati il matlab-mode ` un modo maggiore per fare l’editing dei e Ripetizione dei comandi dot-file contiene: Ricerca delle informazioni Rettangoli editing commentare e scommentare, indentare Sostituzioni Macro di tastiera regioni di testo, completare simboli Scrittura dei navigazione spostarsi tra i comandi, le funzioni e i blocchi programmi matlab-mode inserimento template di funzioni, di blocchi IF...END, Altri major-mode SWITCH...END, CASE,... Gestione dei processi colorazione del codice secondo la sintassi e verifica shell-mode Emacs Speaks elettrica delle parentesi Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 31/55
  32. 32. Matlab-Mode: comandi di editing WEMS 2008 E. Somma Trattamento dei dati Ripetizione dei comandi Ricerca delle C-c ; Commentare/Scommentare informazioni Rettangoli C-c C-f Impaginare i commenti Sostituzioni Macro di tastiera C-c C-q Impaginare codice e commenti Scrittura dei programmi M-q Indentare matlab-mode M-TAB Completamento dei simboli MATLAB Altri major-mode Gestione dei processi shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 32/55
  33. 33. Matlab-Mode: Comandi di navigazione WEMS 2008 E. Somma Trattamento dei dati Ripetizione dei comandi Ricerca delle informazioni Rettangoli M-a M-e Inizio e fine di un comando Sostituzioni Macro di tastiera C-M-a C-M-e Inizio e fine di una funzione Scrittura dei C-M-f C-M-b Dopo o prima di un blocco programmi matlab-mode Altri major-mode Gestione dei processi shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 33/55
  34. 34. Matlab-Mode: Comandi di inserimento template: WEMS 2008 E. Somma C-c C-c F Definizione di funzione Trattamento C-c C-c i Blocco IF END dei dati Ripetizione dei C-c C-c I Blocco IF ELSE END comandi Ricerca delle informazioni C-c C-c f Blocco FOR END Rettangoli Sostituzioni C-c C-c w Blocco WHILE END Macro di tastiera C-c C-c s Blocco SWITCH END Scrittura dei programmi C-c C-c t Blocco TRY...CATCH...END matlab-mode Altri C-c C-c c Una condizione CASE in uno SWITCH. major-mode C-c C-c e Un END che chiude un precedente comando Gestione dei processi con un ARG opzionale reindenta il codice shell-mode Emacs Speaks Statistics C-c C-c ’ Converte una regione in una stringa corretta- ess-mode mente virgolettata E. Somma (SIA-BdI) WEMS 2008 14/01/2008 34/55
  35. 35. Altri major-mode WEMS 2008 E. Somma 1 Trattamento dei dati Ripetizione dei comandi Trattamento dei dati Ricerca delle informazioni Ripetizione dei comandi Ricerca delle Rettangoli informazioni Rettangoli Sostituzioni Sostituzioni Macro di tastiera Macro di tastiera Scrittura dei programmi 2 Scrittura dei programmi matlab-mode Altri matlab-mode major-mode Gestione dei Altri major-mode processi shell-mode Emacs Speaks 3 Gestione dei processi Statistics ess-mode shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 35/55
  36. 36. Altri ’major-mode’ WEMS 2008 E. Somma Trattamento dei dati Ripetizione dei Sono disponibili molti altri major-mode per tutti i principali comandi Ricerca delle linguaggi di programmazione informazioni Rettangoli (C,C++,Java,FORTRAN,F90,Python,Perl,ecc..), ma anche: Sostituzioni Macro di tastiera Scrittura dei speakez-mode speakez.el Spakeasy (parziale) programmi fame-mode fame.el FAME (parziale) matlab-mode Altri major-mode Il progetto Emacs Speaks Statistics fornisce major-mode Gestione dei processi per i seguenti linguaggi: R/S, SAS, stata,SAS, LispStat, ecc... shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 36/55
  37. 37. Gestione dei processi WEMS 2008 E. Somma 1 Trattamento dei dati Ripetizione dei comandi Trattamento dei dati Ricerca delle informazioni Ripetizione dei comandi Ricerca delle Rettangoli informazioni Rettangoli Sostituzioni Sostituzioni Macro di tastiera Macro di tastiera Scrittura dei programmi 2 Scrittura dei programmi matlab-mode Altri matlab-mode major-mode Gestione dei Altri major-mode processi shell-mode Emacs Speaks 3 Gestione dei processi Statistics ess-mode shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 37/55
  38. 38. shell-mode WEMS 2008 E. Somma 1 Trattamento dei dati Ripetizione dei comandi Trattamento dei dati Ricerca delle informazioni Ripetizione dei comandi Ricerca delle Rettangoli informazioni Rettangoli Sostituzioni Sostituzioni Macro di tastiera Macro di tastiera Scrittura dei programmi 2 Scrittura dei programmi matlab-mode Altri matlab-mode major-mode Gestione dei Altri major-mode processi shell-mode Emacs Speaks 3 Gestione dei processi Statistics ess-mode shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 38/55
  39. 39. Comandi di shell WEMS 2008 E. Somma Trattamento dei dati Ripetizione dei comandi Quando i programmi statistici hanno la possibilit` di a Ricerca delle informazioni utilizzare una interfaccia a linea di comando possono Rettangoli Sostituzioni sempre essere chiamati dallo shell-mode di Emacs. Si Macro di tastiera Scrittura dei avranno gratis tutte le capacit` di editing proprie a programmi dell’editor (che gi` cos` sono spesso molto maggiori di a ı matlab-mode Altri major-mode quelle dei programmi d’interfaccia grafica di molti di Gestione dei questi prodotti). processi shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 39/55
  40. 40. Comandi di shell WEMS 2008 E. Somma ` E comunque possibile interagire con la shell anche direttamente Trattamento dei dati da un buffer (senza lanciare un processo dedicato): Ripetizione dei comandi M-! shell-command Ricerca delle informazioni Esegue un comando di shell Rettangoli Sostituzioni M-| shell-command-on-region Macro di tastiera ...su una regione di testo Scrittura dei programmi C-u M-! matlab-mode Altri major-mode C-u M-! Ritorna il risultato direttamente nel buffer Gestione dei Per definire quale shell usare si deve configurare la variabile processi shell-file-name. Ad esempio inserendo in .emacs il shell-mode Emacs Speaks Statistics comando: ess-mode (setq shell-file-name "/bin/bash") E. Somma (SIA-BdI) WEMS 2008 14/01/2008 40/55
  41. 41. Comandi singoli di shell WEMS 2008 E. Somma Trattamento ` E possibile inserire la seguente riga in un documento dei dati Ripetizione dei comandi Ricerca delle Nel buffer di lavoro informazioni Rettangoli Sostituzioni getbiss ’’TCNUSA’’ ; disp TCNUSA Macro di tastiera Scrittura dei Selezionarla come regione ed usare la seguente combinazione di programmi matlab-mode tasti Altri major-mode Comando emacs Gestione dei processi shell-mode M-| fame -e Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 41/55
  42. 42. La shell inferiore WEMS 2008 E. Somma Trattamento Per chiamare un processo di shell interattiva all’interno di un dei dati buffer si possono usare i comandi: Ripetizione dei comandi Ricerca delle M-x shell Shell di sistema informazioni Rettangoli (bash su unix, Sostituzioni Macro di tastiera (CMD su MSDOS, ...) Scrittura dei M-x eshell Emacs shell programmata in Emacs Lisp e programmi matlab-mode funziona uguale in tutti i sistemi Altri major-mode Per definire quale shell usare si deve configurare la variabile Gestione dei shell-file-name. Ad esempio inserendo in .emacs il processi shell-mode comando: Emacs Speaks Statistics ess-mode (setq explicit-shell-file-name "/bin/bash") E. Somma (SIA-BdI) WEMS 2008 14/01/2008 42/55
  43. 43. Comandi di shell WEMS 2008 E. Somma Trattamento dei dati Ripetizione dei comandi shell su Mac OS X Ricerca delle informazioni Rettangoli bash-3.2$ Sostituzioni Macro di tastiera Scrittura dei eshell su Mac OS X programmi matlab-mode Altri Welcome to the Emacs shell major-mode /Users/exedre/Work/0-ufficio/Corsi/Emacs/WEMS $ Gestione dei processi shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 43/55
  44. 44. Il buffer della shell WEMS 2008 E. Somma ` E possibile chiamare numerose shell usando un argomento prefisso al comando shell Trattamento dei dati Ripetizione dei comandi C-u M-x shell Ricerca delle informazioni Rettangoli Sostituzioni I nomi scelti da Emacs per i buffer saranno *shell*:<n>, ma ` e Macro di tastiera Scrittura dei possibile indicare un proprio nome sia al momento dell’apertura programmi che utilizzando il comando matlab-mode Altri major-mode Gestione dei M-x rename-buffer processi shell-mode Emacs Speaks Statistics L’inizializzazione della shell avviene tramite il file ess-mode ~/.emacs_SHELL o ~/.emacs.d/init_SHELL.sh (ad esempio ~/.emacs_bash o ~/.emacs.d/init_bash.sh) E. Somma (SIA-BdI) WEMS 2008 14/01/2008 44/55
  45. 45. Ridefinizione tastiera nel processo di shell WEMS 2008 <RET> Lancia il comando E. Somma C-c C-d Termina la shell Trattamento dei dati C-d Cancella il prossimo carattere Ripetizione dei comandi C-c C-u Cancella la linea di comando Ricerca delle informazioni C-c C-w Cancella una parola Rettangoli Sostituzioni C-c C-c Cancella il comando Macro di tastiera C-c C-z Blocca il comando Scrittura dei programmi C-c C- Termina il comando matlab-mode Altri major-mode C-c C-o Elimina l’ultimo output Gestione dei C-c C-r Vedi output processi shell-mode C-c C-y Copia input Emacs Speaks Statistics M-p, M-↑ Input precedente ess-mode M-n, M-↓ Input successivo <TAB> Completamento dinamico del comando E. Somma (SIA-BdI) WEMS 2008 14/01/2008 45/55
  46. 46. Emacs Speaks Statistics ess-mode WEMS 2008 E. Somma 1 Trattamento dei dati Ripetizione dei comandi Trattamento dei dati Ricerca delle informazioni Ripetizione dei comandi Ricerca delle Rettangoli informazioni Rettangoli Sostituzioni Sostituzioni Macro di tastiera Macro di tastiera Scrittura dei programmi 2 Scrittura dei programmi matlab-mode Altri matlab-mode major-mode Gestione dei Altri major-mode processi shell-mode Emacs Speaks 3 Gestione dei processi Statistics ess-mode shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 46/55
  47. 47. Caratteristiche di ESS WEMS 2008 E. Somma Trattamento dei dati indentazione sintattica Ripetizione dei comandi evidenziazione dipendente dal contesto Ricerca delle informazioni Rettangoli valutazione parziale del codice Sostituzioni Macro di tastiera completamento degli oggetti Scrittura dei programmi verifica del codice sorgente matlab-mode Altri major-mode interazione con i processi Gestione dei processi esecuzione di processi su computer remoti shell-mode Emacs Speaks editing e riuso delle trascrizioni Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 47/55
  48. 48. Utilizzo di ESS WEMS 2008 E. Somma Trattamento dei dati Ripetizione dei comandi Ricerca delle informazioni Rettangoli I modi sorgente Sostituzioni Macro di tastiera Il processo inferiore ESS Scrittura dei programmi La gestione delle trascrizioni matlab-mode Altri major-mode Gestione dei processi shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 48/55
  49. 49. Linguaggi gestiti da ESS WEMS 2008 E. Somma Trattamento dei dati Ripetizione dei comandi Ricerca delle informazioni Rettangoli La famiglia dei linguaggi S (tra cui GNU R) Sostituzioni Macro di tastiera SAS Scrittura dei programmi stata matlab-mode Altri major-mode Gestione dei processi shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 49/55
  50. 50. Perch´ ESS e WEMS 2008 E. Somma Trattamento dei dati Ripetizione dei comandi Ricerca delle perch´ alcuni linguaggi non hanno un ambiente proprio e informazioni Rettangoli Sostituzioni quando ce l’hanno ` veramente poco efficace e Macro di tastiera quando ` efficace ` incompatibile e e Scrittura dei programmi matlab-mode Altri E comunque Emacs ` meglio! e major-mode Gestione dei processi shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 50/55
  51. 51. ESS per l’interazione con i processi WEMS 2008 E. Somma Attivazione del processo ESS Trattamento dei dati M-x R GNU R Ripetizione dei comandi M-x SAS SAS Ricerca delle informazioni Rettangoli M-x stata stata Sostituzioni Macro di tastiera Attivare pi` processi simultanei u Scrittura dei C-u M-x R programmi matlab-mode M-x ess-request-a-process Altri major-mode Processi su computer remoti Gestione dei processi M-x ssh shell-mode Emacs Speaks remote$ stata Statistics ess-mode M-x ess-remote E. Somma (SIA-BdI) WEMS 2008 14/01/2008 51/55
  52. 52. ESS per l’interazione con i processi WEMS 2008 E. Somma Trattamento dei dati Ripetizione dei comandi Cambiare l’azione di partenza Ricerca delle informazioni M-x set-variable ess-ask-for-ess-directory Rettangoli Sostituzioni (setq ess-ask-for-ess-directory nil) Macro di tastiera Scrittura dei Configurazione programmi (setq ess-ask-about-transfile ’journal.St’) matlab-mode Altri major-mode C-u M-x R Gestione dei M-x ess-request-a-process processi shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 52/55
  53. 53. ESS per l’interazione con i processi WEMS 2008 E. Somma ` E modellato sullo shell-mode da cui trae molti comandi tra cui: Trattamento dei dati Ripetizione dei Comandi ed errori comandi <RET> inferior-ess-send-input Ricerca delle informazioni Rettangoli C-c C-w, M-< backward-kill-word Sostituzioni Macro di tastiera C-c C-u comint-kill-input Scrittura dei C-c C-a comint-bol programmi matlab-mode Completamento dei nomi Altri major-mode <TAB> comint-dynamic-complete Gestione dei processi M-? ess-list-object-completion shell-mode Nel caso di R completa anche i nomi dei campi delle Emacs Speaks Statistics ess-mode strutture, ad esempio: struttura$campo E. Somma (SIA-BdI) WEMS 2008 14/01/2008 53/55
  54. 54. ESS per manipolare le trascrizioni WEMS 2008 E. Somma Trattamento dei dati Ripetizione dei comandi Ricerca delle M-{ comint-previous-input informazioni Rettangoli M-} comint-next-input Sostituzioni Macro di tastiera C-c C-e comint-show-maximum-output Scrittura dei programmi C-c C-r comint-show-output matlab-mode C-c C-o comint-kill-output Altri major-mode Gestione dei processi shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 54/55
  55. 55. WEMS 2008 E. Somma Trattamento dei dati Ripetizione dei comandi Ricerca delle informazioni Rettangoli Sostituzioni Macro di tastiera Scrittura dei Grazie dell’attenzione programmi matlab-mode Altri major-mode Gestione dei processi shell-mode Emacs Speaks Statistics ess-mode E. Somma (SIA-BdI) WEMS 2008 14/01/2008 55/55

×