SlideShare uma empresa Scribd logo
1 de 55
Baixar para ler offline
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

Mais conteúdo relacionado

Destaque

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Destaque (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
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