De editor-component van KatePart beschikt over een interne commandoregel, zodat u diverse commando's direct, zonder uitgebreide GUI, kunt uitvoeren. De commandoregel bevindt zich onder het editor-gedeelte. Om hiermee te werken gebruikt u het menu → of drukt u op F7. De commando's van de editor worden hieronder beschreven, extra commando's kunnen door plugins geleverd worden.
Om een commando uit te voeren, typt u het commando en daarna drukt u op de Enter-toets. Op de commandoregel verschijnt een melding over het al dan niet slagen van de opdracht. Als u de commandoregel via F7 geopend hebt, zal deze automatisch na een paar seconden verdwijnen. Om de melding te verwijderen en een nieuw commando te typen drukt u nogmaals op F7.
Typ help om de ingebouwde help van de commandoregel te zien. Typ help list om een lijst met beschikbare commando's te zien. Om de help voor een specifiek commando te zien, typt u help commando.
De commandoregel houdt de geschiedenis van ingetypte commando's bij in een lijst, zodat u eerder getypte commando's opnieuw kunt gebruiken. Gebruik de toetsen Up en Down om door de lijst te navigeren. Wanneer een commando uit de lijst getoond wordt, is het argument-gedeelte geselecteerd, zodat u dit gemakkelijk kunt overschrijven.
Argumenttypen
- BOOLEAN
Dit wordt gebruikt met commando's die iets aan- of uitzetten. Toegestane waarden zijn
on,off,true,false,1of0.- INTEGER
Een geheel getal.
- STRING
Een tekenreeks, omgeven door quotes (') of aanhalingstekens (") wanneer deze spaties bevat.
Deze commando's worden door de editor-component geleverd en maken het mogelijk om instellingen voor het actieve document en het beeld te maken. Dit kan nuttig zijn als u andere dan de standaardinstellingen wilt gebruiken, bijvoorbeeld voor het inspringen.
set-tab-width {INTEGER width}
Stelt de tablengte in op
width.set-indent-width {INTEGER width}
Stelt de breedte voor het inspringen in op
width. Gebruik dit alleen als u met spaties inspringt.set-word-wrap-column {INTEGER width}
Stelt de regellengte in op
width. Dit wordt gebruikt als u tekst automatisch laat afbreken.set-icon-border {BOOLEAN enable}
Toont of verbergt de pictogramrand.
set-folding-markers {BOOLEAN enable}
Toont of verbergt de vouwmarkeringen.
set-line-numbers {BOOLEAN enable}
Toont of verbergt de regelnummering.
set-replace-tabs {BOOLEAN enable}
Als deze optie ingeschakeld is, worden tabs door spaties vervangen terwijl u typt.
set-remove-trailing-space {BOOLEAN enable}
Als deze optie ingeschakeld is, wordt witruimte aan het einde van de regel verwijderd als de cursor naar een andere regel gaat.
set-show-tabs {BOOLEAN enable}
Als deze optie ingeschakeld is, worden tabs en spaties aan het einde van de regel zichtbaar gemaakt door middel van een punt.
set-show-indent {BOOLEAN enable}
Als deze optie ingeschakeld is, wordt inspringen zichtbaar gemaakt door middel van een verticale lijn van puntjes.
set-indent-spaces {BOOLEAN enable}
Als deze optie ingeschakeld is, zal de editor elk inspringniveau met
indent-widthspaties laten inspringen in plaats van met tabs.set-mixed-indent {BOOLEAN enable}
Als deze optie ingeschakeld is, zal KatePart tabs en spaties gebruiken voor het inspringen. Elk inspringniveau zal het aantal spaties hebben dat bij
indent-widthis ingesteld en meerdere inspringniveaus zullen geoptimaliseerd worden door zoveel mogelijk tabs te gebruiken.Wanneer dit commando uitgevoerd wordt, zal ook het inspringen met spaties ingeschakeld worden. Als de inspringbreedte niet gespecificeerd is, zal deze op de helft van
tab-widthvoor het document ingesteld worden.set-word-wrap {BOOLEAN enable}
Schakelt dynamische regelafbreking in of uit, afhankelijk van
enable.set-replace-tabs-save {BOOLEAN enable }
Als deze optie ingeschakeld is, zullen tabs vervangen worden door spaties zodra het document opgeslagen wordt.
set-remove-trailing-space-save {BOOLEAN enable}
Als deze optie ingeschakeld is, zullen spaties aan het einde van elke regel verwijderd worden zodra het document opgeslagen wordt.
set-indent-mode {STRING name}
Stelt de automatische inspringmodus in op
naam. Alsnaamonbekend is, wordt "none" (geen) gebruikt. Geldige modi zijn 'none', 'normal', 'cstyle', 'haskell', 'lilypond', 'lisp', 'python', 'ruby' en 'xml'.set-auto-ident {BOOLEAN script}
Automatisch inspringen in- of uitschakelen.
set-highlight {STRING highlight}
Stelt de accentuering van syntaxis in voor het document. Het argument moet een geldige naam zijn, zoals die in het menu → staat. Bij dit commando is automatische aanvulling beschikbaar voor het argument.
reload-scripts
Alle door Kate gebruikte JavaScript-scripts herladen, inclusief indenteerders en commandoregelscripts.
set-mode {STRING modus}
Het bestandstypeschema voor het huidige document kiezen.
nn[oremap] {STRING original} {STRING mapped}
Laat de
origineletoetsenreeks overeenkomen met deovereenkomstige.
Deze commando's wijzigen het huidige document.
indent
Laat de geselecteerde regels of de huidige regel inspringen.
unindent
Verwijdert de inspringing van de geselecteerde regels of van de huidige regel.
cleanindent
Schoont de inspringing van de geselecteerde regels of van de huidige regels op, in overeenstemming met de instellingen in het document.
comment
Voegt commentaarmarkeringen aan de geselecteerde regels of aan de huidige regel toe, in overeenstemming met de tekstopmaak zoals die gedefinieerd is voor de syntaxisaccentuering van het document.
uncomment
Verwijdert commentaarmarkeringen van de geselecteerde regels of van de huidige regel, in overeenstemming met de tekstopmaak zoals die gedefinieerd is voor de syntaxisaccentuering van het document.
kill-line
Verwijdert de huidige regel.
replace { STRING pattern} {STRING replacement}
Vervangt tekst die overeenkomt met
patterndoorreplacement. Als u spaties inpatternwilt gebruiken, moet u ompatternen omreplacementenkele of dubbele aanhalingstekens zetten. Als er geen aanhalingstekens om de argumenten staan, wordt het eerste woord alspatterngebruikt en de rest alsreplacement. Alsreplacementgeen tekens bevat, wordt elk gevondenpatternverwijderd.U kunt extra opties aan de zoekopdracht meegeven door een dubbele punt toe te voegen, gevolgd door één of meer letters die elk een optie vertegenwoordigen. De zoekopdracht krijgt de vorm
replace:options pattern replacement. Beschikbare opties zijn:bZoek achterwaarts.
cZoek vanaf de cursorpositie.
eZoek alleen in de geselecteerde tekst.
rGebruik een reguliere expressie in de zoekopdracht. In dit geval kunt u ook
Ngebruiken, N is een getal dat het aantal overeenkomsten in de vervangende tekenreeks vertegenwoordigt.sDe zoekopdracht is hoofdlettergevoelig.
pVraag om toestemming om de volgende overeenkomst te vervangen.
wZoek alleen naar hele woorden.
date {STRING format}
Voegt een datum/tijd in volgens de gespecificeerde
format, of in de opmaak “yyyy-MM-dd hh:mm:ss” als er geen opmaak gespecificeerd is. De mogelijke vormen vanformaten de resulterende interpretatie:dDe dag als een getal zonder voorloopnul (1-31). ddDe dag als een getal met voorloopnul (01-31). dddDe verkorte gelokaliseerde dagnaam (bijv. 'Ma'..'Zo'). ddddDe lange gelokaliseerde dagnaam (bijv. 'Maandag'..'Zondag'). MDe maand als een getal zonder voorloopnul (1-12). MMDe maand als een getal met voorloopnul (01-12). MMMMDe lange gelokaliseerde maandnaam (bijv. 'januari'..'december'). MMMDe verkorte gelokaliseerde maandnaam (bijv. 'Jan'..'Dec'). yyHet jaar als een getal van twee cijfers (00-99). yyyyHet jaar als een getal van vier cijfers (1752-8000). hHet uur zonder voorloopnul (0..23 of 1..12 als AM/PM gebruikt wordt). hhHet uur met voorloopnul (00..23 of 01..12 als AM/PM gebruikt wordt). mDe minuut zonder voorloopnul (0..59). mmDe minuut met voorloopnul (00..59). sDe seconde zonder voorloopnul (0..59). ssDe seconde met voorloopnul (00..59). zDe milliseconden zonder voorloopnul (0..999). zzzDe milliseconden met voorloopnul (000..999). APGebruik AM/PM. AP wordt vervangen door "AM" of "PM". apGebruik am/pm. ap wordt vervangen door "am" of "pm". char {STRING identifier}
Met behulp van dit commando kunt u tekens invoegen door het intypen van een decimaal, octaal of hexadecimaal getal. Open het dialoogvenster "Bewerkcommando's" en typ
char: [number]in het invoerveld, klik daarna op .- s///[ig] %s///[ig]
Dit commando voert een zoeken/vervangen-opdracht op de manier van sed uit op de huidige regel of in het gehele bestand (%s///).
Kort gezegd gebeurt er het volgende: In de tekst wordt naar de eerstvolgende overeenkomst met het zoekpatroon gezocht, de reguliere expressie tussen de eerste en de tweede slash, en wanneer een overeenkomst gevonden is, wordt het overeenkomende gedeelte van de tekst vervangen door de expressie tussen de tweede en de laatste slash. Haakjes in het zoekpatroon (search pattern) vertegenwoordigen terugverwijzingen, dit betekent dat het commando onthoudt welk gedeelte overeenkomt met het gedeelte tussen de haakjes; deze tekenreeksen kunnen opnieuw in de vervangende tekst gebruikt worden,
\1verwijst naar de eerste set haakjes,\2naar de tweede set, enzovoort.Om naar een
(of)te zoeken moet u het teken vooraf laten gaan door een backslash:\(\)Als u een
iaan het einde van de expressie toevoegt, maakt de zoekopdracht geen verschil tussen hoofd- en kleine letters. Als u eengaan het einde toevoegt, worden alle overeenkomsten met het zoekpatroon vervangen, anders wordt alleen de eerste overeenkomst in een regel vervangen.Voorbeeld 5.2. Tekst vervangen in de huidige regel
Uw aardige compiler is zojuist gestopt met de mededeling dat de class
myClassin regel 3902 in uw bronbestand niet gedefinieerd is."Kreukels nog an toe!" denkt u, het is natuurlijk
MyClass. U gaat naar regel 3902 en in plaats van te proberen het woord in de tekst te vinden, opent u het dialoogvenster "Bewerkcommando's", u typts/myclass/MyClass/i, klikt op , slaat het bestand op en compileert – ditmaal zonder fouten.Voorbeeld 5.3. Tekst vervangen in het gehele bestand
Stel dat u aan een bestand werkt waarin de naam “Anna Jensen” verscheidene keren voorkomt. Dan hoort u van iemand dat ze pasgeleden getrouwd is met “Harry Jones”. U wilt natuurlijk overal in het bestand “Anna Jensen” vervangen door “Anna Jones-Jensen”.
Open de commandoregel en typ
%s/Anna Jensen/Anna Jones-Jensen/en druk op de Enter-toets; dat was alles.Voorbeeld 5.4. Een iets ingewikkelder voorbeeld
In dit voorbeeld gebruiken we zowel terugverwijzingen als teken-class (als u niet weet wat dit is, lees dan de uitleg hieronder).
Stel dat u de volgende regel hebt:
void MyClass::DoStringOps( String &foo, String &bar, String *p, int &a, int &b )
U bedenkt dat dit geen nette code is en besluit dat u het sleutelwoord
constwilt gebruiken voor alle “adressen van” argumenten, herkenbaar aan de operator & voor de naam van het argument. U wilt ook de witruimte (de spaties of tabs) aanpassen, zodat er overal slechts één witruimteteken tussen de woorden staat.Open het dialoogvenster "Bewerkcommando's" en typ:
s/\s+(\w+)\s+(&)/ const \1 \2/g, klik daarna op . Degaan het einde van de expressie zorgt ervoor dat de reguliere expressie voor elke overeenkomst opnieuw opgebouwd wordt om de terugverwijzingen te behouden.Uitvoer:
void MyClass::DoStringOps( const String &foo, const String &bar, String *p, const int &a, const int &b )Taak volbracht! Wat is er nu gebeurd? We hebben gezocht naar witruimte (
\s+) gevolgd door één of meer lettertekens (\w+) gevolgd door nog meer witruimte (\s+) gevolgd door een ampersand, en tegelijkertijd hebben we de lettertekens en de ampersand opgeslagen voor hergebruik bij het vervangen. Daarna hebben we het overeenkomende gedeelte van de regel vervangen door één spatie gevolgd door “const” gevolgd door één spatie gevolgd door de opgeslagen lettertekens (\1) gevolgd door één spatie gevolgd door de opgeslagen ampersand (\2).Nu waren de lettertekens op sommige plaatsen “String”, op andere plaatsen “int”, het gebruik van de tekenklasse
\wen het bepalingsteken+bleek een handig hulpmiddel.sort
De geselecteerde tekst of het gehele document sorteren.
natsort
De geselecteerde regels of het gehele document op een natuurlijke manier sorteren.
Voorbeeld 5.5. sort vs. natsort
sort(a10, a1, a2)resulteert ina1, a10, a2natsort(a10, a1, a2)resulteert ina1, a2, a10moveLinesDown
Geselecteerde regels omlaag verplaatsen.
moveLinesUp
Geselecteerde regels omhoog verplaatsen.
uniq
Dubbele regels uit de geselecteerde tekst of het gehele document verwijderen.
rtrim
Spaties aan het eind van de regel uit de geselecteerde tekst of het gehele document verwijderen.
ltrim
Spaties aan het begin van de regel uit de geselecteerde tekst of het gehele document verwijderen.
join [STRING separator]
Geselecteerde regels of het gehele document samenvoegen. Neemt optioneel een parameter die een scheidingsteken definieert, bijvoorbeeld:
join ', 'rmblank
Alle spaties uit de geselecteerde tekst of het gehele document verwijderen.
alignon
Dit commando lijnt regels uit in het geselecteerde blok of het gehele document op de kolom gegeven door een reguliere expressie gegeven als argument.
Als u een leeg patroon geeft zal er standaard uitgelijnd worden op het eerste niet-blanke teken.
Als het patroon een vangst heeft zal het inspringen op de gevangen overeenkomst.
Voorbeelden:
alignon -zal spaties invoegen voor de eerste '-' van elke regel om ze allen uit te lijnen op dezelfde kolom.alignon :\\s+(.)zal spaties invoegen vóór de eerste niet-blanke teken dat verschijnt na een dubbelepunt om ze allemaal uit te lijnen op dezelfde kolom.unwrap
Alle regelafbrekingen uit de geselecteerde tekst of het gehele document ongedaan maken.
each {STRING script}
Met een JavaScript-functie als argument, roep die aan voor de lijst met geselecteerde regels en vervang ze met de terugkeerwaarde van die aanroep.
Voorbeeld 5.6. Geselecteerde regels samenvoegen
each 'function(lines){return lines.join(", ")}'Of, korter:
each 'lines.join(", ")'filter {STRING script}
Met een JavaScript-functie als argument, roep die aan voor de lijst met geselecteerde regels en verwijder ze als de terugkeerwaarde van die aanroep 'false' is.
Voorbeeld 5.7. Blanco regels verwijderen
filter 'function(1){return 1.length > 0;}'Of, korter:
filter 'line.length > 0'map {STRING script}
Met een JavaScript-functie als argument, roep die aan voor de lijst met geselecteerde regels en vervang de regel met de terugkeerwaarde van die aanroep.
Voorbeeld 5.8. Blanco regels verwijderen
map 'function(line){return line.replace(/^s+/,"");}'Of, korter:
map 'line.replace(/^s+/,"")'duplicateLinesUp
De geselecteerde regels boven de huidige selectie dupliceren.
duplicateLinesDown
De geselecteerde regels onder de huidige selectie dupliceren.
goto {INT line}
Dit commando plaatst de cursor op de gespecificeerde regel.
grep {STRING pattern}
Doorzoek het document met de reguliere expressie
patroon. Voor meer informatie, zie Bijlage A, Reguliere expressies.find {STRING pattern}
Dit commando plaatst de cursor bij de eerstgevonden overeenkost met
pattern, afhankelijk van de eventuele opties. Volgende overeenkomsten kunnen gevonden worden door het menu → te gebruiken of door op F3 te drukken.Het gedrag van de zoekopdracht kan ingesteld worden door een dubbele punt gevolgd door één of meer opties aan het commando toe te voegen:
find:options pattern. De volgende opties kunnen gebruikt worden:bZoek achterwaarts.
cZoek vanaf de cursorpositie.
eZoek alleen in de geselecteerde tekst.
rGebruik een reguliere expressie in de zoekopdracht. In dit geval kunt u ook
Ngebruiken, N is een getal dat het aantal overeenkomsten in de vervangende tekenreeks vertegenwoordigt.sDe zoekopdracht is hoofdlettergevoelig.
wZoek alleen naar hele woorden.
ifind {STRING pattern}
Met behulp van dit commando kunt u zoeken “terwijl-u-typt”. Het gedrag van de zoekopdracht kan ingesteld worden door een dubbele punt gevolgd door één of meer opties aan het commando toe te voegen:
ifind:options patroon. De volgende opties kunnen gebruikt worden:bZoek achterwaarts.
rGebruik een reguliere expressie in de zoekopdracht.
sDe zoekopdracht is hoofdlettergevoelig.
cZoek vanaf de cursorpositie.
w
Het huidige document opslaan.
wa
Alle huidige geopende documenten opslaan.
q
Het huidige document sluiten.
qa
Sluit alle geopende documenten.
wq
Het huidige document opslaan en sluiten.
wqa
Alle huidige open documenten opslaan en sluiten.
x
Het huidige document alleen opslaan en sluiten als het is gewijzigd.
x
Alleen alle huidige geopende documenten opslaan en sluiten als ze zijn gewijzigd.
bp
Naar het vorige document in de documentenlijst gaan.
bn
Naar het volgende document in de documentenlijst gaan.
new
Een nieuw document openen in horizontaal gesplitste weergave.
vnew
Een nieuw document openen in verticaal gesplitste weergave.
e
Het huidige document herladen als het op de schijf is gewijzigd.
enew
Een nieuw document bewerken.
print
Het printerdialoogvenster openen om het huidige document af te drukken.