<chapter id="editing">
<title
>Redigeringsværktøjer</title>

<sect1 id="editing-snippets">
<title
>Kodestumper</title>

<itemizedlist>
  <title
>Funktioner (foreløbigt overblik)</title>
  <listitem
><para
>SnippetPart tilføjer en værktøjsvisning der som standard dokker til højre </para
></listitem>
  <listitem
><para
>Tilføjelse, redigering og fjernelse af stumper er tilgængelig via en popop-menu </para
></listitem>
  <listitem
><para
>Dobbeltklik på en kodestump fra listen indsætter den i den aktive visning ved markørens nuværende position </para
></listitem>
  <listitem
><para
>Værktøjsvink viser indholdet af en kodestump </para
></listitem>
  <listitem
><para
>Kodestumper opbevares i brugerens hjemmemappe, så hver bruger kan have sine egne kodestumper </para
></listitem>
  <listitem
><para
>Kodestumper kan indeholde variabler på formen $<varname
>VARNAVN</varname
>$. Når kodestumpren bruges, spørges brugeren om erstatningsværdier for variablerne </para
></listitem>
</itemizedlist>
</sect1
> <!-- editing-snippets -->

<sect1 id="keyboardmapping">
<title
>Tastebrug</title>
<indexterm zone="keyboardmapping"
><primary
>tastebindinger</primary
></indexterm>

<para
>I det følgende giver vi en liste af normale tastebindninger for standardeditoren. Du kan indstille dem som du vil (hvordan det?). </para>

<informaltable>
<tgroup cols="2">
<tbody>

<row
><entry
><para
><keycap
>Venstre </keycap
></para
></entry>
<entry
><para
>Flytter et tegn til venstre </para
></entry
></row>

<row
><entry
><para
><keycap
>Højre </keycap
></para
></entry>
<entry
><para
>Flytter et tegn til højre </para
></entry
></row>

<row
><entry
><para
><keycombo
>&Ctrl;<keycap
> Venstre </keycap
></keycombo
></para
></entry>
<entry
><para
>Flytter et ord til venstre </para
></entry
></row>

<row
><entry
><para
><keycombo
>&Ctrl;<keycap
> Højre </keycap
></keycombo
></para
></entry>
<entry
><para
>Flytter et ord til højre </para
></entry
></row>

<row
><entry
><para
><keycap
>Op </keycap
></para
></entry>
<entry
><para
>Flytter en linje op </para
></entry
></row>

<row
><entry
><para
><keycap
>Ned </keycap
></para
></entry>
<entry
><para
>Flytter en linje ned </para
></entry
></row>

<row
><entry
><para
><keycap
>Page Up </keycap
></para
></entry>
<entry
><para
>Flytter en side op </para
></entry
></row>

<row
><entry
><para
><keycap
>Page Down </keycap
></para
></entry>
<entry
><para
>Flytter en side ned </para
></entry
></row>

<row
><entry
><para
><keycombo
>&Ctrl;<keycap
> Page Up </keycap
></keycombo
></para
></entry>
<entry
><para
>Går til begyndelsen af filen </para
></entry
></row>

<row
><entry
><para
><keycombo
>&Ctrl;<keycap
> Page Down </keycap
></keycombo
></para
></entry>
<entry
><para
>Går til slutningen af filen </para
></entry
></row>

<row
><entry
><para
><keycap
>Hjem </keycap
></para
></entry>
<entry
><para
>Går til begyndelsen af linjen </para
></entry
></row>

<row
><entry
><para
><keycap
>End </keycap
></para
></entry>
<entry
><para
>Går til slutningen af linjen </para
></entry
></row>

</tbody>
</tgroup>
</informaltable>

<para
>For alle tasterne ovenfor, kan shift-tasten desuden trykkes ned, for at markere tekst fra markørens nuværende position til den nye. </para>

<informaltable>
<tgroup cols="2">
<tbody>

<row
><entry
><para
><keycap
>Backspace </keycap
></para
></entry>
<entry
><para
>Sletter et tegn til venstre </para
></entry
></row>

<row
><entry
><para
><keycap
>Slet </keycap
></para
></entry>
<entry
><para
>Sletter tegnet under markøren </para
></entry
></row>

<row
><entry
><para
><keycombo
>&Ctrl;<keycap
> C </keycap
></keycombo
></para
></entry>
<entry
><para
>Kopierer den valgte tekst til klippebordet </para
></entry
></row>

<row
><entry
><para
><keycombo
>&Ctrl;<keycap
> V </keycap
></keycombo
></para
></entry>
<entry
><para
>Indsætter den markerede tekst fra klippebordet </para
></entry
></row>

<row
><entry
><para
><keycombo
>&Ctrl;<keycap
> X </keycap
></keycombo
></para
></entry>
<entry
><para
>Sletter den markerede tekst og lægger den på klippebordet </para
></entry
></row>

<row
><entry
><para
><keycombo
>&Ctrl;<keycap
> Z </keycap
></keycombo
></para
></entry>
<entry
><para
>Fortryd </para
></entry
></row>

<row
><entry
><para
><keycombo
>&Shift;&Ctrl;<keycap
> Z </keycap
></keycombo
></para
></entry>
<entry
><para
>Annullér fortryd </para
></entry
></row>

</tbody>
</tgroup>
</informaltable>

</sect1
> <!-- keyboardmapping -->

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->

<sect1 id="editing-reporter">
<title
>Problemrapporter</title>

<para
>(... endnu ikke skrevet ...) </para>
</sect1
> <!-- editing-reporter -->

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->

<sect1 id="searchinggrepping">
<title
>Søgning og flerfilssøgning</title>
<indexterm zone="searchinggrepping"
><primary
>søgning</primary
></indexterm>
<indexterm zone="searchinggrepping"
><primary
>find</primary
></indexterm>

<sect2 id="searching">
<title
>Søg efter tekst</title>

<para
><keycombo
><keycap
>Ctrl</keycap
><keycap
>F</keycap
></keycombo
>- Søg, <keycombo
><keycap
>Ctrl</keycap
><keycap
>R</keycap
></keycombo
>- Erstat </para>

</sect2
> <!-- searching -->


<sect2 id="isearch">
<title
>I-søgning</title>
<indexterm zone="isearch"
><primary
>i-søg</primary
></indexterm>
<indexterm zone="isearch"
><primary
>inkrementel søgning</primary
></indexterm>
<indexterm zone="isearch"
><primary
>søg</primary
><secondary
>inkrementel</secondary
></indexterm>

<para
>Den almindelige søgning med <menuchoice
><guimenu
>Redigér</guimenu
><guimenuitem
>Søg</guimenuitem
></menuchoice
> kræver at du angiver hele søgebegrebet inden du starter. Oftest er det meget hurtigere at søge inkrementelt. Hvis du klikker på søgefeltet som hedder <guilabel
>I-søg</guilabel
> i værktøjslinjen, sker søgningen mens du skriver. Du vil mærke at det ønskede resultat allerede er der når du har skrevet 3 eller 4 tegn. </para>

</sect2
> <!-- isearch -->


<sect2 id="grep">
<title
>Grep</title>
<indexterm zone="grep"
><primary
>søg</primary
><secondary
>i filer</secondary
></indexterm>

<para
>Begge søgemekanismer som blev beskrevet ovenfor er begrænsede til søgning i én kildekodefil. Et yderligere værktøj som lader dig søge gennem et (muligvis stort) antal filer er tilgængeligt via punktet <guimenuitem
>Søg i filer...</guimenuitem
> i menuen <guimenu
>Redigér</guimenu
>. Det er blot en grænseflade til programmet &grep;(1). </para>

<para
>I dialogen kan du angive hvilke filer der skal søges i. Der er et antal joker-mønstre tilgængelige i et kombinationsfelt. På denne måde kan du let begrænse søgemekanismen til inkluderingsfiler. Desuden angiver du en mappe hvor søgningen startes. Hvis du afkrydser feltet <guibutton
>Rekursiv</guibutton
>, går søgningen gennem alle mapper i hierarkiet under den angivne. </para>

<para
>Søgebegrebet er generelt et regulært udtryk som følger POSIX-syntaksen. Du kan for eksempel bruge begrebet <literal
>"\&lt;K.*"</literal
>, hvis du vil finde alle ord som begynder med bogstavet K. Følgende tegn tolkes på en særlig måde: </para>

<informaltable>
<tgroup cols="2">
<tbody>

<row
><entry>
  <literal
>.</literal>
</entry
><entry
>Matcher alle tegn </entry
></row>
<row
><entry>
  <literal
>^</literal>
</entry
><entry
>Matcher begyndelsen af en linje </entry
></row>
<row
><entry>
  <literal
>$</literal>
</entry
><entry
>Matcher slutningen af en linje </entry
></row>
<row
><entry>
  <literal
>\&lt;</literal>
</entry
><entry
>Matcher begyndelsen af et ord </entry
></row>
<row
><entry>
  <literal
>\&gt;</literal>
</entry
><entry
>Matcher slutningen af et ord </entry
></row>
<row
><entry>
  <literal
>?</literal>
</entry
><entry
>Matcher foregående punkt mindre end en gang </entry
></row>
<row
><entry>
  <literal
>*</literal>
</entry
><entry
>Matcher det foregående punkt nul eller eller flere gange </entry
></row>
<row
><entry>
  <literal
>+</literal>
</entry
><entry
>Matcher det foregående punkt en eller flere gange </entry
></row>
<row
><entry>
  <literal
>{n}</literal>
</entry
><entry
>Matcher det foregående punkt nøjagtigt n gange </entry
></row>
<row
><entry>
  <literal
>{n,}</literal>
</entry
><entry
>Matcher det foregående punkt n eller flere gange </entry
></row>
<row
><entry>
  <literal
>{,n}</literal>
</entry
><entry
>Matcher foregående punkt mindre end n gange </entry
></row>
<row
><entry>
  <literal
>{n,m}</literal>
</entry
><entry
>Matcher foregående punkt mindst <literal
>n</literal
> gange, men færre end <literal
>m</literal
> gange </entry
></row>

</tbody>
</tgroup>
</informaltable>

<para
>Tilbagereferencer til deludtryk indeni parenteser er også tilgængelige med notationen <literal
>\n</literal
>. </para>

<para
>Som en særlig bonus for C++ programmører, er der nogle søgeskabeloner tilgængelige for typiske mønstre. De tillader dig for eksempel at søge efter alle kald af medlemsfunktioner for et vist objekt. </para>

<para
>Når du har startet søgningen ved at klikke på knappen <guibutton
>Søg</guibutton
>, udføres den af en ydre, asynkron proces. Alle punkter som findes, ses i visningen som hedder <guilabel
>Grep</guilabel
>. Derefter kan du gå til de fundne punkter ved at klikke på dem. Bemærk at grep gennemsøger filerne som de er opbevarede i filsystemet. Hvis du har ændrede versioner af dem i editoren, kan du få forkerte linjenumre, eller visse ugyldige fundne punkter. Du kan undgå dette ved at gemme alle filer inden søgningen. </para>

</sect2
> <!-- grep -->

</sect1
> <!-- searchinggrepping -->

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->

<sect1 id="code-completion">
<title
>Kodekomplettering</title>

<para
>(... endnu ikke skrevet ...) </para>
</sect1
> <!-- code-completion -->

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->

<sect1 id="newfiles">
<title
>Opret nye filer og klasser</title>

<para
>(... endnu ikke skrevet ...) </para>

<sect2 id="newfiles-edittemplates">
<title
>Redigér skabelonerne</title>

<para
>(... endnu ikke skrevet ...) </para>
</sect2
> <!-- newfiles-edittemplates -->

</sect1
> <!-- newfiles -->

</chapter
> <!-- editing -->
<!-- ====================================================================== -->
