<para>L'editor &kate; è l'area modificabile della finestra di &kate;. Questo editor è utilizzato anche da &kwrite; e può essere usato in &konqueror; per mostrare file di testo presenti nel tuo computer o in rete.</para>
<para>Le barre di scorrimento indicano la posizione della parte visibile del testo del documento e possono essere utilizzate per spostarsi nel documento. L'operazione di trascinamento delle barre di scorrimento non modifica la posizione del cursore di inserimento.</para>
<para>Le barre di scorrimento sono mostrate e nascoste secondo necessità.</para>
<para>Il bordo per le icone è un piccolo pannello alla sinistra dell'editor che mostra una piccola icona in corrispondenza delle righe marcate.</para>
<para>Puoi impostare o rimuovere un <link linkend="kate-part-bookmarks">segnalibro</link> in una riga visibile facendo clic con il &LMB; nel bordo per le icone in corrispondenza di tale riga.</para>
<para>La visualizzazione del bordo per le icone può essere attivata o disattivata tramite la voce di menu <menuchoice><guimenu>Visualizza</guimenu> <guimenuitem>Mostra bordo per le icone</guimenuitem></menuchoice>.</para>
<para>Il pannello per i numeri di riga mostra i numeri di riga di tutte le righe visibili nel documento.</para>
<para>La visualizzazione del pannello per i numeri di riga può essere attivata o disattivata tramite la voce di menu <menuchoice><guimenu>Visualizza</guimenu> <guimenuitem>Mostra i numeri di riga</guimenuitem></menuchoice>.</para>
<para>Il pannello di raggruppamento ti consente di richiudere o espandere i blocchi raggruppabili di righe. Le regioni richiudibile vengono determinate in base alle regole specificate nelle definizioni di evidenziazione della sintassi per il documento.</para>
<para>Lo spostamento nel testo in &kate; avviene come nella maggior parte degli editor di testo grafici. Puoi spostare il cursore tramite i tasti freccia ed i tasti <keycap>Pag Su</keycap>, <keycap>Pag Giù</keycap>, <keycap>Home</keycap> e <keycap>Fine</keycap> in combinazione con i modificatori <keycap>Ctrl</keycap> e <keycap>Shift</keycap>. Il tasto <keycap>Shift</keycap> viene sempre utilizzato per generare una selezione, mentre <keycap>Ctrl</keycap> provoca effetti diversi a seconda del tasto: <itemizedlist>
<listitem><para>Per i tasti <keycap>Su</keycap> e <keycap>Giù</keycap> significa scorrimento invece di spostamento del cursore.</para></listitem>
<listitem><para>Per i tasti <keycap>Sinistra</keycap> e <keycap>Destra</keycap> significa saltare parole invece di caratteri.</para></listitem>
<listitem><para>Per i tasti <keycap>Freccia Su</keycap> e <keycap>Frecci Giù</keycap> significa spostare il cursore ai limiti della vista invece di navigare nel testo.</para>
<listitem><para>Per i tasti <keycap>Home</keycap> e <keycap>Fine</keycap> significa spostare il cursore all'inizio o alla fine del documento invece che all'inizio o alla fine della riga.</para></listitem>
<para>&kate; mette anche a disposizione un modo per saltare rapidamente alla parentesi corrispondente: posiziona il cursore all'interno di una parentesi e premi <keycombo><keycap>Ctrl</keycap><keycap>6</keycap></keycombo> per saltare alla parentesi corrispondente.</para>
<para>Inoltre puoi utilizzare i <link linkend="kate-part-bookmarks">segnalibri</link> per saltare rapidamente a delle posizioni che puoi definire a tua scelta.</para>
<para>Per selezionare usando il mouse, tieni premuto il &LMB; mentre trascini il cursore del mouse dal punto iniziale della selezione fino al punto finale. Il testo sarà selezionato mentre trascini.</para>
<listitem><para>Se non è stato ancora selezionato alcun testo, dalla posizione del cursore del testo alla posizione del cursore del mouse.</para></listitem>
<listitem><para>Se è già attiva una selezione, a partire e includendo tale selezione fino alla posizione del cursore del mouse</para></listitem>
<para>Quando selezioni il testo tramite trascinamento del mouse, il testo selezionato viene copiato negli appunti e può essere incollato tramite un clic del pulsante centrale del mouse nell'editor o in qualunque altra applicazione in cui vuoi incollarlo. </para>
<para>Per selezionare usando la tastiera, tieni premuto il tasto &Shift; mentre utilizzi i tasti di navigazione (i tasti freccia, <keycap>Pag Su</keycap>, <keycap>Pag Giù</keycap>, <keycap>Home</keycap> e <keycap>Fine</keycap>, possibilmente in combinazione con &Ctrl; per estendere il movimento del cursore di testo).</para>
<para>Vedi anche la sezione <link linkend="kate-part-navigation">Navigare nel testo</link> in questo capitolo.</para>
<para>Per <action>Copiare</action> la selezione corrente usa la voce di menu <menuchoice><guimenu>Modifica</guimenu> <guimenuitem>Copia</guimenuitem></menuchoice> o la scorciatoia di tastiera (quella predefinita è <keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo>).</para>
<para>Per <action>deselezionare</action> la selezione corrente usa la voce di menu <menuchoice><guimenu>Modifica</guimenu> <guimenuitem>Deseleziona</guimenuitem></menuchoice>, o la scorciatoia di tastiera (quella predefinita è <keycombo action="simul">&Ctrl;&Shift;<keycap>A</keycap></keycombo>), o fai clic con il &LMB; nell'editor.</para>
<para>Quando la selezione a blocchi è attiva puoi effettuare <quote>selezioni verticali</quote> nel testo, cioé selezionare colonne ben definite da righe differenti. Questo è comodo ad esempio per lavorare con righe con dati separati da tabulazioni.</para>
<para>La selezione a blocchi può essere attivata o disattivata tramite la voce di menu <menuchoice><guimenu>Modifica</guimenu> <guimenuitem>Modalità selezione a blocchi</guimenuitem></menuchoice>. La scorciatoia di tastiera predefinita è <keycap>F4</keycap></para>
<para>Se l'opzione Sovrascrivi selezione è attiva, il testo presente nella selezione verrà sostituito se si scrive o si incolla del testo nella selezione. Se non è attiva il nuovo testo verrà aggiunto alla posizione del cursore di testo.</para>
<para>Per cambiare l'impostazione di questa opzione, usa la <link linkend="config-dialog-editor-cursor-selection">pagina di selezione</link> della <link linkend="config-dialog">finestra di configurazione</link>.</para>
<para>Quando la selezione permanente è attiva, la selezione corrente non verrà annullata se si digitano caratteri o si muove il cursore. Questo vuol dire che puoi spostare il cursore dalla selezione e continuare a digitare.</para>
<para>La selezione permanente può essere abilitata tramite la <link linkend="config-dialog-editor-cursor-selection">pagina di selezione</link> della <link linkend="config-dialog">finestra di configurazione</link>.</para>
<para>Se la selezione permanente e Sovrascrivi selezione sono entrambe attive, digitare o incollare del testo quando il cursore di testo è all'interno della selezione farà sì che questa venga annullata e il testo contenuto sostituito.</para>
<para>Per copiare del testo, selezionalo ed usa la voce di menu <menuchoice><guimenu>Modifica</guimenu> <guimenuitem>Copia</guimenuitem></menuchoice>.Inoltre, se si seleziona del testo con il mouse, questo verrà copiato nella selezione di X.</para>
<para>Per incollare il testo presente negli appunti, usa la voce di menu <menuchoice><guimenu>Modifica</guimenu><guimenuitem>Incolla</guimenuitem></menuchoice>.</para>
<para>Inoltre il testo selezionato tramite il mouse può essere incollato facendo clic con il pulsante <mousebutton>centrale</mousebutton> del mouse nella posizione desiderata.</para>
<para>Se utilizzi l'ambiente desktop &kde;, puoi riprendere da una qualsiasi applicazione il testo copiato precedentemente tramite l'icona di &klipper; presente nel vassoio di sistema di &kicker;.</para>
<para>Le finestre di dialogo Trova e Sostituisci testo sono molto simili, con la differenza che quella di sostituzione dà la possibilità di inserire la nuova stringa insieme ad alcune opzioni aggiuntive.</para>
<term><guilabel>Testo da trovare</guilabel></term>
<listitem><para>Qui va inserita la stringa di ricerca. L'interpretazione della stringa dipende da alcune delle opzioni descritte più avanti.</para></listitem>
<para>Se marcata, la stringa da cercare viene interpretata come un'espressione regolare. Verrà attivato un pulsante per lanciare uno strumento grafico per creare o modificare l'espressione.</para>
<para>Vedi la sezione <link linkend="regular-expressions">Espressioni regolari</link> per maggiori informazioni.</para>
<para>Se marcata, la ricerca avrà successo solo se c'è un delimitatore di parola ad entrambi gli estremi della stringa trovata, intendendo con questo non un carattere alfanumerico - né un carattere visualizzabile o un fine riga.</para>
<para>Se marcata, la ricerca controllerà la prima corrispondenza sopra il punto di partenza, sia esso la posizione del cursore o l'inizio del documento se l'opzione <guilabel>Dall'inizio</guilabel> è attiva.</para>
<para>Questa opzione è disabilitata se non è stato selezionato alcun testo o se l'opzione <guilabel>Chiedi prima di sostituire</guilabel> è attiva. Se marcata, tutte le corrispondenze della stringa di ricerca con il testo selezionato verranno rimpiazzate dalla stringa di sostituzione.</para>
<term><guilabel>Chiedi prima di sostituire</guilabel></term>
<listitem><para>Se marcata, una piccola finestra di dialogo ti chiederà cosa fare ogni volta che viene trovata una corrispondenza. Mette a disposizione le seguenti opzioni: <variablelist>
<para>Al momento non è possibile impostare una corrispondenza minimale quando si utilizza un'espressione regolare per cercare. Questa funzione verrà aggiunta nelle versioni future di &kate;</para>
<para>Per trovare del testo, lancia la finestra di dialogo <guilabel>Trova testo</guilabel> con <keycombo action="simul">&Ctrl;<keycap>F</keycap></keycombo> oppure tramite la voce di menu <menuchoice><guimenu>Modifica</guimenu> <guimenuitem>Trova...</guimenuitem></menuchoice>, inserisci la stringa di ricerca, imposta le <link linkend="find-replace-dialog">opzioni</link> come preferisci e premi <guibutton>Ok</guibutton>. Se la ricerca è partita dalla posizione del cursore e non è stata trovata alcuna corrispondenza prima della fine del documento (o dell'inizio se è una ricerca inversa), ti verrà richiesto se ricercare da capo (o dal fondo). </para>
<para>Se viene trovata una corrispondenza, questa verrà selezionata e la finestra di dialogo <guilabel>Trova testo</guilabel> nascosta, ma niente paura, è facile trovare ulteriori corrispondenze:</para>
<para>Per cercare la successiva occorrenza nella direzione impostata per la ricerca, utilizza il comando <menuchoice><guimenu>Modifica</guimenu> <guimenuitem>Trova successivo</guimenuitem></menuchoice> o premi <keycap>F3</keycap>.</para>
<para>Per cercare la successiva occorrenza nella direzione opposta, utilizza il comando <menuchoice><guimenu>Modifica</guimenu> <guimenuitem>Trova precedente</guimenuitem></menuchoice> o premi <keycombo action="simul">&Shift;<keycap>F3</keycap></keycombo>.</para>
<para>Se non è stata trovata alcuna corrispondenza prima della fine del documento (o dell'inizio se è una ricerca inversa), ti verrà richiesto se ricercare da capo (o dal fondo). </para>
<para>Per sostituire del testo, lancia la finestra di dialogo <guilabel>Sostituisci testo</guilabel> tramite il comando <menuchoice><guimenu>Modifica</guimenu> <guimenuitem>Sostituisci...</guimenuitem></menuchoice> oppure tramite la scorciatoia di tastiera <keycombo action="simul">&Ctrl;<keycap>R</keycap></keycombo>, inserisci la stringa di ricerca e opzionalmente una stringa di sostituzione (se questa è vuota, il testo di ogni corrispondenza sarà cancellato), imposta le <link linkend="find-replace-dialog">opzioni</link> come preferisci e premi <guibutton>Ok</guibutton>.</para>
<para>Se usi un'espressione regolare per trovare il testo da sostituire puoi utilizzare i riferimenti all'indietro per riutilizzare il testo catturato tra parentesi nel sottomodello dell'espressione.</para>
<para>Vedi <xref linkend="regular-expressions"/> per maggiori informazioni sull'argomento.</para>
<tip><para>Puoi usare i comandi <command>find</command>, <command>replace</command> e <command>ifind</command> (ricerca incrementale) dalla <link linkend="advanced-editing-tools-commandline">riga di comando</link>.</para>
<para>spostando il cursore di inserimento nella riga e usando il comando <menuchoice><guimenu>Segnalibri</guimenu><guimenuitem>Metti segnalibro</guimenuitem></menuchoice> (<keycombo action="simul">&Ctrl;<keycap>B</keycap></keycombo>).</para>
<para>I segnalibri sono raggiungibili dal menu <guimenu>Segnalibri</guimenu>.Ognuno di essi è disponibile come voce di menu, etichettata con il numero di riga a cui è associato il segnalibro e i primi caratteri del testo di tale riga. Per spostare il cursore di inserimento all'inizio di una riga con segnalibro, apri il menu e seleziona il segnalibro.</para>
<para>Per spostarti rapidamente tra i segnalibri o andare al segnalibro successivo/precedente, usa rispettivamente le voci di menu <menuchoice><guimenu>Segnalibri</guimenu><guimenuitem>Successivo</guimenuitem> </menuchoice> (<keycombo action="simul"><keycap>Ctrl</keycap> <keycap>Pag Giù</keycap></keycombo>) o <menuchoice> <guimenu>Segnalibri</guimenu><guimenuitem>Precedente</guimenuitem></menuchoice> (<keycombo action="simul"><keycap>Ctrl</keycap><keycap>Pag Su</keycap> </keycombo>).</para>
<para>Questa funzione ti consente di formattare il testo in modo semplice: il testo andrà a capo automaticamente in modo che nessuna riga possa contenere più di un determinato numero di caratteri, a meno che non ci sia una stringa più lunga senza spazi.</para>
<para>Per attivarla/disattivarla, marca/smarca la casella <guibutton>A capo automatico</guibutton> nella <link linkend="config-dialog-editor-edit">pagina di modifica</link> della <link linkend="config-dialog">finestra di configurazione</link>.</para>
<para>Per impostare la lunghezza massima di una riga (numero massimo di caratteri per riga) usa l'opzione <link linkend="config-dialog-editor-wrap-words-at"><guibutton>Colonna a cui andare a capo:</guibutton></link> nella <link linkend="config-dialog-editor-edit">pagina di modifica</link> della <link linkend="config-dialog">finestra di configurazione</link>.</para>
<para>Se attivo ha i seguenti effetti: <itemizedlist>
<listitem><para>Mentre digiti l'editor automaticamente interrompe la riga dopo l'ultimo carattere separatore presente in posizione precedente al raggiungimento della dimensione massima per la riga.</para></listitem>
<listitem><para>In fase di caricamento di un documento, l'editor manderà a capo il testo in modo analogo, facendo sì che non ci siano righe più lunghe della massima dimensione consentita se contengono dei caratteri separatori che lo consentono.</para></listitem>
<note><para>Non c'è modo al momento di impostare l'a capo automatico per tipo di documento, e neppure di abilitarlo o disabilitarlo a livello di documento. Questo problema sarà risolto in una futura versione di &kate;</para></note>
<para>Il componente editor di &kate; supporta differenti modalità di autoindentazione progettate per differenti formati di testo. Puoi scegliere tra le modalità disponibili tramite la voce di menu <menuchoice><guimenu>Strumenti</guimenu><guisubmenu>Indentazione</guisubmenu></menuchoice>. Il modulo di autoindentazione mette a disposizione la funzione <menuchoice><guimenu>Strumenti</guimenu><guimenuitem>Allinea</guimenuitem></menuchoice> che ricalcola l'indentazione della riga selezionata o di quella corrente. In questo modo puoi indentare nuovamente il documento selezionando tutto il testo e attivando tale azione.</para>
<para>Tutte le modalità di indentazione usano le impostazioni relative all'indentazione per il documento corrente.</para>
<tip><para>Puoi impostare tutti i tipi di variabili di configurazione, comprese quelle relative all'indentazione, tramite le <link linkend="config-variables">variabili dei documenti</link> e i <link linkend="config-dialog-editor-filetypes">tipi di file</link>.</para></tip>
<listitem><para>Questa modalità si limita a mantenere l'indentazione simile a quella della riga precedente con contenuto diverso da spazi e separatori. Puoi combinarne l'utilizzo con quello delle azioni di indentazione e di rimozione dell'indentazione per indentare come meglio credi. </para></listitem>
<listitem><para>Un sistema d'indentazione per il linguaggio C ed altri linguaggi analoghi come C++, C#, Java, JavaScript e così via. Questo sistema non funziona per linguaggi di scripting come Perl o PHP.</para></listitem>
<listitem><para>Un indentatore automatico molto interessante per XML. Per quanto sia allettante, non cercare di utilizzarlo con dialetti HTML diversi da XHTML, perché fallisce con i tag HTML vecchio stile (tag aperti come ad esempio <br>)</para></listitem>
<para>L'indentatore variabile è speciale nel senso che può essere configurato tramite le variabili del documento (o la configurazione del tipo di file). Vengono lette le seguenti variabili: <variablelist>
<para>Un'espressione regolare che fa sì che una riga sia indentata di una unità, se la prima riga tra le successive non composta di soli spazi bianchi e separatori corrisponde. var-indent-indent: Un'espressione regolare che fa sì che la riga che corrisponde sia indentata di una unità.</para>
<para>Una lista di insiemi di parentesi da gestire. Ogni combinazione di parentesi tonde, quadre o graffe. Ogni tipo di insieme è gestito nel seguente modo: se ve ne sono istanze aperte non corrispondenti nella riga precedente, viene aggiunta un'unità di indentazione; se vi sono delle istanze chiuse non corrispondenti nella riga corrente, viene rimossa un'unità di indentazione.</para>
<para>Quando vengono cercate coppie aperte/chiuse non corrispondenti, sono considerati solo i caratteri con questo attributo. Il valore deve essere il nome dell'attributo del file di sintassi xml, ad esempio "Symbol". Se non è specificato, verrà usato l'attributo 0 (normalmente 'Normal Text').</para>