# Redigeerimistööriistad

## Koodijupid

### Omadused (põgus ülevaade)

- Koodijuppide komponent lisab tööriistavaate töötsoonist paremale

- Koodijuppe saab lisada, eemaldada ja muuta kontekstimenüü abil

- Topeltklõpsuga koodijupil lisatakse see aktiivsesse vaatesse kursori asukohta

- Kohtspikrid näitavad koodijupi sisu

- Koodijupid salvestatakse kasutaja kodukataloogi, mistõttu igal kasutajal võivad olla omaenda koodijupid

- Koodijupid võivad sisaldada muutujaid kujul $`MUUTUJANIMI`$. Koodijupi kasutamisel palutakse kasutajal määrata muutujate väärtus

## Kiirklahvid

Järgnevalt toome ära vaikeredaktori vaikimisi kiirklahvid. Sul on neid mõistagi võimalik ka omatahtsi muuta.

Nool vasakule | Liigub ühe märgi võrra vasakule
Nool paremale | Liigub ühe märgi võrra paremale
&Ctrl;Nool vasakule | Liigub ühe sõna võrra vasakule
&Ctrl;Nool paremale | Liigub ühe sõna võrra paremale
Nool üles | Liigub ühe rea võrra üks
Nool alla | Liigub ühe rea võrra alla
Page Up | Liigub ühe lehekülje võrra üles
Page Down | Liigub ühe lehekülje võrra alla
&Ctrl; Page Up | Liigub faili algusse
&Ctrl; Page Down | Liigub faili lõppu
Home | Liigub rea algusse
End | Liigub rea lõppu

Kõigi mainitud klahvide korral võib vajutada ka klahvi &Shift;, millega saab märkida teksti alates kursori asukohast.

Backspace | Kustutab ühe märgi vasakult
Delete | Kustutab kursori juures oleva märgi
&Ctrl; C | Kopeerib valitud teksti lõikepuhvrisse
&Ctrl; V | Asetab valitud teksti lõikepuhvrist
&Ctrl; X | Kustutab valitud teksti ja asetab selle lõikepuhvrisse
&Ctrl; Z | Võta tagasi
&Shift;&Ctrl; Z | Tee uuesti

## Probleemide teavitaja

(... veel kirjutamata ...)

## Otsimine ja grep

### Teksti otsimine

&Ctrl;F- Otsi &Ctrl;R- Asenda

### T-otsing

Tavapärane otsing (Redigeerimine Otsi) nõuab, et määraksid enne otsimist kogu otsitava sõna. Enamasti on aga märksa kiirem täpsustav otsing. Kui klõpsad tööriistaribal väljale T-otsing, hakatakse otsima kohe, kui väljale midagi sisestad. Sageli leiad vajaliku sõna üles juba kolme-nelja tähe kirjutamise järel.

### Grep

Mõlemad mainitud otsinguviisid lubavad otsida ainult ühes failis. Veel üks tööriist võimaldab otsida ka paljudes failides korraga. Selle avamiseks vali käsk Otsi failidest... menüüst Redigeerimine. Põhimõtteliselt on see programmi &grep; kasutajaliides.

Dialoogis saad määrata, millistest failidest otsida. Liitkastides saab kindlaks määrata mitmesugused metamärgimustrid. Sel moel saab näiteks piirata otsingu päisefailidega. Lisaks saab määrata kataloogi, kus otsingut alustatakse. Kui märkida ära kast Rekursiivselt, otsitakse läbi ka kõik antud kataloogi alamkataloogid.

Otsitav sõna on üldiselt POSOX-i süntaksit järgiv regulaaravaldis. Näiteks võib selleks olla `"\<K.*"`, kui soovid leida kõik sõnad, mis algavad K-tähega. Järgmisi märke tõlgendatakse eriliselt:

`.` | Sobib iga märk
`^` | Sobib rea algus
`$` | Sobib rea lõpp
`\<` | Sobib sõna algus
`\>` | Sobib sõna lõpp
`?` | Eelnev element sobib vähem kui üks kord
`*` | Eelnev element sobib null või enam korda
`+` | Eelnev element sobib üks või enam korda
`{n}` | Eelnev element sobib täpselt n korda
`{n,}` | Eelnev element sobib n või enam korda
`{,n}` | Eelnev element sobib vähem kui n korda
`{n,m}` | Eelnev element sobib vähemalt `n`, aga vähem kui `m` korda

Kasutada saab ka tagasiviiteid sulgudes alamavaldistele, mida märgib `\n`.

C++ programmeerijate eriliseks rõõmuks on tüüpiliste mustrite jaoks olemas mõned otsingumallid. Need võimaldavad otsida näiteks kõiki teatud objekti liikmesfunktsiooni väljakutseid.

Kui alustad otsingut klõpsuga nupule Otsi, sooritatakse see välise, asünkroonse protsessina. Kõik leitud elemendid on näha vaates Grep. Leitud elementidele saab liikuda neile klõpsates. Pane tähele, et grep uurib faile nii, nagu need on failisüsteemi salvestatud. Kui oled mõnda neist redaktoris muutnud, võid avastada ebakõla reanumbrite vahel, samuti võivad mõned leitud elemendid lihtsalt puududa. Seda saab vältida, kui salvestad enne otsingut kõik failid.

## Koodilõpetus

(... veel kirjutamata ...)

## Uute failide ja klasside loomine

(... veel kirjutamata ...)

### Mallide redigeerimine

(... veel kirjutamata ...)