# Работа с редактором &kappname;

## Обзор

Редактор &kappname; — это область редактирования в главном окне &kappname;. Этот редактор используется как в &kate;, так и в &kwrite;, а также в &konqueror; для отображения текстовых файлов, расположенных на локальном компьютере или в сети.

Редактор состоит из следующих частей:

Область редактирования

- Здесь отображается текст документа.

Полосы прокрутки

- Полосы прокрутки показывают положение видимой части текста документа; они используются для перемещения по документу. При перемещении ползунка курсор вставки остаётся на месте.

  Полосы прокрутки отображаются, если текст документа не помещается в пределах области редактирования и возникает необходимость в его прокручивании.

Полоса закладок

- Полоса закладок — это небольшая панель, расположенная в левой части редактора. На ней отображаются небольшие значки напротив отмеченных строк.

  Чтобы установить или убрать закладку на какой-либо строке, щёлкните левой кнопкой мыши по полосе закладок напротив этой строки.

  Отображение полосы закладок возможно включить или отключить с помощью пункта меню Вид Полоса закладок.

Панель номеров строк

- Панель номеров строк показывает номера видимых строк документа.

  Отображение панели номеров строк возможно включить или отключить с помощью пункта меню Вид Номера строк.

Полоса сворачивания блоков

- Полоса сворачивания блоков позволяет сворачивать и разворачивать отдельные блоки кода. Группировка строк в блоки осуществляется на основе правил подсветки синтаксиса.

## Содержание этой главы:

- Навигация по тексту

- Работа с выделением

- Копирование и вставка текста

- Поиск и замена текста

- Использование закладок

- Автоматический перенос по словам

- Использование автоматической расстановки отступов

## Навигация по тексту

Перемещение по тексту в &kappname; выполняется так же, как и в большинстве текстовых редакторов с графическим интерфейсом: с помощью клавиш со стрелками и клавиш Page Up, Page Down, Home, End, а также их разных комбинаций с клавишами &Ctrl; и &Shift;. Клавиша &Shift; позволяет выделять текст, а работа &Ctrl; зависит от конкретной клавиши, с которой она выступает в комбинации:

- Для клавиш Вверх и Вниз: прокрутка документа вместо перемещения курсора.

- Для клавиш Влево и Вправо: перемещение по словам, а не по символам.

- Для клавиш Page Up и Page Down: перемещение на край видимой области.

- Для клавиш Home и End: перемещение в начало или конец документа, а не строки.

&kappname; также предоставляет возможность перехода от открывающей скобки (в том числе фигурной и квадратной) к соответствующей закрывающей и наоборот: поместите курсор непосредственно перед скобкой или после неё (обе скобки должны выделиться жёлтым фоном) и нажмите &Ctrl;6.

Кроме того, для быстрого перехода в заданную позицию в документе возможно использовать закладки.

## Работа с выделением

В &kappname; существует два основных способа выделения текста: с помощью мыши и с помощью клавиатуры.

Чтобы выделить текст мышью, щёлкните левой кнопкой в начале текста, который следует выделить, и, не отпуская кнопку, переместите указатель мыши в конец текста. Выделенная область текста меняется по мере перемещения указателя.

Двойной щелчок левой кнопкой мыши позволяет выделить слово.

Тройной щелчок выделяет всю строку.

Если при нажатии левой кнопки мыши была нажата клавиша &Shift;, текст будет выделен следующим образом:

- Если ничего не было выделено, от позиции ввода (текстовый курсор) до позиции указателя мыши.

- Если был выделен текст, то от начала этого выделенного фрагмента и до позиции указателя мыши, включая сам выделенный фрагмент.

При выделении текста мышью он автоматически копируется в буфер обмена. Чтобы вставить его в редактор или другое приложение, щёлкните средней кнопкой мыши в том месте, где следует выполнить вставку.

Чтобы выделить текст с помощью клавиатуры, удерживайте клавишу &Shift; при выделении нужного фрагмента с использованием клавиш навигации (клавиши со стрелками, Page Up, Page Down, Home и End, возможно, в сочетании с &Ctrl;).

Дополнительные сведения доступны в разделе Навигация по тексту этой главы.

Чтобы скопировать выделенный фрагмент текста, выберите пункт меню Правка Копировать или воспользуйтесь соответствующей комбинацией клавиш (по умолчанию &Ctrl;C).

Чтобы снять выделение, выберите пункт меню Правка Снять выделение или воспользуйтесь соответствующей комбинацией клавиш (по умолчанию &Ctrl;&Shift;A), или просто щёлкните левой кнопкой мыши в редакторе.

### Блочное выделение

Когда режим блочного (вертикального) выделения включён, возможно выделить определённые столбцы символов в нескольких строках (проще говоря, выделить прямоугольный блок текста). Этот режим выделения может быть полезен, если строки разделены табуляцией.

Чтобы включить или отключить режим блочного выделения, выберите пункт меню Правка Блочное выделение или воспользуйтесь соответствующей комбинацией клавиш (по умолчанию &Ctrl;&Shift;B ).

### Замена выделенного фрагмента

Если режим замены выделенного фрагмента включён, любой ввод или вставка текста приведёт к замене выделенного к этому моменту текста на новый текст. Если этот режим отключён, новый текст будет добавлен в позиции текстового курсора.

По умолчанию режим замены выделенного фрагмента включён.

Включить или отключить этот режим возможно на странице «Редактирование» диалога настройки.

### Постоянное выделение

Если режим постоянного выделения включён, ввод символов или перемещение текстового курсора не вызовет снятия выделения с ранее выделенного фрагмента. Это означает, что возможно перемещать курсор за пределы выделения и вводить текст.

По умолчанию режим постоянного выделения отключён.

Включить этот режим возможно на странице «Редактирование» диалога настройки.

Если режимы постоянного выделения и замены выделенного фрагмента включены, ввод или вставка текста в позицию курсора, если последний находится в пределах выделенного фрагмента, вызовет его замену и снятие выделения.

## Копирование и вставка текста

Чтобы скопировать текст, выделите его и выберите пункт меню Правка Копировать. Кроме того, выделенный с помощью мыши текст автоматически копируется в буфер выделения X-сервера.

Для вставки текста, находящегося в буфере обмена, выберите пункт меню Правка Вставить.

Текст, выделенный с помощью мыши, также возможно вставить щелчком средней кнопки мыши.

Если используется рабочий стол &kde;, возможно выбрать ранее скопированный текст с помощью программы &klipper;, значок которой находится в системном лотке.

## Поиск и замена текста

### Поиск и замена

В &kappname; присутствует панель пошагового поиска, а также панель расширенного поиска и замены текста, в которой возможно ввести строку замены и указать несколько дополнительных параметров.

Следующие параметры являются общими:

Искать

- Здесь следует ввести строку поиска. Интерпретация строки зависит от параметров, описание которых приводится далее.

С учётом регистра

- Если этот параметр включён, будет выполняться поиск только тех записей, которые соответствуют указанному регистру (верхнему или нижнему) всех символов шаблона поиска.

На панели расширенного поиска и замены доступны несколько дополнительных опций:

Обычный текст

- Поиск буквальных совпадений со строкой поиска.

Только полные слова

- Если выбрана эта опция, сопоставление будет положительным только в том случае, если с обеих сторон найденной строки будут стоять разделители слов (то есть не буквенно-цифровые символы, а любые другие отображаемые символы или конец строки).

Управляющие последовательности

- Если выбрана эта опция, в шаблон поиска будет возможно добавить управляющие последовательности из предустановленного списка. Для этого следует открыть контекстное меню поля ввода и выбрать последний пункт — Добавить (он будет доступен после выбора этой опции).

Регулярное выражение

- Если выбрана эта опция, строка поиска интерпретируется как регулярное выражение. В шаблон поиска будет возможно добавить регулярные выражения из предустановленного списка. Для этого следует открыть контекстное меню поля ввода и выбрать последний пункт — Добавить (он будет доступен после выбора этой опции).

  Подробные сведения доступны в разделе Регулярные выражения.

Искать только в выделенном фрагменте

- Если этот параметр включён, поиск и замена будут выполняться только в пределах выделенного фрагмента текста.

Найти все

- При нажатии этой кнопки все найденные в документе совпадения будут выделены, а в небольшом всплывающем окне будет показано их количество.

### Поиск текста

Чтобы начать поиск текста, откройте панель пошагового поиска с помощью комбинации клавиш &Ctrl;F или пункта меню Правка Найти....

В нижней части окна редактора появится панель пошагового поиска. Слева от поля ввода текста расположена кнопка закрытия панели.

Поиск выполняется по мере ввода текста. Обнаруженные совпадения выделяются в тексте, при этом цвет фона поля ввода становится светло-зелёным. Если для поискового запроса не обнаружено совпадений, цвет фона поля ввода станет светло-красным.

Кнопки и позволяют перейти к следующему или предыдущему вхождению.

Обнаруженные в документе совпадения останутся выделенными даже после закрытия панели поиска. Чтобы снять это выделение, нажмите клавишу &Esc;.

Возможно указать, следует ли учитывать регистр при поиске. Если кнопка нажата, будет выполняться поиск только тех записей, которые соответствуют указанному регистру (верхнему или нижнему) всех символов шаблона поиска.

Чтобы перейти к панели расширенного поиска и замены, нажмите кнопку , которая расположена с правой стороны панели пошагового поиска.

Если требуется повторить последний поисковый запрос (при наличии) без открытия панели пошагового поиска, воспользуйтесь пунктом меню F3 Правка Продолжить поиск или &Shift;F3 Правка Найти предыдущее.

### Замена текста

Чтобы заменить текст, откройте панель расширенного поиска и замены с помощью пункта меню Правка Заменить... или комбинации клавиш &Ctrl;R.

Слева от панели расположена кнопка закрытия панели. Рядом с ней находится небольшое поле со списком, предназначенное для указания шаблона поиска. В этом поле сохраняется информация о последних использованных шаблонах.

Режимом поиска возможно управлять с помощью следующих параметров, которые доступны в раскрывающемся списке: Обычный текст, Только полные слова, Управляющие последовательности и Регулярное выражение.

Если выбрана опция Управляющие последовательности или Регулярное выражение, в конце контекстного меню поля ввода текста будет доступен пункт Добавить.... С его помощью к шаблону поиска или замены возможно добавить управляющие последовательности или регулярные выражения из предустановленных списков.

Кнопки и позволяют перейти к следующему или предыдущему вхождению.

Введите текст, на который следует выполнить замену, в поле Заменить на и нажмите кнопку Заменить (будет заменено только текущее выделенное вхождение) Заменить все (будут заменены все вхождения в документе).

Чтобы изменить поведение функции поиска и замены, возможно выбрать другие параметры (они доступны в нижней части панели). Если кнопка нажата, будет выполняться поиск только тех записей, которые соответствуют указанному регистру (верхнему или нижнему) всех символов шаблона поиска. Чтобы поиск и замена выполнялись только в пределах текущего выбранного фрагмента, должна быть нажата кнопка . При нажатии кнопки Найти все в документе будут выделены все вхождения и показано их количество.

Чтобы перейти к панели пошагового поиска, нажмите кнопку , которая расположена с правой стороны панели расширенного поиска и замены.

При использовании регулярных выражений в поиске и замене текста возможно добавлять обратные ссылки, чтобы использовать текст документа, совпавший с подвыражением, заключённым в скобки (собственно, это подвыражение и есть обратная ссылка).

Подробные сведения доступны в разделе Регулярные выражения.

Команды `find` (найти), `replace` (заменить) и `ifind` (пошаговый поиск) возможно выполнять из командной строки.

## Использование закладок

Закладки позволяют отметить некоторые строки, чтобы потом было легко их найти.

Возможно установить или убрать закладку двумя способами:

- Переместите курсор вставки на нужную строку и выберите пункт меню Закладки Поставить закладку (&Ctrl;B).

- Щёлкните по полосе закладок напротив нужной строки.

Закладки доступны в меню Закладки. Каждая из них представлена в виде отдельного пункта меню с названием, состоящем из номера строки и первых нескольких символов этой строки. Чтобы переместить курсор вставки на строку, отмеченную закладкой, откройте это меню и выберите нужную закладку.

Для быстрого перехода между закладками выберите пункт меню Закладки Следующая (Alt Page Down) или Закладки Предыдущая (Alt Page Up ).

## Автоматический перенос по словам

Эта функция позволяет отформатировать текст таким образом, чтобы ни одна строка не выходила за пределы определённой максимальной длины строки; для этого длинная строка разбивается на две или более строк, причём она разбивается на границе ближайших двух слов.

Чтобы включить или отключить эту функцию, установите или снимите флажок Переносить строки на странице «Редактирование» диалога настройки.

Чтобы указать максимальную длину строки (в символах), воспользуйтесь параметром Переносить слова на новую строку после на странице «Редактирование» диалога настройки.

Если перенос строк включён, возможны следующие нежелательные последствия:

- При наборе редактор автоматически вставит разрыв строки при достижении максимальной длины строки.

- При загрузке документа редактор автоматически разобьёт длинные строки на несколько строк нормальной длины (если они содержат пробелы — иначе перенос строк невозможен).

В текущей версии программы невозможно установить перенос строк только для определённых типов файлов или хотя бы ограничить действие этого параметра на уровне документа. Это будет исправлено в будущих версиях &kappname;.

## Использование автоматической расстановки отступов

Компонент редактирования &kappname; поддерживает множество различных режимов автоматической расстановки отступов для разных форматов. Выбрать один из них возможно с помощью пункта меню Сервис Расстановка отступов. Модуль расстановки отступов также предоставляет пункт меню Сервис Форматированный отступ, который пересчитывает отступ выделенного текста или текущей строки.

Во всех режимах отступа используются параметры текущего документа, связанные с расстановкой отступов.

Все такие параметры возможно задать с помощью переменных документа и типов файлов.

## Доступные режимы расстановки отступов

Без автоматического отступа

- Полностью отключить автоматическую расстановку отступов.

Обычный

- Расстановка отступов аналогично предыдущей непустой строке. Этот режим возможно сочетать с установкой и отменой отступов вручную.

Стиль C

- Для исходных текстов на языке C и других подобных языках (C++, C#, &Java;, &javascript; и так далее). Этот режим не будет работать со сценарными языками, такими как Perl или PHP.

Haskell

- Для языка функционального программирования Haskell.

Lilypond

- Для описания музыкальных нот на языке Lilypond.

Lisp

- Специально для сценариев на языке Lisp и диалектов Lisp.

Python

- Специально для сценариев на языке Python.

Стиль XML

- Специально для языков, близких к XML.

## Маркеры изменённых строк

Маркеры изменённых строк &kappname; позволяют сразу увидеть места последних изменений в файле. По умолчанию сохранённые изменения обозначаются зелёной полосой слева от документа, а несохранённые изменения — оранжевой полосой.

Использование маркеров изменённых строк.

Используемые цвета возможно изменить на странице Шрифты и цвета диалога настройки. Чтобы полностью отключить показ маркеров изменённых строк, следует снять соответствующий флажок на вкладке Границы страницы Внешний вид диалога настройки.

## Мини-карта в полосе прокрутки

&kappname; поддерживает отображение мини-карты в полосе прокрутки. Эта функция позволяет выполнять предварительный просмотр документа в окне, которое всплывает при наведении указателя мыши на мини-карту. Текущая видимая часть документа выделяется на мини-карте.

Предварительный просмотр исходного кода &kate; с помощью мини-карты в полосе прокрутки.

Мини-карту возможно временно включить или отключить с помощью пункта меню Вид Мини-карта в полосе прокрутки. Чтобы сделать это на постоянной основе, воспользуйтесь соответствующим флажком на странице «Внешний вид» диалога настройки &kappname;.

## Множественные курсоры

Множественные курсоры были представлены в версии 5.93 модуля katepart.

### Создание множественных курсоров

- С помощью мыши: &Alt; + щелчок левой кнопкой. Модификатор можно настроить (подробнее здесь: Настройка множественного курсора).

- С помощью клавиатуры: &Ctrl;&Alt;&Up; для создания курсора над основным курсором и &Ctrl;&Alt;&Down; для создания курсора под основным курсором. Эти комбинации клавиш также можно настроить.

- Чтобы создать курсоры в выбранном фрагменте, необходимо сначала выбрать какой-либо текст и затем использовать комбинацию клавиш &Shift;&Alt;I: в конце каждой строки в выбранном фрагменте будет создан курсор.

- Комбинация клавиш &Alt;J позволяет найти следующее вхождение слова под курсором и выбрать его + создать курсор. Чтобы пропустить текущее слово под курсором, воспользуйтесь комбинацией клавиш &Alt;K; текущее выбранное слово будет отмечено в качестве пропущенного. При повторном нажатии комбинации клавиш &Alt;J с текущего слова будет снято выделение и произойдёт переход к следующему слову.

- Комбинация клавиш &Ctrl;&Alt;&Shift;J позволяет найти все вхождения слова под курсором и выбрать их, при этом в конце каждого выделения будет создан курсор. Для циклического перехода между выбранными словами можно воспользоваться комбинацией клавиш &Alt;J, при необходимости снимая выделение со слов с помощью комбинации клавиш &Alt;K (её описание приводилось в предыдущем абзаце).

### Работа с множественными курсорами

К созданным курсорам можно применять большинство тех же действий по редактированию, что и к единичному курсору. Например, ввод буквы приведёт к её появлению для всех курсоров. Соответственно, также можно преобразовывать текст (например, делать его буквы прописными во всех позициях или выбранных фрагментах).

Нажатие клавиши &Alt; + щелчок левой кнопкой мыши позволяет удалить выбранный курсор. Если же необходимо удалить курсоры только в пустых строках, можно воспользоваться готовым действием: откройте командную строку с помощью комбинации клавиш &Ctrl;&Alt;I, найдите пункт Удалить курсоры из пустых строк и нажмите клавишу &Enter;. Также можно настроить комбинацию клавиш для этого действия.