diff options
Diffstat (limited to 'doc/kdevelop/editing.docbook')
-rw-r--r-- | doc/kdevelop/editing.docbook | 401 |
1 files changed, 401 insertions, 0 deletions
diff --git a/doc/kdevelop/editing.docbook b/doc/kdevelop/editing.docbook new file mode 100644 index 00000000..54074bdb --- /dev/null +++ b/doc/kdevelop/editing.docbook @@ -0,0 +1,401 @@ +<chapter id="editing"> +<title>Editing Tools</title> + +<sect1 id="editing-snippets"> +<title>Code Snippets</title> + +<itemizedlist> + <title>Features (preliminary overview)</title> + <listitem><para> + SnippetPart adds a tool-view which by default docks to the right + </para></listitem> + <listitem><para> + Adding, editing and removing of snippets is available via a popup-menu + </para></listitem> + <listitem><para> + Double-clicking a snippet form the list inserts it into to the active view at the current cursor position + </para></listitem> + <listitem><para> + Tool tips show the content of a snippet + </para></listitem> + <listitem><para> + Snippets are stored in the users home-directory, so every user can have his own snippets + </para></listitem> + <listitem><para> + Snippets can contain variables in the style of $<varname>VARNAME</varname>$. On using the snippet the user is prompted to enter replacement value for the variables + </para></listitem> +</itemizedlist> +</sect1> <!-- editing-snippets --> + +<sect1 id="keyboardmapping"> +<title>Keyboard Mapping</title> +<indexterm zone="keyboardmapping"><primary>keybindings</primary></indexterm> + +<para> +In the following, we will list the default keybindings of the +default editor. You can configure them as you like (how?) +</para> + +<informaltable> +<tgroup cols="2"> +<tbody> + +<row><entry><para><keycap> + Left +</keycap></para></entry> +<entry><para> + Moves one character left +</para></entry></row> + +<row><entry><para><keycap> + Right +</keycap></para></entry> +<entry><para> + Moves one character right +</para></entry></row> + +<row><entry><para><keycombo> +&Ctrl;<keycap> + Left +</keycap></keycombo></para></entry> +<entry><para> + Moves one word left +</para></entry></row> + +<row><entry><para><keycombo> +&Ctrl;<keycap> + Right +</keycap></keycombo></para></entry> +<entry><para> + Moves one word right +</para></entry></row> + +<row><entry><para><keycap> + Up +</keycap></para></entry> +<entry><para> + Moves up one line +</para></entry></row> + +<row><entry><para><keycap> + Down +</keycap></para></entry> +<entry><para> + Moves down one line +</para></entry></row> + +<row><entry><para><keycap> + Page Up +</keycap></para></entry> +<entry><para> + Moves up one page +</para></entry></row> + +<row><entry><para><keycap> + Page Down +</keycap></para></entry> +<entry><para> + Moves down one page +</para></entry></row> + +<row><entry><para><keycombo>&Ctrl;<keycap> + Page Down +</keycap></keycombo></para></entry> +<entry><para> + Moves to the beginning of the file +</para></entry></row> + +<row><entry><para><keycombo>&Ctrl; +<keycap> + Page Down +</keycap></keycombo></para></entry> +<entry><para> + Moves to the end of the file +</para></entry></row> + +<row><entry><para><keycap> + Home +</keycap></para></entry> +<entry><para> + Moves to the beginning of the line +</para></entry></row> + +<row><entry><para><keycap> + End +</keycap></para></entry> +<entry><para> + Moves to the end of the line +</para></entry></row> + +</tbody> +</tgroup> +</informaltable> + +<para> +For all the keys above, the &Shift; key can be pressed additionally, +to mark from the current cursor position to the one afterwards. +</para> + +<informaltable> +<tgroup cols="2"> +<tbody> + +<row><entry><para><keycap> + Backspace +</keycap></para></entry> +<entry><para> + Deletes one character left +</para></entry></row> + +<row><entry><para><keycap> + Delete +</keycap></para></entry> +<entry><para> + Deletes the character under the cursor +</para></entry></row> + +<row><entry><para><keycombo> +&Ctrl; +<keycap> + C +</keycap></keycombo></para></entry> +<entry><para> + Copies the selected text to the clipboard +</para></entry></row> + +<row><entry><para><keycombo>&Ctrl;<keycap> + V +</keycap></keycombo></para></entry> +<entry><para> + Pastes the selected text from the clipboard +</para></entry></row> + +<row><entry><para><keycombo>&Ctrl;<keycap> + X +</keycap></keycombo></para></entry> +<entry><para> + Deletes the selected text and puts it into the clipboard +</para></entry></row> + +<row><entry><para><keycombo>&Ctrl;<keycap> + Z +</keycap></keycombo></para></entry> +<entry><para> + Undo +</para></entry></row> + +<row><entry><para><keycombo>&Shift;&Ctrl;<keycap> + Z +</keycap></keycombo></para></entry> +<entry><para> +Redo +</para></entry></row> + +</tbody> +</tgroup> +</informaltable> + +</sect1> <!-- keyboardmapping --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="editing-reporter"> +<title>The Problem Reporter</title> + +<para> +(... to be written ...) +</para> +</sect1> <!-- editing-reporter --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="searchinggrepping"> +<title>Searching and Grepping</title> +<indexterm zone="searchinggrepping"><primary>searching</primary></indexterm> +<indexterm zone="searchinggrepping"><primary>finding</primary></indexterm> + +<sect2 id="searching"> +<title>Searching for Text</title> + +<para> +<keycombo>&Ctrl;<keycap>F</keycap></keycombo>- Find +<keycombo>&Ctrl;<keycap>R</keycap></keycombo>- Replace +</para> + +</sect2> <!-- searching --> + + +<sect2 id="isearch"> +<title>ISearch</title> +<indexterm zone="isearch"><primary>isearch</primary></indexterm> +<indexterm zone="isearch"><primary>incremental search</primary></indexterm> +<indexterm zone="isearch"><primary>search</primary><secondary>incremental</secondary></indexterm> + +<para> +The conventional search with <menuchoice><guimenu>Edit</guimenu> +<guimenuitem>Find</guimenuitem></menuchoice> requires you to specify the full +search term before starting. Most of the time, it is much faster to search +incrementally. If you click into the edit field labeled +<guilabel>ISearch</guilabel> in the toolbar, the search is performed as you +type. You will find that often the desired term is already found after typing +in 3 or 4 letters. +</para> + +</sect2> <!-- isearch --> + + +<sect2 id="grep"> +<title>Grep</title> +<indexterm zone="grep"><primary>search</primary><secondary>in files</secondary></indexterm> + +<para> +Both search mechanisms described above are restricted to searching within one +source file. An additional tool which allows you to search through a (possibly +large) number of files is available through the +<guimenuitem>Search in Files...</guimenuitem> item in the +<guimenu>Edit</guimenu> menu. It is basically a frontend for the +&grep;(1) program. +</para> + +<para> +In the dialog, you can specify which files are searched. There is a number of +wildcard patterns available in a combobox. In this way, you can easily +restrict the find mechanism to header files. Furthermore, you specify a +directory where the search is started. If you check the +<guibutton>Recursive</guibutton> box, the search iterates through all +directories in the hierarchy below this one. +</para> + +<para> +The search term is in general a regular expression following POSIX syntax. +For example, you can use the term <literal>"\<K.*"</literal> if you want to +find all words which begin with the letter K. The following characters +are interpreted in a special way: +</para> + +<informaltable> +<tgroup cols="2"> +<tbody> + +<row><entry> + <literal>.</literal> +</entry><entry> + Matches any character +</entry></row> +<row><entry> + <literal>^</literal> +</entry><entry> +Matches the beginning of a line +</entry></row> +<row><entry> + <literal>$</literal> +</entry><entry> + Matches the end of a line +</entry></row> +<row><entry> + <literal>\<</literal> +</entry><entry> + Matches the beginning of a word +</entry></row> +<row><entry> + <literal>\></literal> +</entry><entry> + Matches the end of a word +</entry></row> +<row><entry> + <literal>?</literal> +</entry><entry> + The preceding item matches less than once +</entry></row> +<row><entry> + <literal>*</literal> +</entry><entry> + The preceding item is matched zero or more times +</entry></row> +<row><entry> + <literal>+</literal> +</entry><entry> + The preceding item is matched once or more times +</entry></row> +<row><entry> + <literal>{n}</literal> +</entry><entry> + The preceding item is matched exactly n times +</entry></row> +<row><entry> + <literal>{n,}</literal> +</entry><entry> + The preceding item is matched n or more times +</entry></row> +<row><entry> + <literal>{,n}</literal> +</entry><entry> + The preceding item matches less than n times +</entry></row> +<row><entry> + <literal>{n,m}</literal> +</entry><entry> + The preceding item matches at least <literal>n</literal> times but less +than <literal>m</literal> times +</entry></row> + +</tbody> +</tgroup> +</informaltable> + +<para> +Backreferences to bracketed subexpressions are also available by the notation +<literal>\n</literal>. +</para> + +<para> +For C++ programmers, as special bonus there are some search templates +available for typical patterns. These allow you to search for example +all calls of member functions of a certain object. +</para> + +<para> +Once you start the search by clicking on the <guibutton>Search</guibutton> +button, it will be performed by an external, asynchronous process. All found +items will appear in the view called <guilabel>Grep</guilabel>. You can then +jump to the found items by clicking on them. Note that grep scans the files +as they stored in the file system. If you have modified versions of them in +your editor, you may get some mismatches in the line number, or some found +items will be invalid. You can avoid this by saving all files beforehand. +</para> + +</sect2> <!-- grep --> + +</sect1> <!-- searchinggrepping --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="code-completion"> +<title>Code Completion</title> + +<para> +(... to be written ...) +</para> +</sect1> <!-- code-completion --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="newfiles"> +<title>Creating New Files and Classes</title> + +<para> +(... to be written ...) +</para> + +<sect2 id="newfiles-edittemplates"> +<title>Editing the Templates</title> + +<para> +(... to be written ...) +</para> +</sect2> <!-- newfiles-edittemplates --> + +</sect1> <!-- newfiles --> + +</chapter> <!-- editing --> +<!-- ====================================================================== --> |