Il componente editor di KatePart ha una riga di comando interna che ti 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 → o usa la scorciatoia (F7). L'editor fornisce l'insieme di comandi documentati di seguito, inoltre con le estensioni vengono forniti dei comandi aggiuntivi.
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, essa 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; per iniziare usa il comando help. 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 ↑ e ↓. Quando vengono mostrati i comandi della cronologia, la parte degli argomenti del comando è selezionata, in modo da permetterti di sovrascrivere semplicemente gli argomenti.
Tipi di argomento
- BOOLEAN
Questo tipo è usato nei comandi che devono attivare o disattivare una caratteristica. I valori ammessi sono
on,off,true,false,1o0.- INTEGER
Un numero intero.
- STRING
Una stringa, delimitata da virgolette singole (') o doppie (") se contiene spazi.
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-widthspazi ad ogni livello di rientro, invece che di un carattere di tabulazione.set-mixed-indent {BOOLEAN abilitazione}
Se abilitato, KatePart 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 abilita inoltre i rientri con gli spazi, e, se l'ampiezza dei rientri non è specificata, sarà impostata alla metà di
tab-widthdel 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. Senomeè sconosciuto, la modalità sarà impostata anone. Le modalità valide sononone,normal,cstyle,haskell,lilypond,lisp,python,ruby, exml.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 → . Questo comando fornisce un elenco per il completamento automatico dell'argomento.
reload-scripts
Ricarica tutti gli script in JavaScript usati da Kate, 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
originalenellamappata.
Questi comandi servono a modificare il documento attuale.
indent
Fa rientrare le righe selezionate o la riga attuale.
unindent
Riduce il rientro delle righe selezionate o di quella 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
modelloconsostituzione. Se vuoi includere spazi nelmodello, 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 comemodelloed il resto comesostituzione. Se lasostituzioneè vuota, vengono rimosse le corrispondenze con ilmodello.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:bCerca all'indietro.
cCerca dalla posizione del cursore.
eCerca solo all'interno della selezione.
rEsegue la ricerca con un'espressione regolare. Se è impostata, puoi usare
\N, dove N è un numero che rappresenta le catture nella stringa di sostituzione.sEsegue la ricerca facendo distinzione fra maiuscole e minuscole.
pChiede il permesso prima di effettuare la sostituzione.
wFa 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 diformato:dIl giorno in forma numerica, senza zeri iniziali (1–31). ddIl giorno in forma numerica, con uno zero iniziale di allineamento (01–31). dddIl nome del giorno abbreviato in forma locale (ad es.: «lun» ... «dom»). ddddIl nome del giorno completo in forma locale (ad es. «lunedì» ... «domenica»). MIl mese in forma numerica, senza zeri iniziali (1–12). MMIl mese in forma numerica, con uno zero iniziale se necessario (01–12). MMMMIl nome del mese per esteso in forma locale (ad es. «Gennaio» ... «Dicembre»). MMMIl nome del mese abbreviato in forma locale (ad es. «gen» ... «dic»). yyLe ultime due cifre dell'anno (00–99). yyyyL'anno come numero di quattro cifre (1752–8000). hL'ora senza zero iniziali (0–23 o 1–12 se in modalità AM/PM). hhL'ora con zero iniziali (00–23 o 01–12 se in modalità AM/PM). mI minuti senza zero iniziali (0–59). mmI minuti con zero iniziali (00–59). sI secondi senza zero iniziali (0–59). ssI secondi con zero iniziali (00–59). zI millisecondi senza zeri iniziali (0–999). zzzI millisecondi con zeri iniziali (000–999). APUsa modalità AM/PM. AP sarà sostituito da "AM" per le ore antimeridiane o "PM" per quelle pomeridiane. apUsa 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 .Esempio 5.1. Esempi con il comando char
Inserisci:
char:234Ottieni:
êInserisci:
char:0x1234Ottieni:
ሴ- 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 un'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 dei modelli riferiti a
\1per il primo gruppo di parentesi,\2per 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
ialla fine dell'espressione, la corrispondenza avverrà senza tener far distinzione fra maiuscole o minuscole. Se metti unag, verranno sostituite tutte le corrispondenze del modello, altrimenti verrà sostituita solo la prima.Esempio 5.2. 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, inseriscis/myclass/MyClass/i, premi , salvi il file e lo compili – con successo senza errori.Esempio 5.3. Sostituire del testo nell'intero file
Immagina di avere un file, nel quale nomini «Miss Jensen» parecchie volte, e che 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!Esempio 5.4. 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
constper 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/ge premi il pulsante . Lagche 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
\we il quantificatore+sarà meglio.sort
Ordina il testo selezionato o tutto il documento.
natsort
Ordina le righe selezionate o tutto il documento naturalmente.
Esempio 5.5. sort e natsort
sort(a10, a1, a2)producea1, a10, a2.natsort(a10, a1, a2)producea1, a2, a10.moveLinesDown
Sposta le righe selezionate in basso.
moveLinesUp
Sposta le righe selezionate in alto.
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.
alignon
Questo comando allinea, alla colonna data da un'espressione regolare data come argomento, le righe nel blocco selezionato o nell'intero documento.
Per impostazione predefinita, se inserisci un modello vuoto l'allineamento sarà col primo carattere non di spazio.
Se il modello ha una cattura, il rientro sarà con la prima corrispondenza catturata.
Esempi:
alignon -inserirà degli spazi prima del primo «-» di ogni riga per allinearle nella stessa colonna.alignon :\\s+(.)inserirà degli spazi prima del primo carattere non di spazio che ricorre dopo i due punti per allinearle nella stessa colonna.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.
Esempio 5.6. 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.
Esempio 5.7. 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.
Esempio 5.8. 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.
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 Appendice A, Le espressioni regolari.find {STRINGA modello}
Questo comando si sposta alla prima corrispondenza del
modellosecondo la configurazione. Le corrispondenze successive possono essere trovate usando → (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:bCerca all'indietro.
cCerca dalla posizione del cursore.
eCerca solo all'interno della selezione.
rEsegue la ricerca con un'espressione regolare. Se è impostata, puoi usare
\N, dove N è un numero che rappresenta le catture nella stringa di sostituzione.sEsegue la ricerca facendo distinzione fra maiuscole e minuscole.
wFa 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:bCerca all'indietro.
rEsegue la ricerca di un'espressione regolare.
sEsegue la ricerca facendo distinzione fra maiuscole e minuscole.
cCerca dalla posizione del cursore.
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.