Strumenti avanzati di modifica

Commenta/Decommenta
I comandi Commenta e Decommenta, disponibili nel menu Strumenti permettono di aggiungere o rimuovere indicatori di commento alla selezione, o alla riga attuale del testo se non hai selezionato niente, a patto che i commenti facciano parte del formato di testo del documento.
Le regole su come è applicato il commento sono definite in base alla sintassi del testo che stai scrivendo, quindi se non hai selezionato una modalità di evidenziazione, non potrai usare Commenta/Decommenta.
Alcuni formati usano indicatori di commento per righe singole, altri usano indicatori per più righe consecutive di commento ed altri ancora entrambi i sistemi. Se i marcatori multiriga non sono disponibili, commentare una selezione che non comprenda completamente l'ultima riga non è possibile.
Se sono disponibili i marcatori per righe singole è preferibile usarli ogni volta che è possibile, perché ciò evita i problemi dei commenti nidificati.
Quando rimuovi gli indicatori di commento devi fare attenzione a non selezionare testo che non fa parte del commento. Quando rimuovi i commenti su più righe da una selezione, gli spazi vuoti al di fuori degli indicatori di commento sono ignorati.
Per inserire gli indicatori di commento, usa il comando Strumenti Commenta oppure la relativa scorciatoria da tastiera; la predefinita è #.
Per rimuovere gli indicatori di commento, usa il comando Strumenti Decommenta oppure la relativa scorciatoia da tastiera; la predefinita è #.

La riga di comando per il componente dell'editor
Il componente editor di ha una riga di comando interna che permette di effettuare varie azioni da una GUI minima. La riga di comando è una casella di testo in fondo all'area di modifica; per mostrarla seleziona Visualizza Passa alla riga di comando o usa la scorciatoia (F7). L'editor fornisce l'insieme di comandi documentati di seguito, e comandi aggiuntivi sono forniti con le estensioni.
Per eseguire un comando, scrivilo e premi il tasto Invio. La riga di comando indicherà se ha avuto successo ed eventualmente mostrerà un messaggio. Se hai attivato la riga di comando premendo F7, verrà nascosta automaticamente dopo qualche secondo. Per pulire la riga ed inserire un nuovo comando, premi di nuovo F7.
La riga di comando ha un sistema di aiuto integrato; usa il comando help per iniziare. Per vedere un elenco di tutti i comandi disponibili usa help list; per vedere l'aiuto di un comando specifico usa help comando.
La riga di comando si ricorda la cronologia dei comandi, per cui puoi riutilizzare i comandi che hai già inserito. Per scorrere la cronologia, usa i tasti Freccia su e Freccia giù. Quando vengono mostrati i comandi della cronologia, la parte degli argomenti del comando è selezionata, in modo da permetterti di sovrascrivere semplicemente gli argomenti.

I comandi standard della riga di comando

Tipi di argomento
BOOLEAN 	Questo tipo è usato nei comandi che devono attivare o disattivare una caratteristica. I valori ammessi sono on, off, true, false, 1 o 0.
INTEGER 	Un numero intero.
STRING 	Una stringa, delimitata da virgolette singole (') o doppie (") se contiene spazi.

Comandi per la configurazione dell'editor
Questi comandi sono forniti dal componente editor e permettono di configurare solo il documento attivo e la vista. Sono utili se vuoi usare impostazioni diverse da quelle predefinite, ad esempio per i rientri.
set-tab-width INTEGER ampiezza
	Imposta l'ampiezza della tabulazione al numero ampiezza.
set-indent-width INTEGER ampiezza
	Imposta l'ampiezza del rientro al numero ampiezza. È usata solo se fai rientrare con gli spazi.
set-word-wrap-column INTEGER ampiezza
	Imposta l'ampiezza della riga al numero ampiezza. È usata se il testo deve andare a capo automaticamente.
set-icon-border BOOLEAN abilitazione
	Imposta la visibilità del bordo per le icone.
set-folding-markers BOOLEAN abilitazione
	Imposta la visibilità del pannello per gli indicatori di raggruppamento.
set-line-numbers BOOLEAN abilitazione
	Imposta la visibilità del pannello per i numeri di riga.
set-replace-tabs BOOLEAN abilitazione
	Se è abilitata, le tabulazioni sono sostituite con spazi durante l'inserimento.
set-remove-trailing-space BOOLEAN abilitazione
	Se è abilitata, gli spazi in fin di riga vengono rimossi quando il cursore lascia una riga.
set-show-tabs BOOLEAN abilitazione
	Se è abilitata, le tabulazioni e gli spazi in fin di riga saranno evidenziati con dei puntini.
set-show-indent BOOLEAN abilitazione
	Se è abilitata, il rientro sarà evidenziato con una linea punteggiata verticale.
set-indent-spaces BOOLEAN abilitazione
	Se è abilitata, l'editor farà rientrare il testo di indent-width spazi ad ogni livello di rientro, invece che di un carattere di tabulazione.
set-mixed-indent BOOLEAN abilitazione
	Se abilitato, userà una miscela di tabulazioni e spazi per i rientri delle righe. Ciascun livello di rientro sarà largo indent-width, e più livelli di rientro saranno ottimizzati usando il maggior numero possibile di tabulazioni.
Quando viene eseguito, questo comando inoltre abilita i rientri con gli spazi, e se l'ampiezza dei rientri non è specificata, sarà impostata alla metà di tab-width del documento al momento dell'esecuzione.
set-word-wrap BOOLEAN abilitazione
	Abilita o disabilita l'a capo automatico dinamico a seconda del parametro abilitazione.
set-replace-tabs-save BOOLEAN abilitazione
	Quando è attiva questa opzione, le tabulazioni verranno sostituite con spazi durante il salvataggio del documento.
set-remove-trailing-space-save BOOLEAN abilitazione
	Quando è attiva questa opzione, gli spazi alla fine delle righe saranno scartati durante il salvataggio del documento.
set-indent-mode STRING nome
	Imposta la modalità di autorientro a nome. Se nome è sconosciuto, la modalità sarà impostata a none. Le modalità valide sono none, normal, cstyle, haskell, lilypond, lisp, python, ruby, e xml.
set-auto-ident BOOLEAN script
	Abilita o disabilita il rientro automatico.
set-highlight STRING evidenziazione
	Imposta il sistema di evidenziazione della sintassi per il documento. L'argomento deve essere un nome di evidenziazione valido, così come è indicato nel menu Strumenti Evidenziazione. Questo comando fornisce un elenco per il completamento automatico dell'argomento.
reload-scripts
	Ricarica tutti gli script in JavaScript usati da , inclusi i rientratori e gli script dalla riga di comando.
set-mode STRING modalità
	Scegli lo schema di tipo di file per il documento attuale.
nn[oremap] STRINGA originale STRINGA mappata
	Mappa la sequenza di tasti originale nella mappata.

Comandi di modifica
Questi comandi servono a modificare il documento attuale.
indent
	Fa rientrare le righe selezionate o la riga attuale.
unindent
	Elimina un passo di rientro delle righe selezionate o della riga attuale.
cleanindent
	Riordina il rientro delle righe selezionate o della riga attuale secondo le impostazioni per il rientro del documento.
comment
	Inserisce indicatori di commento per rendere la selezione o le righe selezionate o la riga attuale un commento secondo il formato di testo così com'è definito dalle regole di evidenziazione della sintassi del documento.
uncomment
	Rimuove gli indicatori di commento dalla selezione o dalle righe selezionate o dalla riga attuale secondo il formato di testo così com'è definito dalle regole di evidenziazione della sintassi del documento.
kill-line
	Elimina la riga attuale.
replace STRINGA modello STRINGA sostituzione
	Sostituisce il testo corrispondente a modello con sostituzione. Se vuoi includere spazi nel modello, devi mettere le virgolette single o doppie attorno sia al modello, sia alla sostituzione. Se gli argomenti non sono tra virgolette,la prima parola è usata come modello ed il resto come sostituzione. Se la sostituzione è vuota, vengono rimosse le corrispondenze con il modello.
Puoi impostare dei modificatori per configurare la ricerca aggiungendo un due punti, seguiti da una o più lettere rappresentanti la configurazione, data nella forma replace:opzioni modello sostituzione. Le opzioni disponibili sono:
b 	Cerca all'indietro.
c 	Cerca dalla posizione del cursore.
e 	Cerca solo all'interno della selezione.
r 	Esegue la ricerca con un'espressione regolare. Se è impostata, puoi usare \N, dove N è un numero che rappresenta le catture nella stringa di sostituzione.
s 	Esegue la ricerca facendo distinzione fra maiuscole e minuscole.
p 	Chiede il permesso prima di effettuare la sostituzione.
w 	Fa in modo che la ricerca consideri solo parole intere.
date STRINGA formato
	Inserisce la stringa dell'ora/data come è specificato in formato, o nel formato yyyy-MM-dd hh:mm:ss se non ne è specificato nessuno. Le seguenti traduzioni sono effettuate nell'interpretazione di formato:
d	Il giorno in forma numerica senza zeri iniziali (1–31).
dd	Il giorno in forma numerica con uno zero iniziale di allineamento (01–31).
ddd	Il nome del giorno abbreviato in forma locale (cioè "lun" ... "dom").
dddd	Il nome del giorno completo in forma locale (cioè "lunedì" ... "domenica").
M	Il mese in forma numerica senza zeri iniziali (1–12).
MM	Il mese in forma numerica con uno zero iniziale se necessario (01–12).
MMMM	Il nome del mese per esteso in forma locale (cioè «Gennaio» ... «Dicembre»).
MMM	Il nome del mese abbreviato in forma locale (cioè «gen» ... «dic»).
yy	Le ultime due cifre dell'anno (00–99).
yyyy	L'anno come numero di quattro cifre (1752–8000).
h	L'ora senza zero iniziali (0–23 o 1–12 se in modalità AM/PM).
hh	L'ora con zero iniziali (00–23 o 01–12 se in modalità AM/PM).
m	I minuti senza zero iniziali (0–59).
mm	I minuti con zero iniziali (00–59).
s	I secondi senza zero iniziali (0–59).
ss	I secondi con zero iniziali (00–59).
z	I millisecondi senza zeri iniziali (0–999).
zzz	I millisecondi con zeri iniziali (000–999).
AP	Usa modalità AM/PM. AP sarà sostituito da "AM" per le ore antimeridiane o "PM" per quelle pomeridiane.
ap	Usa modalità am/pm. ap sarà sostituito da "am" per le ore antimeridiane o "pm" per quelle pomeridiane.
char STRINGA identificativo
	 Questo comando permette di inserire caratteri indicando il loro identificativo numerico, in decimale, ottale o esadecimale. Per usarlo apri la finestra dei comandi di modifica e digita char: [numero] nel campo di inserimento, quindi fai clic su OK.

Esempi con il comando char
Inserisci: char:234
Ottieni: ê
Inserisci: char:0x1234
Ottieni: ሴ
s///[ig] %s///[ig] 	 Questo comando fa una ricerca/sostituzione nella riga di testo corrente o in tutto il file (%s///) in maniera del tutto simile a sed.
In breve, la ricerca viene effettuata in base a un modello di ricerca, a una espressione regolare compresa tra la prima e la seconda barra. Quando viene trovata una corrispondenza, la parte che corrisponde viene sostituita con l'espressione compresa tra la seconda e l'ultima barra. Le parentesi nel modello di ricerca creano dei riferimenti all'indietro, vale a dire che il comando ricorda quali parti della stringa di ricerca tra parentesi hanno trovato corrispondenza; queste stringhe possono essere riutilizzate per sostituire pattern riferiti a \1 per il primo gruppo di parentesi, \2 per il secondo e così via.
Per cercare precisamente il simbolo di parentesi ( o ), devi evitare il problema usando la barra rovescia in questo modo: \(\)
Se metti una i alla fine dell'espressione, la corrispondenza avverrà senza tener far distinzione fra maiuscole o minuscole. Se metti una g, verranno sostituite tutte le corrispondenze del modello, altrimenti verrà sostituita solo la prima.

Sostituire del testo nella riga corrente
Il tuo caro vecchio compilatore ha appena finito di bloccarsi dicendoti che la classe myClass che compare nella riga 3902 del tuo file sorgente non è definita.
"Naturale!" pensi, sai benissimo che si scrive MyClass. Vai alla riga 3902 e, invece di provare a cercare la parola nel testo, apri la finestra dei comandi di modifica, inserisci s/myclass/MyClass/i, premi OK, salvi il file e lo compili – con successo senza errori.

Sostituire del testo nell'intero file
Immagina di avere un file, nel quale nomini Miss Jensen parecchie volte e arriva qualcuno che ti dice che si è appena sposata con Mr Jones. Naturalmente tu vuoi sostituire tutti i Miss Jensen con Ms Jones.
Vai alla riga di comando e digita il comando %s/Miss Jensen/Ms Jones/ e premi invio. Il gioco è fatto!

Un esempio più avanzato
Questo esempio usa i riferimenti all'indietro e le classi di carattere (se non sai che cosa sono, leggi la relativa documentazione citata più in basso).
Immagina di avere la seguente riga:

void MyClass::DoStringOps( String      &foo, String &bar, String *p, int  &a, int &b )

Ora ti rendi conto che il codice non va bene e decidi di usare la parola chiave const per tutti gli argomenti reference, quelli caratterizzati dall'operatore & posto davanti al nome dell'argomento. Inoltre vorresti semplificare lo spazio vuoto in modo che ci sia solo uno spazio tra ogni parola.
Apri la finestra dei comandi di modifica e inserisci: s/\s+(\w+)\s+(&)/ const \1 \2/g e premi il pulsante OK. La g che alla fine dell'espressione fa ricompilare l'espressione regolare per ogni corrispondenza per salvarne i riferimenti all'indietro.
Ottieni: void MyClass::DoStringOps( const String &foo, const String &bar, String *p, const int &a, const int &b )
Missione compiuta! Ora cos'è successo? Abbiamo cercato alcuni spazi vuoti (\s+) seguiti da alcuni caratteri alfabetici (\w+), seguiti da altri spazi vuoti (\s+), seguiti da una e commerciale e la porzione alfabetica con la e commerciale salvati nel processo per essere usati nell'operazione di sostituzione. Quindi abbiamo sostituito la parte corrispondente della nostra riga con uno spazio vuoto seguito da const, seguito da un altro spazio vuoto, seguito dalla porzione alfabetica (\1), seguito da uno spazio vuoto e infine seguito dalla e commerciale salvata (\2)
Ora, in alcuni casi la porzione alfabetica era una String. in altri int, quindi se usi \w e il quantificatore + sarà meglio.
sort
	Ordina il testo selezionato o tutto il documento.
natsort
	Ordina le righe selezionate o tutto il documento naturalmente.

sort e natsort
sort(a10, a1, a2) produce a1, a10, a2.
natsort(a10, a1, a2) produce a1, a2, a10.
moveLinesDown
	Sposta in basso le righe selezionate.
moveLinesUp
	Sposta in alto le righe selezionate.
uniq
	Rimuovi le righe duplicate dal testo selezionato o tutto il documento.
rtrim
	Rimuovi gli spazi finali dal testo selezionato o tutto il documento.
ltrim
	Rimuovi gli spazi iniziali dal testo selezionato o tutto il documento.
join STRINGA separatore
	Unisce le righe selezionate o tutto il documento. A scelta, prende un parametro che definisce un separatore, per esempio join ', '.
rmblank
	Rimuove tutti gli spazi vuoti dal testo selezionato o da tutto il documento.
unwrap
	Unisce il testo selezionato o tutto il documento.
each STRINGA script
	Data una funzione JavaScript come argomento, la chiama per l'elenco di righe selezionate e le sostituisce con il valore restituito dalla funzione.

Unire le righe selezionate
each 'function(lines){return lines.join(", ")}'
O più brevemente:
each 'lines.join(", ")'
filter STRINGA script
	Data una funzione JavaScript come argomento, la chiama per l'elenco di righe selezionate e rimuove quelle per cui la funzione restituisce falso.

Rimuovere le righe vuote
filter 'function(1){return 1.length > 0;}'
O più brevemente:
filter 'line.length > 0'
map STRINGA script
	Data una funzione JavaScript come argomento, la chiama per l'elenco di righe selezionate e sostituisce la riga con il valore della funzione.

Rimuovere le righe vuote
map 'function(line){return line.replace(/^s+/,"");}'
O più brevemente:
map 'line.replace(/^s+/,"")'
duplicateLinesUp
	Duplica le righe selezionate sopra la selezione attuale.
duplicateLinesDown
	Duplica le righe selezionate sotto la selezione attuale.

Comandi per gli spostamenti
goto INT riga
	Questo comando sposta il cursore alla riga indicata.
grep STRINGA modello
	Cerca nel documento l'espressione regolare modello. Per maggiori informazioni, vedi .
find STRINGA modello
	Questo comando si sposta alla prima corrispondenza del modello secondo la configurazione. Le corrispondenze successive possono essere trovate usando Modifica Trova successivo (la scorciatoia predefinita è F3).
Il comando find può essere configurato aggiungendo in fondo un due punti seguito da una o più opzioni, nella forma find:opzioni modello. Le seguenti opzioni sono disponibili:
b 	Cerca all'indietro.
c 	Cerca dalla posizione del cursore.
e 	Cerca solo all'interno della selezione.
r 	Esegue la ricerca con un'espressione regolare. Se è impostata, puoi usare \N, dove N è un numero che rappresenta le catture nella stringa di sostituzione.
s 	Esegue la ricerca facendo distinzione fra maiuscole e minuscole.
w 	Fa in modo che la ricerca consideri solo parole intere.
ifind STRINGA modello
	Questo comando fornisce la ricerca mentre scrivi. Puoi configurarne il comportamento aggiungendo in fondo un due punti seguito da una o più opzioni, nella forma ifind:opzioni modello. Le seguenti opzioni sono disponibili:
b 	Cerca all'indietro.
r 	Esegue la ricerca di un'espressione regolare.
s 	Esegue la ricerca facendo distinzione fra maiuscole e minuscole.
c 	Cerca dalla posizione del cursore.

Comandi per le funzioni fondamentali dell'editor (dipendono dall'applicazione in cui il componente editor è in uso)
w
	Salva il documento attuale.
wa
	Salva tutti i documenti attualmente aperti.
q
	Chiudi il documento attuale.
qa
	Chiudi tutti i documenti aperti.
wq
	Salva e chiudi il documento attuale.
wqa
	Salva e chiudi tutti i documenti attualmente aperti.
x
	Salva e chiudi il documento attuale solo se è stato modificato.
x
	Salva e chiudi tutti i documenti attualmente aperti solo se sono stati modificati.
bp
	Vai al documento precedente nell'elenco dei documenti.
bn
	Vai al documento successivo nell'elenco dei documenti.
new
	Apri un nuovo documento nella vista separata orizzontalmente.
vnew
	Apri un nuovo documento nella vista separata verticalmente.
e
	Ricarica il documento attuale se è stato modificato sul disco.
enew
	Modifica un nuovo documento.
print
	Apri la finestra di stampa per stampare il documento attuale.

Uso del raggruppamento del codice
Il raggruppamento del codice permette di nascondere parti del documento nell'editor, rendendo più facile una panoramica di documenti di grandi dimensioni. In le regioni raggruppabili sono classificate usando le regole delle definizioni dell'evidenziazione della sintassi, e quindi sono disponibili solo in alcuni formati — tipicamente codice sorgente, annotazioni XML e simili. La maggior parte delle definizioni di evidenziazione che permettono il raggruppamento del codice permettono anche la definizione manuale di regioni raggruppabili, tipicamente con l'uso delle parole chiave BEGIN ed END.
Per usare la funzione di raggruppamento del codice, attiva gli indicatori di raggruppamento usando la voce Visualizza Mostra segni di raggruppamento del menu se non sono già visibili. Il pannello degli indicatori di raggruppamento sul lato sinistro dello schermo mostra una vista grafica delle regioni raggruppabili, con simbolo di un triangolo indicante l'operazione possibile su una data regione: Un triangolo capovolto indica che la regione è espansa, facendo clic su di esso si ridurrà la regione ad una sola riga e successivamente verrà mostrato come simbolo un triangolo diritto.
Sono forniti tre comandi per manipolare lo stato delle regioni di raggruppamento del codice, vedi la documentazione del menu.
Le righe raggruppate vengono ricordate alla chiusura del file, così quando lo riapri i nodi raggruppati lo saranno ancora. Questo vale anche per le operazioni di ricarica.
Se non vuoi usare la funzione di raggruppamento del codice, puoi disabilitare l'opzione Mostra segni di raggruppamento (se disponibile) dalla pagina Aspetto dalla pagina di configurazione dell'editor.