1280 lines
40 KiB
XML
1280 lines
40 KiB
XML
<?xml version="1.0" encoding="iso-8859-15"?>
|
|
<!--
|
|
The FreeBSD Italian Documentation Project
|
|
|
|
$FreeBSD$
|
|
-->
|
|
|
|
<chapter id="editors">
|
|
<title>Editor</title>
|
|
|
|
<para>Esistono numerose utility per la manipolazione del testo in Unix, come
|
|
è stato notato attraverso questo documento (esempio
|
|
&man.ed.1;, &man.ex.1;, &man.sed.1;, &man.awk.1;, la famiglia
|
|
<application>grep</application> e la famiglia
|
|
<application>roff</application>). Tra gli editor, l'editor visuale (o a
|
|
schermo pieno) standard su Unix è <application>vi</application>.
|
|
Questa applicazione comprende un super-set, per così dire, di
|
|
caratteristiche di &man.ed.1; e di &man.ex.1; (gli editor a linea di
|
|
Unix).</para>
|
|
|
|
<para>&man.vi.1; è un editor modale. Questo significa che ha
|
|
modalità specifiche che permettono l'inserimento del testo, la
|
|
cancellazione del testo e l'inserimento dei comandi. Si può lasciare
|
|
la modalità di inserimento premendo il tasto <keycap>escape</keycap>.
|
|
In questo modo ci si porta nella modalità comando. L'editor
|
|
di linea &man.ex.1; è incorporato in &man.vi.1;. Si può
|
|
passare dalla modalità a schermo pieno a quella a linea di comando (e
|
|
viceversa) quando si desidera. In modalità <emphasis>vi</emphasis>
|
|
premere <keycap>Q</keycap> per andare in modalità
|
|
<emphasis>ex</emphasis>. In modaltà <emphasis>ex</emphasis>, al
|
|
prompt : digitare <command>vi</command> per ritornare in modalità
|
|
<emphasis>vi</emphasis>. Inoltre è disponibile una modalità
|
|
di &man.vi.1; in sola lettura, che può essere invocata con
|
|
&man.view.1;.</para>
|
|
|
|
<para>Un altro editor comune nei sistemi Unix, specialmente nei college e
|
|
negli ambienti universitari, è <application>emacs</application> (che
|
|
sta per <quote>editing macros</quote>). Mentre &man.vi.1; è in
|
|
generale compreso nel sistema operativo Unix, &man.emacs.1; usualmente non
|
|
lo è. <application>Emacs</application> viene distribuito dalla Free
|
|
Software Foundation ed è discutibilmente il più potente editor
|
|
disponibile per Unix. <application>Emacs</application> è un software
|
|
di sistema molto grande ed è un grossa risorsa di sistema per un
|
|
utente di computer.</para>
|
|
|
|
<para>La Free Software Foundation e il progetto GNU (del quale
|
|
<application>emacs</application> fa parte) sono stati fondati da Richard
|
|
Stallman e dai suoi soci, i quali credono (come specificato nel manifesto
|
|
GNU) che condividere il software sia <quote>l'atto fondamentale di amicizia
|
|
tra programmatori</quote>. La loro General Public License garantisce il
|
|
diritto d'uso, di modifica e di distribuzione di
|
|
<application>emacs</application> (incluso il suo codice sorgente) ed
|
|
è stata progettata specificatamente per impedire a qualcuno di
|
|
prendersi un profitto finanziario da <application>emacs</application> o da
|
|
altri software conseguiti attraverso la Free Software Foundation. Molti dei
|
|
loro software, incluso <application>emacs</application>, sono disponibili
|
|
via <ulink url="ftp://ftp.gnu.org/pub/gnu/"><hostid
|
|
role="fqdn">ftp://ftp.gnu.org/pub/gnu/</hostid></ulink> e
|
|
<ulink url="http://www.gnu.org/"><hostid
|
|
role="fqdn">http://www.gnu.org/</hostid></ulink>.</para>
|
|
|
|
<para>Sia &man.vi.1; che &man.emacs.1; permettono di creare file di
|
|
inizializzazione che possono contenere macro per controllare i settaggi e le
|
|
funzioni degli editor.</para>
|
|
|
|
<sect1 id="editors-vi">
|
|
<title>Configurare la propria sessione vi</title>
|
|
|
|
<para>Per configurare l'ambiente di &man.vi.1; certe opzioni possono essere
|
|
settate con il comando di linea dell'editor <command>:set</command>
|
|
durante una sessione di editing. In alternativa, le opzioni usate di
|
|
frequente possono essere automaticamente settate quando viene invocato
|
|
&man.vi.1;, attraverso il file <filename>.exrc</filename>. Inoltre,
|
|
questo file può contenere macro per mappare battute di tasti in
|
|
funzioni usando la funzione <command>map</command>. All'interno di
|
|
&man.vi.1; queste macro possono essere definite con il comando
|
|
<command>:map</command>. I caratteri di controllo possono essere inseriti
|
|
digitando prima <keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>V</keycap>
|
|
</keycombo>, quindi il carattere di controllo desiderato. Alcune opzioni
|
|
disponibili in &man.vi.1; sono mostrate qui sotto. Alcuni sistemi Unix
|
|
non accettano certe di queste opzioni.</para>
|
|
|
|
<informaltable frame="none">
|
|
<tgroup cols="2">
|
|
<colspec colwidth="2in"/>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><command>:set all</command></entry>
|
|
|
|
<entry>visualizza tutti i settaggi delle opzioni</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>:set ignorecase</command></entry>
|
|
|
|
<entry>ignora il maiuscolo e minuscolo di un carattere in una
|
|
ricerca</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>:set list</command></entry>
|
|
|
|
<entry>visualizza tab e return</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>:set nolist</command></entry>
|
|
|
|
<entry>mette off l'opzione <option>list</option></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>:set number</command></entry>
|
|
|
|
<entry>visualizza i numeri di linea</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>:set nonumber</command></entry>
|
|
|
|
<entry>disattiva i numeri di linea</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>:set showmode</command></entry>
|
|
|
|
<entry>visualizza l'indicazione che la modalità di
|
|
inserimento è on</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>:set noshowmode</command></entry>
|
|
|
|
<entry>mette off l'opzione <option>showmode</option></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>:set
|
|
wrapmargin=<replaceable>n</replaceable></command></entry>
|
|
|
|
<entry>mette on la modalità word-wrap a
|
|
<replaceable>n</replaceable> spazi dal margine destro</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>:set wrapmargin=0</command></entry>
|
|
|
|
<entry>mette off l'opzione <option>wrapmargin</option></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>:set warn</command></entry>
|
|
|
|
<entry>visualizza l'avvertimento <quote>Ultima modifica non
|
|
registrata</quote></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>:set nowarn</command></entry>
|
|
|
|
<entry>mette off l'avvertimento di scrittura
|
|
<option>warn</option></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para>Segue un esempio di file <filename>.exrc</filename>:</para>
|
|
|
|
<programlisting>set wrapmargin=10
|
|
set number
|
|
set list
|
|
set warn
|
|
set ignorecase
|
|
map K {!}fmt -80 # riformatta questo paragrafo, {!}, usando fmt a
|
|
# 80 caratteri per linea
|
|
map ^Z :!spell # invoca spell, :!, per verificare lo splelling di
|
|
# una parola (ritorna a vi con Ctrl+D)</programlisting>
|
|
</sect1>
|
|
|
|
<sect1 id="editors-emacs">
|
|
<title>Configurare la propria sessione emacs</title>
|
|
|
|
<para>Configurare l'ambiente di &man.emacs.1; equivale a creare chiamate a
|
|
funzioni LISP. &man.emacs.1; è infinitamente personalizzabile
|
|
tramite variabili <emphasis>emacs</emphasis>, funzioni built-in e
|
|
attraverso la programmazione Emacs LISP. I settaggi possono essere
|
|
specificati dal minibuffer (o da linea di comando) durante una sessione
|
|
<emphasis>emacs</emphasis>. Alternativamente, i settaggi usati di
|
|
frequente possono essere attivati automaticamente quando viene invocato
|
|
&man.emacs.1;, usando il file <filename>.emacs</filename>. Benchè
|
|
una discussione del Emacs LISP vada oltre lo scopo di questo documento,
|
|
seguono alcuni esempi di configurazioni per &man.emacs.1;.</para>
|
|
|
|
<para>Per settare o verificare variabili <emphasis>emacs</emphasis> o per
|
|
usare le sue funzioni built-in, si usa il tasto <keycap>escape</keycap>
|
|
(<emphasis>Meta</emphasis> è come &man.emacs.1; si riferisce a
|
|
questo) seguito dalla lettera <keycap>x</keycap>, quindi la variabile o
|
|
la funzione e i suoi argomenti.</para>
|
|
|
|
<informaltable frame="none">
|
|
<tgroup cols="2">
|
|
<colspec colwidth="3in"/>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><command><keycap>M</keycap>, <keycap>x</keycap>
|
|
what-line</command></entry>
|
|
|
|
<entry>quale linea è sul cursore?</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>, <keycap>x</keycap>
|
|
auto-fill-mode</command></entry>
|
|
|
|
<entry>mette on word-wrap</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>, <keycap>x</keycap>
|
|
auto-fill-mode</command></entry>
|
|
|
|
<entry>mette off word-wrap</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>, <keycap>x</keycap>
|
|
set-variable <keycap><return></keycap>
|
|
fill-column <keycap><return></keycap> 45</command></entry>
|
|
|
|
<entry>setta la lunghezza di linea a 45 caratteri</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>, <keycap>x</keycap>
|
|
set-variable <keycap><return></keycap>
|
|
auto-save-interval <keycap><return></keycap>
|
|
300</command></entry>
|
|
|
|
<entry>salva automaticamente il file ogni 300 battute di
|
|
tasti</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>, <keycap>x</keycap>
|
|
goto-line <keycap><return></keycap>
|
|
16</command></entry>
|
|
|
|
<entry>muove il cursore alla linea 16</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>, <keycap>x</keycap>
|
|
help-for-help</command></entry>
|
|
|
|
<entry>invoca l'help di emacs quando <keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>h</keycap>
|
|
</keycombo> è stato mappato al tasto
|
|
<keycap>backspace</keycap></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para>Segue un esempio del file <filename>.emacs</filename>:</para>
|
|
|
|
<programlisting>(message "Loading ~/.emacs...")
|
|
; I commenti iniziano con un punto e virgola e continuano fino alla fine della linea.
|
|
(setq text-mode-hook 'turn-on-auto-fill) ;mette on word-wrap
|
|
(setq fill-column 45) ;lunghezza di linea pari a 45 caratteri
|
|
(setq auto-save-interval 300) ;salva il file ogni 300 battute di tasti
|
|
; Costruisce (o mappa) la funzione di rubout (Ctrl+h) nel tasto backspace
|
|
(global-set-key "\C-h" 'backward-delete-char-untabify)
|
|
; Costruisce la funzione help emacs per la sequenza di battitura "Ctrl+x ?"
|
|
(global-set-key "\C-x?" 'help-for-help)
|
|
; Per saltare alla linea 16, digitare M, #<return>16
|
|
(global-set-key "\M-#" 'goto-line)
|
|
; Per sapere su che linea si è, digitare M, n
|
|
(global-set-key "\M-n" 'what-line)
|
|
(message "~/.emacs loaded.")
|
|
(message "")</programlisting>
|
|
</sect1>
|
|
|
|
<sect1 id="editors-vi-guide">
|
|
<title>Veloce guida per vi</title>
|
|
|
|
<para>Tutti i comandi in &man.vi.1; sono preceduti dalla pressione del tasto
|
|
<keycap>escape</keycap>. Ogni volta che si deve intraprendere un nuovo
|
|
comando si deve utilizzare il tasto di <keycap>escape</keycap>.
|
|
Diversamente da dove indicato, &man.vi.1; è case sensitive
|
|
(sensibile alla differenza minuscolo e maiuscolo).</para>
|
|
|
|
<para><emphasis>Comandi movimento cursore:</emphasis></para>
|
|
|
|
<para>(<replaceable>n</replaceable>) indica un numero ed è
|
|
opzionale</para>
|
|
|
|
<informaltable frame="none">
|
|
<tgroup cols="2">
|
|
<colspec colwidth="1.5in"/>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><command>(<replaceable>n</replaceable>)<keycap>h</keycap></command></entry>
|
|
|
|
<entry>(<replaceable>n</replaceable>) spazi a sinistra</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>(<replaceable>n</replaceable>)<keycap>j</keycap></command></entry>
|
|
|
|
<entry>(<replaceable>n</replaceable>) spazi giù</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>(<replaceable>n</replaceable>)<keycap>k</keycap></command></entry>
|
|
|
|
<entry>(<replaceable>n</replaceable>) spazi su</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>(<replaceable>n</replaceable>)<keycap>l</keycap></command></entry>
|
|
|
|
<entry>(<replaceable>n</replaceable>) spazi a destra</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para>(Generalmente funzionano anche i tasti freccia)</para>
|
|
|
|
<informaltable frame="none">
|
|
<tgroup cols="2">
|
|
<colspec colwidth="1.5in"/>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>F</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>avanti di una schermata</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>B</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>indietro di una schermata</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>D</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>giù di mezza schermata</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>U</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>su di mezza schermata</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para>(<keycap>Ctrl</keycap> indica il tasto <keycap>control</keycap>; il
|
|
case sensitive non è importante)</para>
|
|
|
|
<informaltable frame="none">
|
|
<tgroup cols="2">
|
|
<colspec colwidth="1.5in"/>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><command><keycap>H</keycap></command></entry>
|
|
|
|
<entry>all'inizio della linea superiore della schermata</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap></command></entry>
|
|
|
|
<entry>all'inizio della linea mediana della schermata</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>L</keycap></command></entry>
|
|
|
|
<entry>all'inizio dell'ultima linea della schermata</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>G</keycap></command></entry>
|
|
|
|
<entry>all'inizio dell'ultima linea del file</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>(<replaceable>n</replaceable>)<keycap>G</keycap></command></entry>
|
|
|
|
<entry>all'inizio della linea (<replaceable>n</replaceable>)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>0</keycap></command></entry>
|
|
|
|
<entry>(zero) all'inizio della linea</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>$</keycap></command></entry>
|
|
|
|
<entry>alla fine della linea</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>(<replaceable>n</replaceable>)<keycap>w</keycap></command></entry>
|
|
|
|
<entry>avanti (<replaceable>n</replaceable>) parole</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>(<replaceable>n</replaceable>)<keycap>b</keycap></command></entry>
|
|
|
|
<entry>indietro (<replaceable>n</replaceable>) parole</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>e</keycap></command></entry>
|
|
|
|
<entry>fine della parola</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para><emphasis>Inserimento testo:</emphasis></para>
|
|
|
|
<informaltable frame="none">
|
|
<tgroup cols="2">
|
|
<colspec colwidth="1.5in"/>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><command><keycap>i</keycap></command></entry>
|
|
|
|
<entry>inserimento testo prima del cursore</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>a</keycap></command></entry>
|
|
|
|
<entry>aggiunta testo dopo il cursore (non sovrascrive altro
|
|
testo)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>I</keycap></command></entry>
|
|
|
|
<entry>inserimento testo all'inizio della linea</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>A</keycap></command></entry>
|
|
|
|
<entry>aggiunta testo alla fine della linea</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>r</keycap></command></entry>
|
|
|
|
<entry>sostituisce il carattere posto sotto il cursore con il
|
|
prossimo carattere digitato</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>R</keycap></command></entry>
|
|
|
|
<entry>sovrascrive i caratteri fino alla fine della linea (o fino a
|
|
quando il tasto <keycap>escape</keycap> viene digitato per
|
|
cambiare comando)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>o</keycap></command></entry>
|
|
|
|
<entry>(alpha o) inserisce una nuova linea dopo la linea corrente
|
|
per inserire del testo</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>O</keycap></command></entry>
|
|
|
|
<entry>(alpha O) inserisce una nuova linea prima della linea
|
|
corrente per inserire del testo</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para><emphasis>Cancellazione testo:</emphasis></para>
|
|
|
|
<informaltable frame="none">
|
|
<tgroup cols="2">
|
|
<colspec colwidth="1.5in"/>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><command><keycap>dd</keycap></command></entry>
|
|
|
|
<entry>cancella la linea corrente</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>(<replaceable>n</replaceable>)<keycap>dd</keycap></command></entry>
|
|
|
|
<entry>cancella (<replaceable>n</replaceable>) linee</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>(<replaceable>n</replaceable>)<keycap>dw</keycap></command></entry>
|
|
|
|
<entry>cancella (<replaceable>n</replaceable>) parole</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>D</keycap></command></entry>
|
|
|
|
<entry>cancella dal cursore fino alla fine della linea</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>x</keycap></command></entry>
|
|
|
|
<entry>cancella il carattere corrente</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>(<replaceable>n</replaceable>)<keycap>x</keycap></command></entry>
|
|
|
|
<entry>cancella (<replaceable>n</replaceable>) caratteri</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>X</keycap></command></entry>
|
|
|
|
<entry>cancella il carattere precedente</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para><emphasis>Comandi di modifica:</emphasis></para>
|
|
|
|
<informaltable frame="none">
|
|
<tgroup cols="2">
|
|
<colspec colwidth="1.5in"/>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><command>(<replaceable>n</replaceable>)<keycap>cc</keycap></command></entry>
|
|
|
|
<entry>modifica (<replaceable>n</replaceable>) caratteri sulla linea
|
|
fino alla fine della linea (o fino a quando viene digitato il
|
|
tasto <keycap>escape</keycap>)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>cw</keycap></command></entry>
|
|
|
|
<entry>modifica i caratteri di una parola fino alla fine della
|
|
parola (o fino a quando viene digitato il tasto
|
|
<keycap>escape</keycap>)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>(<replaceable>n</replaceable>)<keycap>cw</keycap></command></entry>
|
|
|
|
<entry>modifica i caratteri delle prossime
|
|
(<replaceable>n</replaceable>) parole</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>c$</keycap></command></entry>
|
|
|
|
<entry>modifica il testo alla fine della linea</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>ct</keycap>(<replaceable>x</replaceable>)</command></entry>
|
|
|
|
<entry>modifica il testo alla lettera
|
|
(<replaceable>x</replaceable>)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>C</keycap></command></entry>
|
|
|
|
<entry>modifica il testo rimanente sulla linea corrente (fino a
|
|
quando viene digitato il tasto <keycap>escape</keycap>)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>~</keycap></command></entry>
|
|
|
|
<entry>modifica il minuscolo/maiuscolo del carattere
|
|
corrente</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>J</keycap></command></entry>
|
|
|
|
<entry>unisce la linea corrente a quella successiva</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>u</keycap></command></entry>
|
|
|
|
<entry>annulla l'ultimo comando realizzato sulla linea
|
|
corrente</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>.</keycap></command></entry>
|
|
|
|
<entry>ripete l'ultima modifica</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>s</keycap></command></entry>
|
|
|
|
<entry>sostituisce il carattere corrente con il testo
|
|
digitato</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>S</keycap></command></entry>
|
|
|
|
<entry>sostituisce la linea corrente con il testo digitato</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>:s</command></entry>
|
|
|
|
<entry>sostituisce vecchie parole con nuove parole
|
|
<command>:<linee considerate>
|
|
s/vecchio/nuovo/g</command></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>&</keycap></command></entry>
|
|
|
|
<entry>ripete l'ultimo comando di sostituzione
|
|
(<command>:s</command>)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>(<replaceable>n</replaceable>)<keycap>yy</keycap></command></entry>
|
|
|
|
<entry><quote>strappa</quote> (<replaceable>n</replaceable>) linee
|
|
dal buffer</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>y</keycap>(<replaceable>n</replaceable>)<keycap>w</keycap></command></entry>
|
|
|
|
<entry><quote>strappa</quote> (<replaceable>n</replaceable>) parole
|
|
dal buffer</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>p</keycap></command></entry>
|
|
|
|
<entry>inserisce il testo eliminato o <quote>strappato</quote> dopo
|
|
il cursore</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>P</keycap></command></entry>
|
|
|
|
<entry>inserisce il testo eliminato o <quote>strappato</quote> prima
|
|
del cursore</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para><emphasis>Manipolazione file:</emphasis></para>
|
|
|
|
<informaltable frame="none">
|
|
<tgroup cols="2">
|
|
<colspec colwidth="1.5in"/>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><command>:w
|
|
(<replaceable>file</replaceable>)</command></entry>
|
|
|
|
<entry>scrive i cambiamenti nel file specificato (file corrente di
|
|
default)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>:wq</command></entry>
|
|
|
|
<entry>scrive i cambiamenti nel file corrente e conclude la sessione
|
|
di editing</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>:w!
|
|
(<replaceable>file</replaceable>)</command></entry>
|
|
|
|
<entry>sovrascrive il file (file corrente di default)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>:q</command></entry>
|
|
|
|
<entry>esce dalla sessione di editing se non sono stati creati
|
|
cambiamenti</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>:q!</command></entry>
|
|
|
|
<entry>esce dalla sessione di editing e scarta eventuali
|
|
cambiamenti non salvati</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>:n</command></entry>
|
|
|
|
<entry>edita il prossimo file nella lista dell'argomento</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>:f
|
|
(<replaceable>nome</replaceable>)</command></entry>
|
|
|
|
<entry>modifica il nome del file corrente in quello
|
|
specificato</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>:r
|
|
(<replaceable>file</replaceable>)</command></entry>
|
|
|
|
<entry>legge il contenuto del file specificato all'interno del
|
|
corrente editing e alla corrente posizione del cursore
|
|
(inserisce un file)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>:!(<replaceable>comando</replaceable>)</command></entry>
|
|
|
|
<entry>escape di shell</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command>:r!(<replaceable>comando</replaceable>)</command></entry>
|
|
|
|
<entry>inserisce il risultato del comando di shell specificato nella
|
|
posizione corrente</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><keycap>ZZ</keycap></entry>
|
|
|
|
<entry>scrive i cambiamenti nel file corrente ed esce</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</sect1>
|
|
|
|
<sect1 id="editors-emacs-guide">
|
|
<title>Veloce guida per emacs</title>
|
|
|
|
<para>I comandi di &man.emacs.1; sono realizzati sia tramite la
|
|
simultanea pressione del tasto <keycap>control</keycap> (indicato da
|
|
<keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap></keycap>
|
|
</keycombo>), sia attraverso il primo colpo del tasto di
|
|
<keycap>escape</keycap> (indicato da <keycap>M</keycap>,).</para>
|
|
|
|
<para><emphasis>Comandi essenziali</emphasis></para>
|
|
|
|
<informaltable frame="none">
|
|
<tgroup cols="2">
|
|
<colspec colwidth="1.5in"/>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>h</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>help</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>x</keycap>
|
|
</keycombo>, <keycap>u</keycap></command></entry>
|
|
|
|
<entry>undo (annulla operazione precedente)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>x</keycap>
|
|
</keycombo>, <keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>g</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>esce dalla operazione o comando corrente</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>x</keycap>
|
|
</keycombo>, <keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>s</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>salva il file</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>x</keycap>
|
|
</keycombo>, <keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>c</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>chiude &man.emacs.1;</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para><emphasis>Movimenti cursore</emphasis></para>
|
|
|
|
<informaltable frame="none">
|
|
<tgroup cols="2">
|
|
<colspec colwidth="1.5in"/>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>f</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>avanti di un carattere</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>b</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>indietro di un carattere</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>p</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>linea precedente</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>n</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>linea successiva</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>a</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>inizio linea</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>e</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>fine linea</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>l</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>al centro della corrente linea sullo schermo</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>v</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>sfoglia avanti</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>,
|
|
<keycap>v</keycap></command></entry>
|
|
|
|
<entry>sfoglia indietro</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>,
|
|
<keycap>f</keycap></command></entry>
|
|
|
|
<entry>avanti di una parola</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>,
|
|
<keycap>b</keycap></command></entry>
|
|
|
|
<entry>indietro di una parola</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>,
|
|
<keycap>a</keycap></command></entry>
|
|
|
|
<entry>inizio periodo</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>,
|
|
<keycap>e</keycap></command></entry>
|
|
|
|
<entry>fine periodo</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>,
|
|
<keycap>{</keycap></command></entry>
|
|
|
|
<entry>inizio paragrafo</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>,
|
|
<keycap>}</keycap></command></entry>
|
|
|
|
<entry>fine paragrafo</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>,
|
|
<keycap><</keycap></command></entry>
|
|
|
|
<entry>inizio buffer</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>,
|
|
<keycap>></keycap></command></entry>
|
|
|
|
<entry>fine buffer</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para><emphasis>Altre funzioni importanti</emphasis></para>
|
|
|
|
<informaltable frame="none">
|
|
<tgroup cols="2">
|
|
<colspec colwidth="1.5in"/>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><command><keycap>M</keycap>,
|
|
(<replaceable>n</replaceable>)</command></entry>
|
|
|
|
<entry>ripete il prossimo comando (<replaceable>n</replaceable>)
|
|
volte</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>d</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>cancella un carattere</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>,
|
|
<keycap>d</keycap></command></entry>
|
|
|
|
<entry>cancella una parola</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>k</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>elimina linea</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>,
|
|
<keycap>k</keycap></command></entry>
|
|
|
|
<entry>elimina periodo</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>s</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>ricerca in avanti</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>r</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>ricerca al rovescio</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>,
|
|
<keycap>%</keycap></command></entry>
|
|
|
|
<entry>sostituzione di query</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>,
|
|
<keycap>c</keycap></command></entry>
|
|
|
|
<entry>capitalizza parola</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>,
|
|
<keycap>u</keycap></command></entry>
|
|
|
|
<entry>parola in lettere maiuscole</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>,
|
|
<keycap>l</keycap></command></entry>
|
|
|
|
<entry>parola in lettere minuscole</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>t</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>commuta caratteri</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>,
|
|
<keycap>t</keycap></command></entry>
|
|
|
|
<entry>commuta parole</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>@</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>marca l'inizio di una regione</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>w</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>taglia/cancella tutto dalla marcatura al punto</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>y</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>incolla il testo eliminato o <quote>strappato</quote>
|
|
all'interno della locazione corrente</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>,
|
|
<keycap>q</keycap></command></entry>
|
|
|
|
<entry>riformatta il paragrafo</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>,
|
|
<keycap>g</keycap></command></entry>
|
|
|
|
<entry>riformatta ogni paragrafo nella regione</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<informaltable frame="none">
|
|
<tgroup cols="2">
|
|
<colspec colwidth="4.5in"/>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><command><keycap>M</keycap>, <keycap>x</keycap>
|
|
auto-fill-mode</command></entry>
|
|
|
|
<entry>mette on word wrap</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>, <keycap>x</keycap> set-variable
|
|
<keycap><return></keycap> fill-column
|
|
<keycap><return></keycap> 45</command></entry>
|
|
|
|
<entry>setta la lunghezza di linea a 45 caratteri</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycap>M</keycap>, <keycap>x</keycap> goto-line
|
|
<keycap><return></keycap> 16</command></entry>
|
|
|
|
<entry>muove il cursore alla linea 16</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<informaltable frame="none">
|
|
<tgroup cols="2">
|
|
<colspec colwidth="1.5in"/>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><command><keycap>M</keycap>,
|
|
<keycap>w</keycap></command></entry>
|
|
|
|
<entry>copia la regione marcata</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>x</keycap>
|
|
</keycombo>, <keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>f</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>cerca un file e lo legge</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>x</keycap>
|
|
</keycombo>, <keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>v</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>cerca e legge un file alternativo</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>x</keycap>
|
|
</keycombo>, <keycap>i</keycap></command></entry>
|
|
|
|
<entry>inserisce un file alla posizione corrente</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>x</keycap>
|
|
</keycombo>, <keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>s</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>salva il file</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>x</keycap>
|
|
</keycombo>, <keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>w</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>scrive il buffer in un file differente</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><command><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>x</keycap>
|
|
</keycombo>, <keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>c</keycap>
|
|
</keycombo></command></entry>
|
|
|
|
<entry>esce da &man.emacs.1; e chiede di salvare</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</sect1>
|
|
</chapter>
|