Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Workshop Emacs per la programmazione statistica
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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