|
|
<chapter id="editing">
|
|
|
<title>Средства редактирования</title>
|
|
|
|
|
|
<sect1 id="editing-snippets">
|
|
|
<title>Заготовки кода</title>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<title>Обзор возможностей</title>
|
|
|
<listitem><para>SnippetPart добавляет новое отображение справа </para></listitem>
|
|
|
<listitem><para>Добавление, изменение и удаление заготовок доступно через контекстное меню </para></listitem>
|
|
|
<listitem><para>Двойной щелчок по заготовке вставит её в текущую позицию курсора </para></listitem>
|
|
|
<listitem><para>Содержание заготовок отображается в подсказках </para></listitem>
|
|
|
<listitem><para>Заготовки кода хранятся в домашнем каталоге пользователя, поэтому каждый пользователь может иметь свой набор заготовок. </para></listitem>
|
|
|
<listitem><para>Они могут содержать переменные в виде $<varname>VARNAME</varname>$. Перед использованием заготовок с переменными будет предложено ввести их значение </para></listitem>
|
|
|
</itemizedlist>
|
|
|
</sect1> <!-- editing-snippets -->
|
|
|
|
|
|
<sect1 id="keyboardmapping">
|
|
|
<title>Комбинации клавиш</title>
|
|
|
<indexterm zone="keyboardmapping"><primary>комбинации клавиш</primary></indexterm>
|
|
|
|
|
|
<para>Далее следует список стандартных комбинаций клавиш редактора. </para>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="2">
|
|
|
<tbody>
|
|
|
|
|
|
<row><entry><para><keycap>Стрелка влево </keycap></para></entry>
|
|
|
<entry><para>Переместиться на один символ влево </para></entry></row>
|
|
|
|
|
|
<row><entry><para><keycap>Стрелка вправо </keycap></para></entry>
|
|
|
<entry><para>Переместиться на один символ вправо </para></entry></row>
|
|
|
|
|
|
<row><entry><para><keycombo>&Ctrl;<keycap> Стрелка влево </keycap></keycombo></para></entry>
|
|
|
<entry><para>Переместиться на одно слово влево </para></entry></row>
|
|
|
|
|
|
<row><entry><para><keycombo>&Ctrl;<keycap> Стрелка вправо </keycap></keycombo></para></entry>
|
|
|
<entry><para>Переместиться на одно слово вправо </para></entry></row>
|
|
|
|
|
|
<row><entry><para><keycap>Стрелка вверх </keycap></para></entry>
|
|
|
<entry><para>Переместиться на одну строку вверх </para></entry></row>
|
|
|
|
|
|
<row><entry><para><keycap>Стрелка вниз </keycap></para></entry>
|
|
|
<entry><para>Переместиться на одну строку вниз </para></entry></row>
|
|
|
|
|
|
<row><entry><para><keycap>Page Up </keycap></para></entry>
|
|
|
<entry><para>Переместиться на одну страницу вверх </para></entry></row>
|
|
|
|
|
|
<row><entry><para><keycap>Page Down </keycap></para></entry>
|
|
|
<entry><para>Переместиться на одну страницу вниз </para></entry></row>
|
|
|
|
|
|
<row><entry><para><keycombo>&Ctrl;<keycap> Page Down </keycap></keycombo></para></entry>
|
|
|
<entry><para>Переместиться в начало файла </para></entry></row>
|
|
|
|
|
|
<row><entry><para><keycombo>&Ctrl; <keycap> Page Down </keycap></keycombo></para></entry>
|
|
|
<entry><para>Переместиться в конец файла </para></entry></row>
|
|
|
|
|
|
<row><entry><para><keycap>Home </keycap></para></entry>
|
|
|
<entry><para>Переместиться в начало строки </para></entry></row>
|
|
|
|
|
|
<row><entry><para><keycap>End </keycap></para></entry>
|
|
|
<entry><para>Переместиться в конец строки </para></entry></row>
|
|
|
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
|
|
|
<para>Если к приведённым выше комбинациям клавиш добавить &Shift;, при перемещении курсора будет также выделяться текст, через который курсор проходит при перемещении. </para>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="2">
|
|
|
<tbody>
|
|
|
|
|
|
<row><entry><para><keycap>Backspace </keycap></para></entry>
|
|
|
<entry><para>Удалить один символ слева </para></entry></row>
|
|
|
|
|
|
<row><entry><para><keycap>Delete </keycap></para></entry>
|
|
|
<entry><para>Удалить один символ справа (под курсором) </para></entry></row>
|
|
|
|
|
|
<row><entry><para><keycombo>&Ctrl; <keycap> C </keycap></keycombo></para></entry>
|
|
|
<entry><para>Копировать выделенный текст в буфер обмена </para></entry></row>
|
|
|
|
|
|
<row><entry><para><keycombo>&Ctrl;<keycap> V </keycap></keycombo></para></entry>
|
|
|
<entry><para>Вставить выделенный текст из буфера обмена </para></entry></row>
|
|
|
|
|
|
<row><entry><para><keycombo>&Ctrl;<keycap> X </keycap></keycombo></para></entry>
|
|
|
<entry><para>Копировать выделенный текст в буфер обмена и затем удалить его </para></entry></row>
|
|
|
|
|
|
<row><entry><para><keycombo>&Ctrl;<keycap> Z </keycap></keycombo></para></entry>
|
|
|
<entry><para>Отменить последнее действие </para></entry></row>
|
|
|
|
|
|
<row><entry><para><keycombo>&Shift;&Ctrl;<keycap> Z </keycap></keycombo></para></entry>
|
|
|
<entry><para>Повторить последнее отменённое действие </para></entry></row>
|
|
|
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
|
|
|
</sect1> <!-- keyboardmapping -->
|
|
|
|
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
|
|
<sect1 id="editing-reporter">
|
|
|
<title>Отчёт об ошибках</title>
|
|
|
|
|
|
<para>(... в процессе написания ...) </para>
|
|
|
</sect1> <!-- editing-reporter -->
|
|
|
|
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
|
|
<sect1 id="searchinggrepping">
|
|
|
<title>Поиск в текущем документе и файлах</title>
|
|
|
<indexterm zone="searchinggrepping"><primary>поиск</primary></indexterm>
|
|
|
<indexterm zone="searchinggrepping"><primary>нахождение</primary></indexterm>
|
|
|
|
|
|
<sect2 id="searching">
|
|
|
<title>Поиск текста</title>
|
|
|
|
|
|
<para><keycombo>&Ctrl;<keycap>F</keycap></keycombo> — найти, <keycombo>&Ctrl;<keycap>R</keycap></keycombo> — найти и заменить </para>
|
|
|
|
|
|
</sect2> <!-- searching -->
|
|
|
|
|
|
|
|
|
<sect2 id="isearch">
|
|
|
<title>ISearch</title>
|
|
|
<indexterm zone="isearch"><primary>поиск по мере набора</primary></indexterm>
|
|
|
<indexterm zone="isearch"><primary>поиск по мере набора</primary></indexterm>
|
|
|
<indexterm zone="isearch"><primary>поиск</primary><secondary>по мере набора</secondary></indexterm>
|
|
|
|
|
|
<para>Традиционный поиск через <menuchoice><guimenu>Правка</guimenu> <guimenuitem>Найти</guimenuitem></menuchoice> требует указания искомого отрывка текста полностью. Однако значительно быстрее искать текст по мере набора (инкрементально): нажмите кнопку <guilabel>ISearch</guilabel> на панели инструментов и начинайте вводить искомый текст. По мере того, как вы будете вводить новые буквы, каждый раз будет выполняться поиск набираемого слова. Обычно искомое место в документе находится уже после ввода 3-4 букв. </para>
|
|
|
|
|
|
</sect2> <!-- isearch -->
|
|
|
|
|
|
|
|
|
<sect2 id="grep">
|
|
|
<title>Grep</title>
|
|
|
<indexterm zone="grep"><primary>поиск</primary><secondary>в файлах</secondary></indexterm>
|
|
|
|
|
|
<para>Оба описанных выше поиска ограничены текущим файлом. Для поиска сразу в нескольких файлах, воспользуйтесь пунктом <guimenuitem>Поиск в файлах...</guimenuitem> меню <guimenu>Правка</guimenu>. При этом будет вызван графический интерфейс к команде &grep;(1). </para>
|
|
|
|
|
|
<para>Здесь вы можете выбрать маску файлов, в которых будет производиться поиск, и другие средства по уменьшению количества сканируемых файлов. Кроме того, в этом диалоге вы можете указать каталог для поиска. Если вы включите флажок <guibutton>Рекурсивно</guibutton>, поиск продолжится и во всех вложенных каталогах. </para>
|
|
|
|
|
|
<para>Обычно условие поиска представляет собой регулярное выражение с синтаксисом стандарта POSIX. Например, вы можете использовать условие <literal>"\<K.*"</literal> если хотите найти все слова, начинающиеся с буквы K. Следующие символы являются служебными: </para>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="2">
|
|
|
<tbody>
|
|
|
|
|
|
<row><entry>
|
|
|
<literal>.</literal>
|
|
|
</entry><entry>Любой символ </entry></row>
|
|
|
<row><entry>
|
|
|
<literal>^</literal>
|
|
|
</entry><entry>Начало строки </entry></row>
|
|
|
<row><entry>
|
|
|
<literal>$</literal>
|
|
|
</entry><entry>Конец строки </entry></row>
|
|
|
<row><entry>
|
|
|
<literal>\<</literal>
|
|
|
</entry><entry>Начало слова </entry></row>
|
|
|
<row><entry>
|
|
|
<literal>\></literal>
|
|
|
</entry><entry>Конец слова </entry></row>
|
|
|
<row><entry>
|
|
|
<literal>?</literal>
|
|
|
</entry><entry>Предшествующий элемент может совпадать меньше, чем один раз </entry></row>
|
|
|
<row><entry>
|
|
|
<literal>*</literal>
|
|
|
</entry><entry>Предшествующий элемент отсутствует или присутствует один или несколько раз </entry></row>
|
|
|
<row><entry>
|
|
|
<literal>+</literal>
|
|
|
</entry><entry>Предшествующий элемент присутствует один или более раз </entry></row>
|
|
|
<row><entry>
|
|
|
<literal>{n}</literal>
|
|
|
</entry><entry>Предшествующий элемент отсутствует или присутствует один или несколько раз </entry></row>
|
|
|
<row><entry>
|
|
|
<literal>{n,}</literal>
|
|
|
</entry><entry>Предшествующий элемент присутствует один или более раз </entry></row>
|
|
|
<row><entry>
|
|
|
<literal>{,n}</literal>
|
|
|
</entry><entry>Предшествующий элемент может совпадать меньше, чем один раз </entry></row>
|
|
|
<row><entry>
|
|
|
<literal>{n,m}</literal>
|
|
|
</entry><entry>Предшествующий элемент присутствует больше <literal>n</literal> но меньше <literal>m</literal> раз </entry></row>
|
|
|
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
|
|
|
<para>Обратное отношение к подвыражениям в скобках также доступно через нотацию <literal>\n</literal>. </para>
|
|
|
|
|
|
<para>Для программирующих на C++ есть специфические шаблоны. Например, для поиска всех вызовов всех элементарных функций определённого объекта. </para>
|
|
|
|
|
|
<para>После запуска поиска, но будет производится внешним, асинхронным процессом. Все найденные элементы будут отображены в виде <guilabel>Grep</guilabel>. Чтобы перейти к просмотру файла, щёлкните на нём. Помните, что файлы сортируются по их физическому расположению. Если найденный файл уже открыт в редакторе (и изменён), могут быть несоответствия в номерах строки. Для предотвращения этого сохраняйте все файлы перед поиском. </para>
|
|
|
|
|
|
</sect2> <!-- grep -->
|
|
|
|
|
|
</sect1> <!-- searchinggrepping -->
|
|
|
|
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
|
|
<sect1 id="code-completion">
|
|
|
<title>Завершение кода</title>
|
|
|
|
|
|
<para>(... в процессе написания ...) </para>
|
|
|
</sect1> <!-- code-completion -->
|
|
|
|
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
|
|
<sect1 id="newfiles">
|
|
|
<title>Создание новых файлов и классов</title>
|
|
|
|
|
|
<para>(... в процессе написания ...) </para>
|
|
|
|
|
|
<sect2 id="newfiles-edittemplates">
|
|
|
<title>Изменение шаблонов</title>
|
|
|
|
|
|
<para>(... в процессе написания ...) </para>
|
|
|
</sect2> <!-- newfiles-edittemplates -->
|
|
|
|
|
|
</sect1> <!-- newfiles -->
|
|
|
|
|
|
</chapter> <!-- editing -->
|
|
|
<!-- ====================================================================== -->
|