# Redigeringsverktyg

## Kodsnuttar

### Funktioner (inledande översikt)

- Delprogrammet för kodsnuttar lägger till en verktygsvy som normalt dockas till höger

- Tillägg, redigering och borttagning av kodsnuttar är tillgängligt via en sammanhangsberoende meny.

- Ett dubbelklick på en kodsnutt i listan infogar den i den aktiva vyn på markörens plats

- Verktygstips visar innehållet i en kodsnutt

- Kodsnuttar lagras i användarens hemkatalog, så varje användare kan ha sina egna kodsnuttar

- Kodsnuttar kan innehålla variabler på formen $`VARNAMN`$. När kodsnutten används, frågas användaren efter ersättningsvärden för variablerna

## Tangentanvändning

I det följande listar vi normala tangentbindningar för standardeditorn. Du kan anpassa dem som du vill (hur då?).

Vänster | Flyttar ett tecken åt vänster
Höger | Flyttar ett tecken åt höger
&Ctrl; Vänster | Flyttar ett ord åt vänster
&Ctrl; Höger | Flyttar ett ord åt höger
Upp | Flyttar upp en rad
Ner | Flyttar ner en rad
Page Up | Flyttar upp en sida
Page Down | Flyttar ner en sida
&Ctrl; Page Up | Går till början av filen
&Ctrl; Page Down | Går till slutet av filen
Home | Går till början av raden
End | Går till slutet av raden

För alla tangenter ovan, kan dessutom skifttangenten tryckas ner, för att markera text från markörens nuvarande position till den nya.

Backsteg | Tar bort ett tecken åt vänster
Delete | Tar bort tecknet under markören
&Ctrl; C | Kopierar den markerade texten till klippbordet
&Ctrl; V | Klistrar in den markerade texten från klippbordet
&Ctrl; X | Tar bort den markerade texten och lägger den på klippbordet
&Ctrl; Z | Ångra
&Shift;&Ctrl; Z | Gör om

## Problemrapporter

(...ännu inte skrivet...)

## Sökning och flerfilssökning

### Söka efter text

CtrlF- Sök, CtrlR- Ersätt

### I-sök

Den vanliga sökningen med Redigera Sök kräver att du anger hela sökbegreppet innan du startar. Oftast är det mycket snabbare att söka inkrementellt. Om du klickar på sökfältet som heter I-sök i verktygsraden, sker sökningen medan du skriver. Du kommer att märka att det önskade resultatet ofta redan hittas när du har skrivit in 3 eller 4 tecken.

### Flerfilsökning

Båda sökmekanismerna som beskrivs ovan är begränsade till sökning i en källkodsfil. Ett ytterligare verktyg som låter dig söka igenom ett (möjligtvis stort) antal filer är tillgängligt via alternativet Sök i filer... i menyn Redigera. Det är i grunden ett gränssnitt för programmet &grep;(1).

I dialogrutan kan du ange vilka filer som ska sökas i. Det finns ett antal jokertecken tillgängliga i en kombinationsruta. Genom att använda dem kan du enkelt begränsa sökmekanismen till exempel för deklarationsfiler. Dessutom kan du också ange en katalog där sökningen startas. Om du markerar rutan Rekursiv, går sökningen igenom alla kataloger i hierarkin under den angivna.

Sökbegreppet är i grunden ett reguljärt uttryck som följer POSIX-syntax. Du kan till exempel använda begreppet `"\<K.*"`, om du vill hitta alla ord som börjar med bokstaven K. Följande tecken tolkas på ett särskilt sätt:

`.` | Matchar alla tecken
`^` | Matchar början av en rad
`$` | Matchar slutet av en rad
`\<` | Matchar början av ett ord
`\>` | Matchar slutet av ett ord
`?` | Föregående objekt matchas mindre än en gång
`*` | Föregående objekt matchas noll eller flera gånger
`+` | Föregående objekt matchas en eller flera gånger
`{n}` | Föregående objekt matchas exakt n gånger
`{n,}` | Föregående objekt matchas n eller flera gånger
`{,n}` | Föregående objekt matchas mindre än n gånger
`{n,m}` | Föregående objekt matchas minst `n` gånger, men mindre än `m` gånger

Bakåtreferenser till deluttryck inom parenteser är också tillgängliga med notationen `\n`.

Som en särskild bonus för C++ programmerare, finns några sökmallar tillgängliga för typiska mönster. De låter dig till exempel söka efter alla anrop av medlemsfunktioner för ett visst objekt.

När du väl har startat sökningen genom att klicka på knappen Sök, utförs den av en yttre, asynkron process. Alla objekt som hittas syns i vyn som heter Flerfilsökning. Därefter kan du hoppa till objekt som hittas genom att klicka på dem. Observera att grep söker igenom filerna som är lagrade i filsystemet. Om du har ändrade versioner av dem i editorn, kan du få felaktiga radnummer, eller vissa ogiltiga hittade objekt. Du kan undvika detta genom att spara alla filer innan.

## Kodkomplettering

(...ännu inte skrivet...)

## Skapa nya filer och klasser

(...ännu inte skrivet...)

### Redigera mallarna

(...ännu inte skrivet...)