dwww Home | Show directory contents | Find package

<FILENAME filename="index.html"><html><head><title>Руководство пользователя KatePart</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="description" content="KatePart — полнофункциональный компонент редактирования KDE."><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="next" href="introduction.html" title="Глава 1. Введение"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Руководство пользователя <span class="application">KatePart</span></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="introduction.html">След.</a></td></tr></table></div><div id="contentBody"><div lang="ru" class="book"><div class="titlepage"><div><div><h1 class="title"><a name="katepart"></a>Руководство пользователя <span class="application">KatePart</span></h1></div><div><div class="authorgroup"><p class="author"><span class="firstname">Thad</span> <span class="surname">McGinnis</span> <code class="email">&lt;ctmcginnis@compuserve.com&gt;</code></p><p class="author"><span class="firstname">Anne-Marie</span> <span class="surname">Mahfouf</span> <code class="email">&lt;annma@kde.org&gt;</code></p><p class="author"><span class="firstname">Anders</span> <span class="surname">Lund</span> <code class="email">&lt;anders@alweb.dk&gt;</code></p><p class="author"><span class="firstname">T.C.</span> <span class="surname">Hollingsworth</span> <code class="email">&lt;tchollingsworth@gmail.com&gt;</code></p><span class="othercredit"><span style="text-transform: capitalize">developer</span>: <span class="firstname">Christoph</span> <span class="surname">Cullmann</span><br></span><span class="othercredit"><span style="text-transform: capitalize">reviewer</span>: <span class="firstname">Lauri</span> <span class="surname">Watts</span><br></span><span class="othercredit"><span class="contrib">Перевод на русский язык</span>: <span class="firstname">Екатерина</span> <span class="surname">Пыжова</span><br></span><span class="othercredit"><span class="contrib">Обновление перевода</span>: <span class="firstname">Олег</span> <span class="surname">Баталов</span><br></span><span class="othercredit"><span class="contrib">Обновление перевода</span>: <span class="firstname">Виктор</span> <span class="surname">Ерёмин</span><br></span><span class="othercredit"><span class="contrib">Редактирование перевода</span>: <span class="firstname">Олеся</span> <span class="surname">Герасименко</span><br></span></div></div><div>Издание <span class="releaseinfo"><span class="productname">Frameworks<br></span> 5.90 (<span class="date">22 января 2012 г.</span>)</span></div><div><p class="copyright">Авторские права © 2000, 2001 <span class="firstname">Thad</span> <span class="surname">McGinnis</span></p></div><div><p class="copyright">Авторские права © 2005 <span class="firstname">Anne-Marie</span> <span class="surname">Mahfouf</span> <code class="email">&lt;annma@kde.org&gt;</code>, <span class="firstname">Anders</span> <span class="surname">Lund</span> <code class="email">&lt;anders@alweb.dk&gt;</code></p></div><div><p class="copyright">Авторские права © 2011, 2012, 2013, 2014 <span class="firstname">T.C.</span> <span class="surname">Hollingsworth</span> <code class="email">&lt;tchollingsworth@gmail.com&gt;</code></p></div><div><p><a href="help:/kdoctools5-common/fdl-notice.html">Юридическое уведомление</a></p></div><div><div><div class="abstract"><p><span class="application">KatePart</span> — полнофункциональный компонент редактирования <span class="orgname">KDE</span>.</p></div></div></div></div><hr></div><div class="toc"><p><b>Содержание</b></p><dl class="toc"><dt><span class="chapter"><a href="introduction.html">1. Введение</a></span></dt><dt><span class="chapter"><a href="on-screen-fundamentals.html">2. Основы</a></span></dt><dd><dl><dt><span class="sect1"><a href="on-screen-fundamentals.html#drag-and-drop">Перетаскивание</a></span></dt><dt><span class="sect1"><a href="keybindings.html">Комбинации клавиш</a></span></dt></dl></dd><dt><span class="chapter"><a href="kate-part.html">3. Работа с редактором <span class="application">KatePart</span></a></span></dt><dd><dl><dt><span class="sect1"><a href="kate-part.html#kate-part-overview">Обзор</a></span></dt><dt><span class="sect1"><a href="kate-part-navigation.html">Навигация по тексту</a></span></dt><dt><span class="sect1"><a href="kate-part-selection.html">Работа с выделением</a></span></dt><dd><dl><dt><span class="sect2"><a href="kate-part-selection.html#kate-part-selection-block">Блочное выделение</a></span></dt><dt><span class="sect2"><a href="kate-part-selection.html#kate-part-selection-overwrite">Замена выделенного фрагмента</a></span></dt><dt><span class="sect2"><a href="kate-part-selection.html#kate-part-selection-persistent">Постоянное выделение</a></span></dt></dl></dd><dt><span class="sect1"><a href="kate-part-copy-and-paste.html">Копирование и вставка текста</a></span></dt><dt><span class="sect1"><a href="kate-part-find-replace.html">Поиск и замена текста</a></span></dt><dd><dl><dt><span class="sect2"><a href="kate-part-find-replace.html#find-replace-bars">Поиск и замена</a></span></dt><dt><span class="sect2"><a href="kate-part-find-replace.html#finding-text">Поиск текста</a></span></dt><dt><span class="sect2"><a href="kate-part-find-replace.html#replacing-text">Замена текста</a></span></dt></dl></dd><dt><span class="sect1"><a href="kate-part-bookmarks.html">Использование закладок</a></span></dt><dt><span class="sect1"><a href="kate-part-auto-wrap.html">Автоматический перенос по словам</a></span></dt><dt><span class="sect1"><a href="kate-part-autoindent.html">Использование автоматической расстановки отступов</a></span></dt><dt><span class="sect1"><a href="kate-part-line-modification.html">Маркеры изменённых строк</a></span></dt><dt><span class="sect1"><a href="kate-part-scrollbar-minimap.html">Мини-карта в полосе прокрутки</a></span></dt></dl></dd><dt><span class="chapter"><a href="the-menu-entries.html">4. Команды меню</a></span></dt><dd><dl><dt><span class="sect1"><a href="the-menu-entries.html#file-menu">Меню «Файл»</a></span></dt><dt><span class="sect1"><a href="edit-menu.html">Меню «Правка»</a></span></dt><dt><span class="sect1"><a href="view-menu.html">Меню «Вид»</a></span></dt><dt><span class="sect1"><a href="bookmarks-menu.html">Меню «Закладки»</a></span></dt><dt><span class="sect1"><a href="tools-menu.html">Меню «Сервис»</a></span></dt><dt><span class="sect1"><a href="settings-help-menu.html">Меню «Настройка» и «Справка»</a></span></dt></dl></dd><dt><span class="chapter"><a href="advanced-editing-tools.html">5. Дополнительные возможности редактирования</a></span></dt><dd><dl><dt><span class="sect1"><a href="advanced-editing-tools.html#advanced-editing-tools-comment">Комментирование</a></span></dt><dt><span class="sect1"><a href="advanced-editing-tools-commandline.html">Командная строка компонента редактирования</a></span></dt><dd><dl><dt><span class="sect2"><a href="advanced-editing-tools-commandline.html#advanced-editing-tools-commandline-commands">Стандартные команды</a></span></dt></dl></dd><dt><span class="sect1"><a href="advanced-editing-tools-code-folding.html">Использование сворачивания кода</a></span></dt></dl></dd><dt><span class="chapter"><a href="dev.html">6. Расширение функциональных возможностей <span class="application">KatePart</span></a></span></dt><dd><dl><dt><span class="sect1"><a href="dev.html#dev-intro">Введение</a></span></dt><dt><span class="sect1"><a href="highlight.html">Подсветка синтаксиса</a></span></dt><dd><dl><dt><span class="sect2"><a href="highlight.html#highlight-overview">Обзор</a></span></dt><dt><span class="sect2"><a href="highlight.html#katehighlight-system">Система подсветки синтаксиса <span class="application">KatePart</span></a></span></dt><dt><span class="sect2"><a href="highlight.html#katehighlight-xml-format">Формат <acronym class="acronym">XML</acronym> определения подсветки</a></span></dt><dt><span class="sect2"><a href="highlight.html#kate-highlight-rules-detailled">Правила определения способа подсветки</a></span></dt></dl></dd><dt><span class="sect1"><a href="color-themes.html">Работа с цветовыми схемами</a></span></dt><dd><dl><dt><span class="sect2"><a href="color-themes.html#color-themes-overview">Обзор</a></span></dt><dt><span class="sect2"><a href="color-themes.html#color-themes-ksyntaxhighlighting">Цветовые схемы KSyntaxHighlighting</a></span></dt><dt><span class="sect2"><a href="color-themes.html#color-themes-json">Формат <acronym class="acronym">JSON</acronym> цветовых схем</a></span></dt><dt><span class="sect2"><a href="color-themes.html#color-themes-editing">Подробные сведения о цветах</a></span></dt><dt><span class="sect2"><a href="color-themes.html#color-themes-gui">Графический интерфейс цветовых схем</a></span></dt><dt><span class="sect2"><a href="color-themes.html#color-themes-tips-and-tricks">Советы и рекомендации</a></span></dt></dl></dd><dt><span class="sect1"><a href="dev-scripting.html">Написание сценариев <span class="application">JavaScript</span></a></span></dt><dd><dl><dt><span class="sect2"><a href="dev-scripting.html#dev-scripting-indentation">Сценарии расстановки отступов</a></span></dt><dt><span class="sect2"><a href="dev-scripting.html#dev-scripting-command-line">Сценарии командной строки</a></span></dt><dt><span class="sect2"><a href="dev-scripting.html#dev-scripting-api">Программный интерфейс (API) работы со сценариями</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="config-dialog.html">7. Настройка <span class="application">KatePart</span></a></span></dt><dd><dl><dt><span class="sect1"><a href="config-dialog.html#config-dialog-editor">Настройка компонента редактирования</a></span></dt><dd><dl><dt><span class="sect2"><a href="config-dialog.html#appearance">Внешний вид</a></span></dt><dt><span class="sect2"><a href="config-dialog.html#prefcolors">Цветовые схемы</a></span></dt><dt><span class="sect2"><a href="config-dialog.html#pref-edit">Редактирование</a></span></dt><dt><span class="sect2"><a href="config-dialog.html#pref-open-save">Открытие и сохранение</a></span></dt></dl></dd><dt><span class="sect1"><a href="config-variables.html">Настройка с помощью переменных документа</a></span></dt><dd><dl><dt><span class="sect2"><a href="config-variables.html#config-variables-howto">Как в <span class="application">KatePart</span> используются переменные</a></span></dt><dt><span class="sect2"><a href="config-variables.html#config-variables-list">Доступные переменные</a></span></dt><dt><span class="sect2"><a href="config-variables.html#kateconfig-extended-options">Расширенные параметры в файлах <code class="filename">.kateconfig</code></a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="credits.html">8. Авторские права и лицензия</a></span></dt><dt><span class="chapter"><a href="vi-input-mode-chapter.html">9. Режим ввода Vi</a></span></dt><dd><dl><dt><span class="sect1"><a href="vi-input-mode-chapter.html#vi-mode-sect1">Режим ввода Vi</a></span></dt><dd><dl><dt><span class="sect2"><a href="vi-input-mode-chapter.html#vi-incompatibilities">Расхождения с Vim</a></span></dt><dt><span class="sect2"><a href="vi-input-mode-chapter.html#vi-switching-modes">Переключение режимов</a></span></dt><dt><span class="sect2"><a href="vi-input-mode-chapter.html#vi-integration">Интеграция с командами <span class="application">Kate</span></a></span></dt><dt><span class="sect2"><a href="vi-input-mode-chapter.html#vi-normal-visual-mode-commands">Поддерживаемые команды обычного/визуального режимов</a></span></dt><dt><span class="sect2"><a href="vi-input-mode-chapter.html#vi-supported-motions">Поддерживаемые команды перемещения</a></span></dt><dt><span class="sect2"><a href="vi-input-mode-chapter.html#vi-supported-text-objects">Поддерживаемые текстовые объекты</a></span></dt><dt><span class="sect2"><a href="vi-input-mode-chapter.html#vi-insert-mode-commands">Поддерживаемые команды режима вставки</a></span></dt><dt><span class="sect2"><a href="vi-input-mode-chapter.html#vi-text-object">Текстовый объект, ограниченный запятыми</a></span></dt><dt><span class="sect2"><a href="vi-input-mode-chapter.html#vi-missing-features">Нереализованные возможности</a></span></dt></dl></dd></dl></dd><dt><span class="appendix"><a href="regular-expressions.html">A. Регулярные выражения</a></span></dt><dd><dl><dt><span class="sect1"><a href="regular-expressions.html#idm9766">Введение</a></span></dt><dt><span class="sect1"><a href="regex-patterns.html">Шаблоны</a></span></dt><dd><dl><dt><span class="sect2"><a href="regex-patterns.html#idm9823">Управляющие последовательности</a></span></dt><dt><span class="sect2"><a href="regex-patterns.html#idm9834">Символьные классы и сокращения</a></span></dt><dt><span class="sect2"><a href="regex-patterns.html#idm10002">Альтернативы: проверка на <span class="quote">«<span class="quote">один из</span>»</span> нескольких шаблонов</a></span></dt><dt><span class="sect2"><a href="regex-patterns.html#idm10011">Вложенные шаблоны</a></span></dt><dt><span class="sect2"><a href="regex-patterns.html#special-characters-in-patterns">Символы со специальным значением в шаблонах</a></span></dt></dl></dd><dt><span class="sect1"><a href="quantifiers.html">Кванторы</a></span></dt><dd><dl><dt><span class="sect2"><a href="quantifiers.html#idm10189">Жадность</a></span></dt><dt><span class="sect2"><a href="quantifiers.html#idm10195">Примеры использования</a></span></dt></dl></dd><dt><span class="sect1"><a href="assertions.html">Утверждения</a></span></dt></dl></dd></dl></div><div class="list-of-examples"><p><b>Список примеров</b></p><dl><dt>5.1. <a href="advanced-editing-tools-commandline.html#idm3164">Примеры использования команды <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command">char</span></span></a></dt><dt>5.2. <a href="advanced-editing-tools-commandline.html#idm3196">Замена текста в текущей строке</a></dt><dt>5.3. <a href="advanced-editing-tools-commandline.html#idm3204">Замена текста во всём файле</a></dt><dt>5.4. <a href="advanced-editing-tools-commandline.html#idm3212">Более сложный пример</a></dt><dt>5.5. <a href="advanced-editing-tools-commandline.html#idm3251"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command">sort</span></span> в сравнении с <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command">natsort</span></span></a></dt><dt>5.6. <a href="advanced-editing-tools-commandline.html#idm3322">Объединить выделенные строки</a></dt><dt>5.7. <a href="advanced-editing-tools-commandline.html#idm3339">Удалить пустые строки</a></dt><dt>5.8. <a href="advanced-editing-tools-commandline.html#idm3356">Удалить пустые строки</a></dt></dl></div><FILENAME filename="introduction.html"><html><head><title>Глава 1. Введение</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="index.html" title="Руководство пользователя KatePart"><link rel="prev" href="index.html" title="Руководство пользователя KatePart"><link rel="next" href="on-screen-fundamentals.html" title="Глава 2. Основы"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Введение</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="index.html">Пред.</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="on-screen-fundamentals.html">След.</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="introduction"></a>Глава 1. Введение</h1></div></div></div><p><span class="application">KatePart</span> — это полнофункциональный компонент редактирования, который используется различными приложениями <span class="trademark">Qt</span>™ и <span class="orgname">KDE</span>. <span class="application">KatePart</span> представляет собой не просто текстовый редактор: приложение создавалось для использования программистами и может считаться, по крайней мере, частичной альтернативой более мощным редакторам. Одна из главных особенностей <span class="application">KWrite</span> — это подсветка синтаксиса, настроенная для множества разных языков программирования, таких как C/C++, <span class="trademark">Java</span>™, Python, Perl, Bash, Modula 2, <acronym class="acronym">HTML</acronym> и Ada. </p><p><span class="application">KWrite</span> — простой текстовый редактор, созданный на основе <span class="application">KatePart</span>. В его окне возможно работать одновременно только с одним документом (<acronym class="acronym">SDI</acronym>). Так как редактор <span class="application">KWrite</span> представляет собой очень простую реализацию <span class="application">KatePart</span>, для него не требуется отдельная документация. Если освоить работу в <span class="application">KWrite</span>, будет возможно использовать <span class="application">KatePart</span> где угодно! </p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="index.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="on-screen-fundamentals.html">След.</a></td></tr><tr><td class="prevCell">Руководство пользователя <span class="application">KatePart</span> </td><td class="upCell"> </td><td class="nextCell"> Основы</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="on-screen-fundamentals.html"><html><head><title>Глава 2. Основы</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="index.html" title="Руководство пользователя KatePart"><link rel="prev" href="introduction.html" title="Глава 1. Введение"><link rel="next" href="keybindings.html" title="Комбинации клавиш"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Основы</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction.html">Пред.</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="keybindings.html">След.</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="on-screen-fundamentals"></a>Глава 2. Основы</h1></div></div></div><p>Работа с <span class="application">KWrite</span> и многими другими модулями <span class="application">Kate</span> очень проста. При наличии опыта работы с текстовым редактором проблем возникнуть не должно. </p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="drag-and-drop"></a>Перетаскивание</h2></div></div></div><p><span class="application">KatePart</span> поддерживает протокол перетаскивания мышью <span class="orgname">KDE</span>. Файлы возможно перетащить в <span class="application">KatePart</span> с рабочего стола, из диспетчера файлов <span class="application">Dolphin</span> или с какого-либо сетевого <acronym class="acronym">FTP</acronym>-сайта, открытого в окне <span class="application">Dolphin</span>. </p></div><FILENAME filename="keybindings.html"><html><head><title>Комбинации клавиш</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="on-screen-fundamentals.html" title="Глава 2. Основы"><link rel="prev" href="on-screen-fundamentals.html" title="Глава 2. Основы"><link rel="next" href="kate-part.html" title="Глава 3. Работа с редактором KatePart"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Комбинации клавиш</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="on-screen-fundamentals.html">Пред.</a></td><td class="upCell">Основы</td><td class="nextCell"><a accesskey="n" href="kate-part.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="keybindings"></a>Комбинации клавиш</h2></div></div></div><p>Многие комбинации клавиш возможно перенастроить с помощью меню <a class="link" href="settings-help-menu.html" title="Меню «Настройка» и «Справка»">Настройка</a>. По умолчанию комбинации клавиш в <span class="application">KatePart</span> настроены следующим образом:</p><div class="informaltable"><table class="informaltable" border="1"><colgroup><col><col></colgroup><tbody><tr><td><p><span class="keycap"><strong>Ins</strong></span></p></td><td><p>Переключение между режимами вставки и замены. В режиме вставки редактор будет добавлять все вводимые символы, перемещая текст справа от курсора дальше. В режиме замены каждый вводимый символ будет удалять символ справа от курсора.</p></td></tr><tr><td><p><span class="keysym">Стрелка влево</span></p></td><td><p>Переместить курсор на символ влево.</p></td></tr><tr><td><p><span class="keysym">Стрелка вправо</span></p></td><td><p>Переместить курсор на символ вправо.</p></td></tr><tr><td><p><span class="keysym">Стрелка вверх</span></p></td><td><p>Переместить курсор на строку выше.</p></td></tr><tr><td><p><span class="keysym">Стрелка вниз</span></p></td><td><p>Переместить курсор на строку ниже.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>E</strong></span></p></td><td><p>Перейти к предыдущей редактируемой строке.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>E</strong></span></p></td><td><p>Перейти к следующей редактируемой строке.</p></td></tr><tr><td><p><span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keysym">Стрелка вверх</span></p></td><td><p>Переместить курсор к предыдущему совпадающему отступу.</p></td></tr><tr><td><p><span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keysym">Стрелка вниз</span></p></td><td><p>Переместить курсор к предыдущему совпадающему отступу.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>6</strong></span></p></td><td><p>Переместить курсор к парной скобке.</p></td></tr><tr><td><p><span class="keysym">PgUp</span></p></td><td><p>Переместить курсор на страницу выше.</p></td></tr><tr><td><p><span class="keysym">PgDn</span></p></td><td><p>Переместить курсор на страницу ниже.</p></td></tr><tr><td><p><span class="keycap"><strong>Home</strong></span></p></td><td><p>Переместить курсор к началу текущей строки.</p></td></tr><tr><td><p><span class="keycap"><strong>End</strong></span></p></td><td><p>Переместить курсор к концу текущей строки.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Home</strong></span></p></td><td><p>Перейти к началу документа.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>End</strong></span></p></td><td><p>Перейти к концу документа.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keysym">Стрелка вверх</span></p></td><td><p>Прокрутить строку вверх.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keysym">Стрелка вниз</span></p></td><td><p>Прокрутить строку вниз.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keysym">Стрелка вправо</span></p></td><td><p>Переместить слово вправо.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keysym">Стрелка влево</span></p></td><td><p>Переместить слово влево.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keysym">Стрелка вверх</span></p></td><td><p>Переместить строки вверх.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keysym">Стрелка вниз</span></p></td><td><p>Переместить строки вниз.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keysym">Стрелка вверх</span></p></td><td><p>Дублировать выделенные строки выше.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keysym">Стрелка вниз</span></p></td><td><p>Дублировать выделенные строки ниже.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>B</strong></span></p></td><td><p>Установить закладку.</p></td></tr><tr><td><p><span class="keycap"><strong>Alt</strong></span>+<span class="keysym">PgUp</span></p></td><td><p>Предыдущая закладка.</p></td></tr><tr><td><p><span class="keycap"><strong>Alt</strong></span>+<span class="keysym">PgDn</span></p></td><td><p>Следующая закладка.</p></td></tr><tr><td><p><span class="keycap"><strong>Del</strong></span></p></td><td><p>Удалить символ справа от курсора (или выделенный текст).</p></td></tr><tr><td><p><span class="keysym">Backspace</span></p></td><td><p>Удалить символ слева от курсора.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Del</strong></span></p></td><td><p>Удалить слово справа.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keysym">Backspace</span></p></td><td><p>Удалить слово слева.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>K</strong></span></p></td><td><p>Удалить строку.</p></td></tr><tr><td><p><span class="keycap"><strong>Shift</strong></span>+<span class="keysym">Enter</span></p></td><td><p>Вставить символ начала новой строки, включая начальные символы текущей строки, отличные от букв или цифр. Эта возможность полезна при написании комментариев в коде: в конце строки <span class="quote">«<span class="quote">// какой-либо текст</span>»</span> используйте эту комбинацию клавиш, и следующая строка уже будет начинаться с символов <span class="quote">«<span class="quote">// </span>»</span>. Поэтому символы комментария не потребуется вводить в начале каждой новой строки комментариев.</p></td></tr><tr><td><p><span class="keycap"><strong>Shift</strong></span>+<span class="keysym">Стрелка влево</span></p></td><td><p>Выделить символ слева от курсора.</p></td></tr><tr><td><p><span class="keycap"><strong>Shift</strong></span>+<span class="keysym">Стрелка вправо</span></p></td><td><p>Выделить символ справа от курсора.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>F</strong></span></p></td><td><p><a class="link" href="edit-menu.html#edit-find">Найти</a>.</p></td></tr><tr><td><p><span class="keycap"><strong>F3</strong></span></p></td><td><p><a class="link" href="edit-menu.html#edit-find-next">Следующее совпадение</a>.</p></td></tr><tr><td><p><span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>F3</strong></span></p></td><td><p><a class="link" href="edit-menu.html#edit-find-previous">Предыдущее совпадение</a>.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>H</strong></span></p></td><td><p><a class="link" href="edit-menu.html#edit-find-selected">Найти выделенное</a>.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>H</strong></span></p></td><td><p><a class="link" href="edit-menu.html#edit-find-selected-backwards">Найти выделенное (в обратном направлении)</a>.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keysym">Стрелка вправо</span></p></td><td><p>Выделить слово справа.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keysym">Стрелка влево</span></p></td><td><p>Выделить слово слева.</p></td></tr><tr><td><p><span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>Home</strong></span></p></td><td><p>Выделить до начала строки.</p></td></tr><tr><td><p><span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>End</strong></span></p></td><td><p>Выделить до конца строки.</p></td></tr><tr><td><p><span class="keycap"><strong>Shift</strong></span>+<span class="keysym">Стрелка вверх</span></p></td><td><p>Выделить до предыдущей строки.</p></td></tr><tr><td><p><span class="keycap"><strong>Shift</strong></span>+<span class="keysym">Стрелка вниз</span></p></td><td><p>Выделить до следующей строки.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>6</strong></span></p></td><td><p>Выделить до парной скобки.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keysym">PgUp</span></p></td><td><p>Выделить до начала области просмотра.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keysym">PgDn</span></p></td><td><p>Выделить до конца области просмотра.</p></td></tr><tr><td><p><span class="keycap"><strong>Shift</strong></span>+<span class="keysym">PgUp</span></p></td><td><p>Выделить страницу вверх.</p></td></tr><tr><td><p><span class="keycap"><strong>Shift</strong></span>+<span class="keysym">PgDn</span></p></td><td><p>Выделить страницу вниз.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>Home</strong></span></p></td><td><p>Выделить до начала документа.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>End</strong></span></p></td><td><p>Выделить до конца документа.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Home</strong></span></p></td><td><p>Выделить всё.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>A</strong></span></p></td><td><p>Снять выделение.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>B</strong></span></p></td><td><p>Блочное выделение.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>C</strong></span> / <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Ins</strong></span></p></td><td><p>Скопировать выделенный текст в буфер обмена.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>D</strong></span></p></td><td><p>Закомментировать.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>D</strong></span></p></td><td><p>Раскомментировать.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>G</strong></span></p></td><td><p>Перейти на строку</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>I</strong></span></p></td><td><p>Вставить отступ для выделенного фрагмента.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>I</strong></span></p></td><td><p>Снять отступ для выделенного фрагмента.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>J</strong></span></p></td><td><p>Объединить строки.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>P</strong></span></p></td><td><p><a class="link" href="the-menu-entries.html#file-print">Печать</a>.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>R</strong></span></p></td><td><p><a class="link" href="edit-menu.html#edit-replace">Замена</a>.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>S</strong></span></p></td><td><p>Выполнить команду <a class="link" href="the-menu-entries.html#file-save"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Сохранить</span></span></a>.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>S</strong></span></p></td><td><p>Сохранить как.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>U</strong></span></p></td><td><p>Перевести в верхний регистр.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>U</strong></span></p></td><td><p>Перевести в нижний регистр.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>U</strong></span></p></td><td><p>С заглавной буквы.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>V</strong></span> / <span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>Ins</strong></span></p></td><td><p>Вставить текст из буфера обмена.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>X</strong></span> / <span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>Ins</strong></span></p></td><td><p>Скопировать выделенный текст в буфер обмена и удалить его из документа. </p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Z</strong></span></p></td><td><p><a class="link" href="edit-menu.html#edit-undo">Отменить</a>.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>Z</strong></span></p></td><td><p><a class="link" href="edit-menu.html#edit-redo">Повторить</a>.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>-</strong></span></p></td><td><p>Уменьшить размер шрифта.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>+</strong></span><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>=</strong></span></p></td><td><p>Увеличить размер шрифта.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>-</strong></span></p></td><td><p>Свернуть узлы верхнего уровня.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>+</strong></span></p></td><td><p>Развернуть узлы верхнего уровня.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keysym">Пробел</span></p></td><td><p>Завершение кода.</p></td></tr><tr><td><p><span class="keycap"><strong>F5</strong></span></p></td><td><p><a class="link" href="the-menu-entries.html#file-reload"> Обновить</a>.</p></td></tr><tr><td><p><span class="keycap"><strong>F6</strong></span></p></td><td><p>Показать/скрыть полосу отметок.</p></td></tr><tr><td><p><span class="keycap"><strong>F7</strong></span></p></td><td><p>Переключиться в командную строку.</p></td></tr><tr><td><p><span class="keycap"><strong>F9</strong></span></p></td><td><p>Показать/скрыть полосу сворачивания блоков.</p></td></tr><tr><td><p><span class="keycap"><strong>F10</strong></span></p></td><td><p>Динамический перенос строк.</p></td></tr><tr><td><p><span class="keycap"><strong>F11</strong></span></p></td><td><p>Показать/скрыть номера строк.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>T</strong></span></p></td><td><p>Переставить символы.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>O</strong></span></p></td><td><p>Автопроверка орфографии.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>V</strong></span></p></td><td><p>Перейти к следующему режиму ввода.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>8</strong></span></p></td><td><p>Повторить слово выше.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>9</strong></span></p></td><td><p>Повторить слово ниже.</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>#</strong></span></p></td><td><p>Развернуть аббревиатуру.</p></td></tr></tbody></table></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="on-screen-fundamentals.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="kate-part.html">След.</a></td></tr><tr><td class="prevCell">Основы </td><td class="upCell">Основы</td><td class="nextCell"> Работа с редактором <span class="application">KatePart</span></td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="keybindings.html">След.</a></td></tr><tr><td class="prevCell">Введение </td><td class="upCell"> </td><td class="nextCell"> Комбинации клавиш</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="kate-part.html"><html><head><title>Глава 3. Работа с редактором KatePart</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="index.html" title="Руководство пользователя KatePart"><link rel="prev" href="keybindings.html" title="Комбинации клавиш"><link rel="next" href="kate-part-navigation.html" title="Навигация по тексту"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Работа с редактором <span class="application">KatePart</span></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="keybindings.html">Пред.</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="kate-part-navigation.html">След.</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="kate-part"></a>Глава 3. Работа с редактором <span class="application">KatePart</span></h1></div><div><div class="authorgroup"><p class="author"><span class="firstname">Anders</span> <span class="surname">Lund</span> <code class="email">&lt;anders@alweb.dk&gt;</code></p><p class="author"><span class="firstname">Dominik</span> <span class="surname">Haumann</span> <code class="email">&lt;dhdev@gmx.de&gt;</code></p><span class="othercredit"><span class="contrib">Перевод на русский язык</span>: <span class="firstname">Андрей</span> <span class="surname">Балагута</span><br></span><span class="othercredit"><span class="contrib">Обновление и редактирование перевода</span>: <span class="firstname">Олеся</span> <span class="surname">Герасименко</span><br></span></div></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="kate-part-overview"></a>Обзор</h2></div></div></div><p>Редактор <span class="application">KatePart</span> — это область редактирования в главном окне <span class="application">KatePart</span>. Этот редактор используется как в <span class="application">Kate</span>, так и в <span class="application">KWrite</span>, а также в <span class="application">Konqueror</span> для отображения текстовых файлов, расположенных на локальном компьютере или в сети.</p><p>Редактор состоит из следующих частей:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">Область редактирования</span></dt><dd><p>Здесь отображается текст документа.</p></dd><dt><span class="term">Полосы прокрутки</span></dt><dd><p>Полосы прокрутки показывают положение видимой части текста документа; они используются для перемещения по документу. При перемещении ползунка курсор вставки остаётся на месте.</p><p>Полосы прокрутки отображаются, если текст документа не помещается в пределах области редактирования и возникает необходимость в его прокручивании.</p></dd><dt><span class="term">Полоса закладок</span></dt><dd><p>Полоса закладок — это небольшая панель, расположенная в левой части редактора. На ней отображаются небольшие значки напротив отмеченных строк.</p><p>Чтобы установить или убрать <a class="link" href="kate-part-bookmarks.html" title="Использование закладок">закладку</a> на какой-либо строке, щёлкните левой кнопкой мыши по полосе закладок напротив этой строки.</p><p>Отображение полосы закладок возможно включить или отключить с помощью пункта меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Вид</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Полоса закладок</span></span>.</p></dd><dt><span class="term">Панель номеров строк</span></dt><dd><p>Панель номеров строк показывает номера видимых строк документа.</p><p>Отображение панели номеров строк возможно включить или отключить с помощью пункта меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Вид</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Номера строк</span></span>.</p></dd><dt><span class="term">Полоса сворачивания блоков</span></dt><dd><p>Полоса сворачивания блоков позволяет сворачивать и разворачивать отдельные блоки кода. Группировка строк в блоки осуществляется на основе правил подсветки синтаксиса.</p></dd></dl></div><div class="itemizedlist"><p class="title"><b>Содержание этой главы:</b></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><a class="link" href="kate-part-navigation.html" title="Навигация по тексту">Навигация по тексту</a> </p></li><li class="listitem"><p><a class="link" href="kate-part-selection.html" title="Работа с выделением">Работа с выделением</a></p></li><li class="listitem"><p><a class="link" href="kate-part-copy-and-paste.html" title="Копирование и вставка текста">Копирование и вставка текста</a></p></li><li class="listitem"><p><a class="link" href="kate-part-find-replace.html" title="Поиск и замена текста">Поиск и замена текста</a></p></li><li class="listitem"><p><a class="link" href="kate-part-bookmarks.html" title="Использование закладок">Использование закладок</a></p></li><li class="listitem"><p><a class="link" href="kate-part-auto-wrap.html" title="Автоматический перенос по словам">Автоматический перенос по словам</a></p></li><li class="listitem"><p><a class="link" href="kate-part-autoindent.html" title="Использование автоматической расстановки отступов">Использование автоматической расстановки отступов</a></p></li></ul></div></div><FILENAME filename="kate-part-navigation.html"><html><head><title>Навигация по тексту</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="kate-part.html" title="Глава 3. Работа с редактором KatePart"><link rel="prev" href="kate-part.html" title="Глава 3. Работа с редактором KatePart"><link rel="next" href="kate-part-selection.html" title="Работа с выделением"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Навигация по тексту</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="kate-part.html">Пред.</a></td><td class="upCell">Работа с редактором <span class="application">KatePart</span></td><td class="nextCell"><a accesskey="n" href="kate-part-selection.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="kate-part-navigation"></a>Навигация по тексту</h2></div></div></div><p>Перемещение по тексту в <span class="application">KatePart</span> выполняется так же, как и в большинстве текстовых редакторов с графическим интерфейсом: с помощью клавиш со стрелками и клавиш <span class="keycap"><strong>Page Up</strong></span>, <span class="keycap"><strong>Page Down</strong></span>, <span class="keycap"><strong>Home</strong></span>, <span class="keycap"><strong>End</strong></span>, а также их разных комбинаций с клавишами <span class="keycap"><strong>Ctrl</strong></span> и <span class="keycap"><strong>Shift</strong></span>. Клавиша <span class="keycap"><strong>Shift</strong></span> позволяет выделять текст, а работа <span class="keycap"><strong>Ctrl</strong></span> зависит от конкретной клавиши, с которой она выступает в комбинации: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Для клавиш <span class="keycap"><strong>Вверх</strong></span> и <span class="keycap"><strong>Вниз</strong></span>: прокрутка документа вместо перемещения курсора.</p></li><li class="listitem"><p>Для клавиш <span class="keycap"><strong>Влево</strong></span> и <span class="keycap"><strong>Вправо</strong></span>: перемещение по словам, а не по символам.</p></li><li class="listitem"><p>Для клавиш <span class="keycap"><strong>Page Up</strong></span> и <span class="keycap"><strong>Page Down</strong></span>: перемещение на край видимой области.</p></li><li class="listitem"><p>Для клавиш <span class="keycap"><strong>Home</strong></span> и <span class="keycap"><strong>End</strong></span>: перемещение в начало или конец документа, а не строки.</p></li></ul></div><p>
</p><p><span class="application">KatePart</span> также предоставляет возможность перехода от открывающей скобки (в том числе фигурной и квадратной) к соответствующей закрывающей и наоборот: поместите курсор непосредственно перед скобкой или после неё (обе скобки должны выделиться жёлтым фоном) и нажмите <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>6</strong></span>.</p><p>Кроме того, для быстрого перехода в заданную позицию в документе возможно использовать <a class="link" href="kate-part-bookmarks.html" title="Использование закладок">закладки</a>.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="kate-part.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="kate-part-selection.html">След.</a></td></tr><tr><td class="prevCell">Работа с редактором <span class="application">KatePart</span> </td><td class="upCell">Работа с редактором <span class="application">KatePart</span></td><td class="nextCell"> Работа с выделением</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="kate-part-selection.html"><html><head><title>Работа с выделением</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="kate-part.html" title="Глава 3. Работа с редактором KatePart"><link rel="prev" href="kate-part-navigation.html" title="Навигация по тексту"><link rel="next" href="kate-part-copy-and-paste.html" title="Копирование и вставка текста"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Работа с выделением</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="kate-part-navigation.html">Пред.</a></td><td class="upCell">Работа с редактором <span class="application">KatePart</span></td><td class="nextCell"><a accesskey="n" href="kate-part-copy-and-paste.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="kate-part-selection"></a>Работа с выделением</h2></div></div></div><p>В <span class="application">KatePart</span> существует два основных способа выделения текста: с помощью мыши и с помощью клавиатуры.</p><p>Чтобы выделить текст мышью, щёлкните левой кнопкой в начале текста, который следует выделить, и, не отпуская кнопку, переместите указатель мыши в конец текста. Выделенная область текста меняется по мере перемещения указателя.</p><p>Двойной щелчок левой кнопкой мыши позволяет выделить слово.</p><p>Тройной щелчок выделяет всю строку.</p><p>Если при нажатии левой кнопки мыши была нажата клавиша <span class="keycap"><strong>Shift</strong></span>, текст будет выделен следующим образом:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Если ничего не было выделено, от позиции ввода (текстовый курсор) до позиции указателя мыши.</p></li><li class="listitem"><p>Если был выделен текст, то от начала этого выделенного фрагмента и до позиции указателя мыши, включая сам выделенный фрагмент.</p></li></ul></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примечание</h3><p>При выделении текста мышью он автоматически копируется в буфер обмена. Чтобы вставить его в редактор или другое приложение, щёлкните средней кнопкой мыши в том месте, где следует выполнить вставку. </p></div><p>Чтобы выделить текст с помощью клавиатуры, удерживайте клавишу <span class="keycap"><strong>Shift</strong></span> при выделении нужного фрагмента с использованием клавиш навигации (клавиши со стрелками, <span class="keycap"><strong>Page Up</strong></span>, <span class="keycap"><strong>Page Down</strong></span>, <span class="keycap"><strong>Home</strong></span> и <span class="keycap"><strong>End</strong></span>, возможно, в сочетании с <span class="keycap"><strong>Ctrl</strong></span>).</p><p>Дополнительные сведения доступны в разделе <a class="link" href="kate-part-navigation.html" title="Навигация по тексту">Навигация по тексту</a> этой главы.</p><p>Чтобы <span class="action">скопировать</span> выделенный фрагмент текста, выберите пункт меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Копировать</span></span> или воспользуйтесь соответствующей комбинацией клавиш (по умолчанию <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>C</strong></span>).</p><p>Чтобы <span class="action">снять выделение</span>, выберите пункт меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Снять выделение</span></span> или воспользуйтесь соответствующей комбинацией клавиш (по умолчанию <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>A</strong></span>), или просто щёлкните левой кнопкой мыши в редакторе.</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="kate-part-selection-block"></a>Блочное выделение</h3></div></div></div><p>Когда режим блочного (вертикального) выделения включён, возможно выделить определённые столбцы символов в нескольких строках (проще говоря, выделить прямоугольный блок текста). Этот режим выделения может быть полезен, если строки разделены табуляцией.</p><p>Чтобы включить или отключить режим блочного выделения, выберите пункт меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Блочное выделение</span></span> или воспользуйтесь соответствующей комбинацией клавиш (по умолчанию <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>B</strong></span>).</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="kate-part-selection-overwrite"></a>Замена выделенного фрагмента</h3></div></div></div><p>Если режим замены выделенного фрагмента включён, любой ввод или вставка текста приведёт к замене выделенного к этому моменту текста на новый текст. Если этот режим отключён, новый текст будет добавлен в позиции текстового курсора.</p><p>По умолчанию режим замены выделенного фрагмента включён.</p><p>Включить или отключить этот режим возможно на <a class="link" href="config-dialog.html#pref-edit-cursor-selection" title="Навигация по тексту">странице «Редактирование»</a> <a class="link" href="config-dialog.html" title="Глава 7. Настройка KatePart">диалога настройки</a>.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="kate-part-selection-persistent"></a>Постоянное выделение</h3></div></div></div><p>Если режим постоянного выделения включён, ввод символов или перемещение текстового курсора не вызовет снятия выделения с ранее выделенного фрагмента. Это означает, что возможно перемещать курсор за пределы выделения и вводить текст.</p><p>По умолчанию режим постоянного выделения отключён.</p><p>Включить этот режим возможно на <a class="link" href="config-dialog.html#pref-edit-cursor-selection" title="Навигация по тексту">странице «Редактирование»</a> <a class="link" href="config-dialog.html" title="Глава 7. Настройка KatePart">диалога настройки</a>.</p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Предупреждение</h3><p>Если режимы постоянного выделения и замены выделенного фрагмента включены, ввод или вставка текста в позицию курсора, если последний находится в пределах выделенного фрагмента, вызовет его замену и снятие выделения.</p></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="kate-part-navigation.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="kate-part-copy-and-paste.html">След.</a></td></tr><tr><td class="prevCell">Навигация по тексту </td><td class="upCell">Работа с редактором <span class="application">KatePart</span></td><td class="nextCell"> Копирование и вставка текста</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="kate-part-copy-and-paste.html"><html><head><title>Копирование и вставка текста</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="kate-part.html" title="Глава 3. Работа с редактором KatePart"><link rel="prev" href="kate-part-selection.html" title="Работа с выделением"><link rel="next" href="kate-part-find-replace.html" title="Поиск и замена текста"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Копирование и вставка текста</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="kate-part-selection.html">Пред.</a></td><td class="upCell">Работа с редактором <span class="application">KatePart</span></td><td class="nextCell"><a accesskey="n" href="kate-part-find-replace.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="kate-part-copy-and-paste"></a>Копирование и вставка текста</h2></div></div></div><p>Чтобы скопировать текст, выделите его и выберите пункт меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Копировать</span></span>. Кроме того, выделенный с помощью мыши текст автоматически копируется в буфер выделения X-сервера.</p><p>Для вставки текста, находящегося в буфере обмена, выберите пункт меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Вставить</span></span>.</p><p>Текст, выделенный с помощью мыши, также возможно вставить щелчком средней кнопки мыши.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Подсказка</h3><p>Если используется рабочий стол <span class="orgname">KDE</span>, возможно выбрать ранее скопированный текст с помощью программы <span class="application">Klipper</span>, значок которой находится в системном лотке.</p></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="kate-part-selection.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="kate-part-find-replace.html">След.</a></td></tr><tr><td class="prevCell">Работа с выделением </td><td class="upCell">Работа с редактором <span class="application">KatePart</span></td><td class="nextCell"> Поиск и замена текста</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="kate-part-find-replace.html"><html><head><title>Поиск и замена текста</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="kate-part.html" title="Глава 3. Работа с редактором KatePart"><link rel="prev" href="kate-part-copy-and-paste.html" title="Копирование и вставка текста"><link rel="next" href="kate-part-bookmarks.html" title="Использование закладок"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Поиск и замена текста</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="kate-part-copy-and-paste.html">Пред.</a></td><td class="upCell">Работа с редактором <span class="application">KatePart</span></td><td class="nextCell"><a accesskey="n" href="kate-part-bookmarks.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="kate-part-find-replace"></a>Поиск и замена текста</h2></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="find-replace-bars"></a>Поиск и замена</h3></div></div></div><p>В <span class="application">KatePart</span> присутствует панель пошагового поиска, а также панель расширенного поиска и замены текста, в которой возможно ввести строку замены и указать несколько дополнительных параметров.</p><p>Следующие параметры являются общими:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Искать</span></span></span></dt><dd><p>Здесь следует ввести строку поиска. Интерпретация строки зависит от параметров, описание которых приводится далее.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">С учётом регистра</span></span></span></dt><dd><p>Если этот параметр включён, будет выполняться поиск только тех записей, которые соответствуют указанному регистру (верхнему или нижнему) всех символов шаблона поиска.</p></dd></dl></div><p>На панели расширенного поиска и замены доступны несколько дополнительных опций:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Обычный текст</span></span></span></dt><dd><p>Поиск буквальных совпадений со строкой поиска.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Только полные слова</span></span></span></dt><dd><p>Если выбрана эта опция, сопоставление будет положительным только в том случае, если с обеих сторон найденной строки будут стоять разделители слов (то есть не буквенно-цифровые символы, а любые другие отображаемые символы или конец строки).</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Управляющие последовательности</span></span></span></dt><dd><p>Если выбрана эта опция, в шаблон поиска будет возможно добавить управляющие последовательности из предустановленного списка. Для этого следует открыть контекстное меню поля ввода и выбрать последний пункт — <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Добавить</span></span> (он будет доступен после выбора этой опции).</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Регулярное выражение</span></span></span></dt><dd><p>Если выбрана эта опция, строка поиска интерпретируется как регулярное выражение. В шаблон поиска будет возможно добавить регулярные выражения из предустановленного списка. Для этого следует открыть контекстное меню поля ввода и выбрать последний пункт — <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Добавить</span></span> (он будет доступен после выбора этой опции).</p><p>Подробные сведения доступны в разделе <a class="link" href="regular-expressions.html" title="Приложение A. Регулярные выражения">Регулярные выражения</a>.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Искать только в выделенном фрагменте</span></span></span></dt><dd><p>Если этот параметр включён, поиск и замена будут выполняться только в пределах выделенного фрагмента текста.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Найти все</span></span></span></dt><dd><p>При нажатии этой кнопки все найденные в документе совпадения будут выделены, а в небольшом всплывающем окне будет показано их количество. </p></dd></dl></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="finding-text"></a>Поиск текста</h3></div></div></div><p>Чтобы начать поиск текста, откройте панель пошагового поиска с помощью комбинации клавиш <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>F</strong></span> или пункта меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Найти...</span></span>.</p><p>В нижней части окна редактора появится панель пошагового поиска. Слева от поля ввода текста расположена кнопка закрытия панели.</p><p>Поиск выполняется по мере ввода текста. Обнаруженные совпадения выделяются в тексте, при этом цвет фона поля ввода становится светло-зелёным. Если для поискового запроса не обнаружено совпадений, цвет фона поля ввода станет светло-красным.</p><p>Кнопки <span class="inlinemediaobject"><img src="arrow-up-double-22.png"></span> и <span class="inlinemediaobject"><img src="arrow-down-double-22.png"></span> позволяют перейти к следующему или предыдущему вхождению.</p><p>Обнаруженные в документе совпадения останутся выделенными даже после закрытия панели поиска. Чтобы снять это выделение, нажмите клавишу <span class="keycap"><strong>Esc</strong></span>.</p><p>Возможно указать, следует ли учитывать регистр при поиске. Если кнопка <span class="inlinemediaobject"><img src="format-text-superscript-22.png"></span> нажата, будет выполняться поиск только тех записей, которые соответствуют указанному регистру (верхнему или нижнему) всех символов шаблона поиска.</p><p>Чтобы перейти к панели расширенного поиска и замены, нажмите кнопку <span class="inlinemediaobject"><img src="configure-shortcuts-22.png"></span>, которая расположена с правой стороны панели пошагового поиска. </p><p>Если требуется повторить последний поисковый запрос (при наличии) без открытия панели пошагового поиска, воспользуйтесь пунктом меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Продолжить поиск</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>F3</strong></span></strong></span>) или <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Найти предыдущее</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>F3</strong></span></strong></span>). </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="replacing-text"></a>Замена текста</h3></div></div></div><p>Чтобы заменить текст, откройте панель расширенного поиска и замены с помощью пункта меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Заменить...</span></span> или комбинации клавиш <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>R</strong></span>.</p><p>Слева от панели расположена кнопка закрытия панели. Рядом с ней находится небольшое поле со списком, предназначенное для указания шаблона поиска. В этом поле сохраняется информация о последних использованных шаблонах.</p><p>Режимом поиска возможно управлять с помощью следующих параметров, которые доступны в раскрывающемся списке: <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Обычный текст</span></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Только полные слова</span></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Управляющие последовательности</span></span> и <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Регулярное выражение</span></span>. </p><p>Если выбрана опция <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Управляющие последовательности</span></span> или <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Регулярное выражение</span></span>, в конце контекстного меню поля ввода текста будет доступен пункт <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Добавить...</span></span>. С его помощью к шаблону поиска или замены возможно добавить управляющие последовательности или регулярные выражения из предустановленных списков.</p><p>Кнопки <span class="inlinemediaobject"><img src="arrow-up-double-22.png"></span> и <span class="inlinemediaobject"><img src="arrow-down-double-22.png"></span> позволяют перейти к следующему или предыдущему вхождению.</p><p>Введите текст, на который следует выполнить замену, в поле <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Заменить на</span></span> и нажмите кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Заменить</span></span> (будет заменено только текущее выделенное вхождение) <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Заменить все</span></span> (будут заменены все вхождения в документе). </p><p>Чтобы изменить поведение функции поиска и замены, возможно выбрать другие параметры (они доступны в нижней части панели). Если кнопка <span class="inlinemediaobject"><img src="format-text-superscript-22.png"></span> нажата, будет выполняться поиск только тех записей, которые соответствуют указанному регистру (верхнему или нижнему) всех символов шаблона поиска. Чтобы поиск и замена выполнялись только в пределах текущего выбранного фрагмента, должна быть нажата кнопка <span class="inlinemediaobject"><img src="edit-select-all-22.png"></span>. При нажатии кнопки <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Найти все</span></span> в документе будут выделены все вхождения и показано их количество. </p><p>Чтобы перейти к панели пошагового поиска, нажмите кнопку <span class="inlinemediaobject"><img src="configure-shortcuts-22.png"></span>, которая расположена с правой стороны панели расширенного поиска и замены. </p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Подсказка</h3><p>При использовании регулярных выражений в поиске и замене текста возможно добавлять обратные ссылки, чтобы использовать текст документа, совпавший с подвыражением, заключённым в скобки (собственно, это подвыражение и есть обратная ссылка).</p><p>Подробные сведения доступны в разделе <a class="link" href="regular-expressions.html" title="Приложение A. Регулярные выражения">Регулярные выражения</a>.</p></div><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Подсказка</h3><p>Команды <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>find</strong></span></span> (найти), <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>replace</strong></span></span> (заменить) и <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>ifind</strong></span></span> (пошаговый поиск) возможно выполнять из <a class="link" href="advanced-editing-tools-commandline.html" title="Командная строка компонента редактирования">командной строки</a>.</p></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="kate-part-copy-and-paste.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="kate-part-bookmarks.html">След.</a></td></tr><tr><td class="prevCell">Копирование и вставка текста </td><td class="upCell">Работа с редактором <span class="application">KatePart</span></td><td class="nextCell"> Использование закладок</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="kate-part-bookmarks.html"><html><head><title>Использование закладок</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="kate-part.html" title="Глава 3. Работа с редактором KatePart"><link rel="prev" href="kate-part-find-replace.html" title="Поиск и замена текста"><link rel="next" href="kate-part-auto-wrap.html" title="Автоматический перенос по словам"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Использование закладок</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="kate-part-find-replace.html">Пред.</a></td><td class="upCell">Работа с редактором <span class="application">KatePart</span></td><td class="nextCell"><a accesskey="n" href="kate-part-auto-wrap.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="kate-part-bookmarks"></a>Использование закладок</h2></div></div></div><p>Закладки позволяют отметить некоторые строки, чтобы потом было легко их найти.</p><p>Возможно установить или убрать закладку двумя способами:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Переместите курсор вставки на нужную строку и выберите пункт меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Закладки</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Поставить закладку</span></span> (<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>B</strong></span>).</p></li><li class="listitem"><p>Щёлкните по полосе закладок напротив нужной строки.</p></li></ul></div><p>Закладки доступны в меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Закладки</span></span>. Каждая из них представлена в виде отдельного пункта меню с названием, состоящем из номера строки и первых нескольких символов этой строки. Чтобы переместить курсор вставки на строку, отмеченную закладкой, откройте это меню и выберите нужную закладку.</p><p>Для быстрого перехода между закладками выберите пункт меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Закладки</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Следующая</span></span> (<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Page Down</strong></span>) или <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Закладки</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Предыдущая</span></span> (<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Page Up</strong></span>).</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="kate-part-find-replace.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="kate-part-auto-wrap.html">След.</a></td></tr><tr><td class="prevCell">Поиск и замена текста </td><td class="upCell">Работа с редактором <span class="application">KatePart</span></td><td class="nextCell"> Автоматический перенос по словам</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="kate-part-auto-wrap.html"><html><head><title>Автоматический перенос по словам</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="kate-part.html" title="Глава 3. Работа с редактором KatePart"><link rel="prev" href="kate-part-bookmarks.html" title="Использование закладок"><link rel="next" href="kate-part-autoindent.html" title="Использование автоматической расстановки отступов"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Автоматический перенос по словам</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="kate-part-bookmarks.html">Пред.</a></td><td class="upCell">Работа с редактором <span class="application">KatePart</span></td><td class="nextCell"><a accesskey="n" href="kate-part-autoindent.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="kate-part-auto-wrap"></a>Автоматический перенос по словам</h2></div></div></div><p>Эта функция позволяет отформатировать текст таким образом, чтобы ни одна строка не выходила за пределы определённой максимальной длины строки; для этого длинная строка разбивается на две или более строк, причём она разбивается на границе ближайших двух слов.</p><p>Чтобы включить или отключить эту функцию, установите или снимите флажок <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Переносить строки</span></span> на <a class="link" href="config-dialog.html#pref-word-wrap">странице «Редактирование»</a> <a class="link" href="config-dialog.html" title="Глава 7. Настройка KatePart">диалога настройки</a>.</p><p>Чтобы указать максимальную длину строки (в символах), воспользуйтесь параметром <a class="link" href="config-dialog.html#pref-wrap-words-at"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Переносить слова на новую строку после</span></span></a> на <a class="link" href="config-dialog.html#pref-edit" title="Редактирование">странице «Редактирование»</a> <a class="link" href="config-dialog.html" title="Глава 7. Настройка KatePart">диалога настройки</a>.</p><p>Если перенос строк включён, возможны следующие нежелательные последствия: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>При наборе редактор автоматически вставит разрыв строки при достижении максимальной длины строки.</p></li><li class="listitem"><p>При загрузке документа редактор автоматически разобьёт длинные строки на несколько строк нормальной длины (если они содержат пробелы — иначе перенос строк невозможен).</p></li></ul></div><p>

</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примечание</h3><p>В текущей версии программы невозможно установить перенос строк только для определённых типов файлов или хотя бы ограничить действие этого параметра на уровне документа. Это будет исправлено в будущих версиях <span class="application">KatePart</span>.</p></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="kate-part-bookmarks.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="kate-part-autoindent.html">След.</a></td></tr><tr><td class="prevCell">Использование закладок </td><td class="upCell">Работа с редактором <span class="application">KatePart</span></td><td class="nextCell"> Использование автоматической расстановки отступов</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="kate-part-autoindent.html"><html><head><title>Использование автоматической расстановки отступов</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="kate-part.html" title="Глава 3. Работа с редактором KatePart"><link rel="prev" href="kate-part-auto-wrap.html" title="Автоматический перенос по словам"><link rel="next" href="kate-part-line-modification.html" title="Маркеры изменённых строк"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Использование автоматической расстановки отступов</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="kate-part-auto-wrap.html">Пред.</a></td><td class="upCell">Работа с редактором <span class="application">KatePart</span></td><td class="nextCell"><a accesskey="n" href="kate-part-line-modification.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="kate-part-autoindent"></a>Использование автоматической расстановки отступов</h2></div></div></div><p>Компонент редактирования <span class="application">KatePart</span> поддерживает множество различных режимов автоматической расстановки отступов для разных форматов. Выбрать один из них возможно с помощью пункта меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Расстановка отступов</span></span>. Модуль расстановки отступов также предоставляет пункт меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Выровнять</span></span>, который пересчитывает отступ выделенного текста или текущей строки.</p><p>Во всех режимах отступа используются параметры текущего документа, связанные с расстановкой отступов.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Подсказка</h3><p>Все такие параметры возможно задать с помощью <a class="link" href="config-variables.html" title="Настройка с помощью переменных документа">переменных документа</a> и <a class="link" href="config-dialog.html#pref-open-save-modes-filetypes" title="Типы файлов">типов файлов</a>.</p></div><div class="variablelist"><p class="title"><b>Доступные режимы расстановки отступов</b></p><dl class="variablelist"><dt><span class="term">Без автоматического отступа</span></dt><dd><p>Полностью отключить автоматическую расстановку отступов.</p></dd><dt><span class="term">Обычный</span></dt><dd><p>Расстановка отступов аналогично предыдущей непустой строке. Этот режим возможно сочетать с установкой и отменой отступов вручную. </p></dd><dt><span class="term">Стиль C</span></dt><dd><p>Для исходных текстов на языке C и других подобных языках (C++, C#, <span class="trademark">Java</span>™, <span class="application">JavaScript</span> и так далее). Этот режим не будет работать со сценарными языками, такими как Perl или PHP.</p></dd><dt><span class="term">Haskell</span></dt><dd><p>Для языка функционального программирования Haskell. </p></dd><dt><span class="term">Lilypond</span></dt><dd><p>Для описания музыкальных нот на языке Lilypond. </p></dd><dt><span class="term">Lisp</span></dt><dd><p>Специально для сценариев на языке Lisp и диалектов Lisp. </p></dd><dt><span class="term">Python</span></dt><dd><p>Специально для сценариев на языке Python. </p></dd><dt><span class="term">Стиль XML</span></dt><dd><p>Специально для языков, близких к XML. </p></dd></dl></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="kate-part-auto-wrap.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="kate-part-line-modification.html">След.</a></td></tr><tr><td class="prevCell">Автоматический перенос по словам </td><td class="upCell">Работа с редактором <span class="application">KatePart</span></td><td class="nextCell"> Маркеры изменённых строк</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="kate-part-line-modification.html"><html><head><title>Маркеры изменённых строк</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="kate-part.html" title="Глава 3. Работа с редактором KatePart"><link rel="prev" href="kate-part-autoindent.html" title="Использование автоматической расстановки отступов"><link rel="next" href="kate-part-scrollbar-minimap.html" title="Мини-карта в полосе прокрутки"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Маркеры изменённых строк</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="kate-part-autoindent.html">Пред.</a></td><td class="upCell">Работа с редактором <span class="application">KatePart</span></td><td class="nextCell"><a accesskey="n" href="kate-part-scrollbar-minimap.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="kate-part-line-modification"></a>Маркеры изменённых строк</h2></div></div></div><p>Маркеры изменённых строк <span class="application">KatePart</span> позволяют сразу увидеть места последних изменений в файле. По умолчанию сохранённые изменения обозначаются зелёной полосой слева от документа, а несохранённые изменения — оранжевой полосой.</p><p>
</p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="line-modification-system.png"><div class="caption"><p>Использование маркеров изменённых строк.</p></div></div><p>
</p><p>Используемые цвета возможно изменить на странице <a class="link" href="config-dialog.html#prefcolors" title="Цветовые схемы"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Шрифты и цвета</span></span> диалога настройки</a>. Чтобы полностью отключить показ маркеров изменённых строк, следует снять соответствующий флажок на вкладке <a class="link" href="config-dialog.html#appearance-borders" title="Границы"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Границы</span></span> страницы <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Внешний вид</span></span> диалога настройки</a>.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="kate-part-autoindent.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="kate-part-scrollbar-minimap.html">След.</a></td></tr><tr><td class="prevCell">Использование автоматической расстановки отступов </td><td class="upCell">Работа с редактором <span class="application">KatePart</span></td><td class="nextCell"> Мини-карта в полосе прокрутки</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="kate-part-scrollbar-minimap.html"><html><head><title>Мини-карта в полосе прокрутки</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="kate-part.html" title="Глава 3. Работа с редактором KatePart"><link rel="prev" href="kate-part-line-modification.html" title="Маркеры изменённых строк"><link rel="next" href="the-menu-entries.html" title="Глава 4. Команды меню"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Мини-карта в полосе прокрутки</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="kate-part-line-modification.html">Пред.</a></td><td class="upCell">Работа с редактором <span class="application">KatePart</span></td><td class="nextCell"><a accesskey="n" href="the-menu-entries.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="kate-part-scrollbar-minimap"></a>Мини-карта в полосе прокрутки</h2></div></div></div><p><span class="application">KatePart</span> поддерживает отображение мини-карты в полосе прокрутки. Эта функция позволяет выполнять предварительный просмотр документа в окне, которое всплывает при наведении указателя мыши на мини-карту. Текущая видимая часть документа выделяется на мини-карте. </p><p>
</p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="minimap.png"><div class="caption"><p>Предварительный просмотр исходного кода <span class="application">Kate</span> с помощью мини-карты в полосе прокрутки. </p></div></div><p>
</p><p>Мини-карту возможно временно включить или отключить с помощью пункта меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Вид</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Мини-карта в полосе прокрутки</span></span>. Чтобы сделать это на постоянной основе, воспользуйтесь соответствующим флажком на <a class="link" href="config-dialog.html#appearance-borders" title="Границы">странице «Внешний вид» диалога настройки <span class="application">KatePart</span></a>.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="kate-part-line-modification.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="the-menu-entries.html">След.</a></td></tr><tr><td class="prevCell">Маркеры изменённых строк </td><td class="upCell">Работа с редактором <span class="application">KatePart</span></td><td class="nextCell"> Команды меню</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="keybindings.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="kate-part-navigation.html">След.</a></td></tr><tr><td class="prevCell">Комбинации клавиш </td><td class="upCell"> </td><td class="nextCell"> Навигация по тексту</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="the-menu-entries.html"><html><head><title>Глава 4. Команды меню</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="index.html" title="Руководство пользователя KatePart"><link rel="prev" href="kate-part-scrollbar-minimap.html" title="Мини-карта в полосе прокрутки"><link rel="next" href="edit-menu.html" title="Меню «Правка»"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Команды меню</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="kate-part-scrollbar-minimap.html">Пред.</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="edit-menu.html">След.</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="the-menu-entries"></a>Глава 4. Команды меню</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="file-menu"></a>Меню «Файл»</h2></div></div></div><div class="variablelist"><dl class="variablelist"><dt><a name="file-new"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Файл</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Создать</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>N</strong></span></strong></span>)</span></dt><dd><p>Создаёт новый документ в новом независимом окне редактора. </p></dd><dt><a name="file-open"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Файл</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Открыть...</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>O</strong></span></strong></span>)</span></dt><dd><p>Вызывает стандартное диалоговое окно <span class="orgname">KDE</span> <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Открыть файл</span></span>. Выберите нужный файл с помощью средства просмотра файлов и нажмите кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Открыть</span></span> для его открытия.</p></dd><dt><a name="file-open-recent"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Файл</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Последние файлы</span></span></span></dt><dd><p>Это быстрый способ открыть какой-либо из последних сохранённых документов. При выборе этого пункта меню появится список последних сохранённых файлов. Щёлкните по одному из них, чтобы открыть его в <span class="application">KatePart</span> (файл будет открыт, если его расположение не изменилось). </p></dd><dt><a name="file-save"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Файл</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Сохранить</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>S</strong></span></strong></span>)</span></dt><dd><p>Сохраняет текущий документ. Если он уже был сохранён, то старый файл будет перезаписан без предупреждения. Если документ сохраняется впервые, будет открыт диалог сохранения (подробнее об этом далее). </p></dd><dt><a name="file-save-as"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Файл</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Сохранить как...</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>S</strong></span></strong></span>)</span></dt><dd><p>Сохраняет документ в другой файл. Для этого используется диалоговое окно со списком файлов, описание которого приведено ранее в разделе <a class="link" href="the-menu-entries.html#file-open">Открыть</a>. </p></dd><dt><a name="file-save-as-encoding"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Файл</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Сохранить в другой кодировке...</span></span>
</span></dt><dd><p>Сохраняет документ в другой файл с другой кодировкой.</p></dd><dt><a name="file-save-copy-as"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Файл</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Сохранить копию как...</span></span></span></dt><dd><p>Сохраняет документ в другой файл; возможно продолжить редактировать оригинальный документ.</p></dd><dt><a name="file-reload"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Файл</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Обновить</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>F5</strong></span></strong></span>)
</span></dt><dd><p>Обновляет текущий файл. Эта команда удобна, если файл, открытый в <span class="application">KatePart</span>, был изменён другой программой. </p></dd><dt><a name="file-print"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Файл</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Печать...</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>P</strong></span></strong></span>)</span></dt><dd><p>Открывает диалог распечатки текущего документа, позволяющий пользователю указать параметры печати. </p></dd><dt><a name="file-export-as-html"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Файл</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Экспорт в HTML...</span></span></span></dt><dd><p>Сохраняет текущий документ в качестве файла <acronym class="acronym">HTML</acronym>, отформатированного согласно текущим параметрам подсветки синтаксиса и цветовой схемы.</p></dd><dt><a name="file-close"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Файл</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Закрыть</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>W</strong></span></strong></span>)</span></dt><dd><p>Закрывает текущий файл. Если файл был изменён со времени последнего сохранения, будет предложено сохранить его перед закрытием. </p></dd><dt><a name="file-quit"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Файл</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Выход</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Q</strong></span></strong></span>)</span></dt><dd><p>Закрывает окно редактора. Если были запущены другие экземпляры <span class="application">KatePart</span> (с помощью пунктов меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Создать</span></span> или <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Новое окно</span></span>), соответствующие окна не будут закрыты. </p></dd></dl></div></div><FILENAME filename="edit-menu.html"><html><head><title>Меню «Правка»</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="the-menu-entries.html" title="Глава 4. Команды меню"><link rel="prev" href="the-menu-entries.html" title="Глава 4. Команды меню"><link rel="next" href="view-menu.html" title="Меню «Вид»"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Меню «Правка»</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="the-menu-entries.html">Пред.</a></td><td class="upCell">Команды меню</td><td class="nextCell"><a accesskey="n" href="view-menu.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="edit-menu"></a>Меню «Правка»</h2></div></div></div><div class="variablelist"><dl class="variablelist"><dt><a name="edit-undo"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Отменить действие</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Z</strong></span></strong></span>)</span></dt><dd><p>Отменяет последнюю команду редактирования (ввод, копирование, вырезание и так далее).</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примечание</h3><p>Если включён режим группировки отмены, эта команда отменяет несколько однотипных команд вроде ввода символов.</p></div></dd><dt><a name="edit-redo"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Повторить</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>Z</strong></span></strong></span>)</span></dt><dd><p>Выполняет последнее отменённое действие.</p></dd><dt><a name="edit-cut"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Вырезать</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>X</strong></span></strong></span>)</span></dt><dd><p>Удаляет текущий выделенный фрагмент и помещает его в буфер обмена. Буфер обмена работает незаметно и позволяет передавать данные между приложениями.</p></dd><dt><a name="edit-copy"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Копировать</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>C</strong></span></strong></span>)</span></dt><dd><p>Копирует текущий выбранный текст в буфер обмена, чтобы его было возможно вставить в другое место. Буфер обмена работает незаметно и позволяет передавать данные между приложениями.</p></dd><dt><a name="edit-paste"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Вставить</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>V</strong></span></strong></span>)</span></dt><dd><p>Вставляет первый элемент из буфера обмена в позиции курсора. Буфер обмена работает незаметно и позволяет передавать данные между приложениями.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примечание</h3><p>Если включён режим замены выделенного фрагмента, вставленный текст заменит выделенный фрагмент (если он есть).</p></div></dd><dt><a name="edit-paste-selection"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Вставить выделенное</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>Ins</strong></span></strong></span>)</span></dt><dd><p>Будет вставлено содержимое ранее выбранного <a class="ulink" href="https://ru.wikipedia.org/wiki/%D0%91%D1%83%D1%84%D0%B5%D1%80_%D0%BE%D0%B1%D0%BC%D0%B5%D0%BD%D0%B0#%D0%9F%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80_%D1%81%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B8%D0%BC%D0%BE%D0%B3%D0%BE_%D0%B1%D1%83%D1%84%D0%B5%D1%80%D0%B0_%D0%BE%D0%B1%D0%BC%D0%B5%D0%BD%D0%B0_%D0%B2_%D0%9E%D0%A1_Windows" target="_top">выделения мышью</a>. Выделите какой-либо текст указателем мыши, чтобы вставить его в текущий открытый файл с помощью этого пункта меню.</p></dd><dt><a name="edit-swap-with-clipboard-contents"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Вставить с заменой буфера обмена выделением</span></span></span></dt><dd><p>Выделенный текст будет заменён содержимым <a class="ulink" href="https://ru.wikipedia.org/wiki/%D0%91%D1%83%D1%84%D0%B5%D1%80_%D0%BE%D0%B1%D0%BC%D0%B5%D0%BD%D0%B0#%D0%9F%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80_%D1%81%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B8%D0%BC%D0%BE%D0%B3%D0%BE_%D0%B1%D1%83%D1%84%D0%B5%D1%80%D0%B0_%D0%BE%D0%B1%D0%BC%D0%B5%D0%BD%D0%B0_%D0%B2_%D0%9E%D0%A1_Windows" target="_top">буфера обмена</a>.</p></dd><dt><a name="edit-clipboard-history"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">История буфера обмена</span></span></span></dt><dd><p>В этом вложенном меню будет отображаться начало фрагментов текста, недавно скопированных в буфер обмена. Чтобы вставить один из фрагментов в текущий открытый файл, выберите соответствующий пункт в этом вложенном меню.</p></dd><dt><a name="edit-copy-as-html"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Копировать в формате HTML</span></span></span></dt><dd><p>Сохраняет текущий документ в качестве файла <acronym class="acronym">HTML</acronym>, отформатированного согласно текущим параметрам подсветки синтаксиса и цветовой схемы.</p></dd><dt><a name="edit-select-all"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Выделить все</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>A</strong></span></strong></span>)</span></dt><dd><p>Выделяет весь текст в документе. Полезно, если требуется скопировать в другое приложение весь файл.</p></dd><dt><a name="edit-deselect"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Снять выделение</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>A</strong></span></strong></span>)</span></dt><dd><p>Снимает выделение с текста (если есть).</p></dd><dt><a name="edit-toggle-block-selection"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Блочное выделение</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>B</strong></span></strong></span>)</span></dt><dd><p>Переключает режим выделения. Когда установлен режим <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Блок</span></span> (он обозначается тестом «[Блок]» в строке состояния), возможно выполнять вертикальное выделение, например, выделить столбцы с пятого по десятый в строках 9-15.</p></dd><dt><a name="edit-input-modes"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Режимы ввода</span></span></span></dt><dd><p>Переключает между обычным режимом ввода и режимом Vi. В режиме ввода Vi поддерживаются наиболее часто используемые команды и движения из обычного и визуального режима vim и отображается дополнительная строка состояния режима Vi. Строка состояния показывает команды во время их ввода, вывод команд и текущий режим. Поведение этого режима возможно настроить на вкладке <a class="link" href="config-dialog.html#pref-edit-vi-input-mode" title="Режим ввода Vi">«Режим ввода Vi»</a> страницы <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">«Редактирование»</span></span> диалога настройки этого приложения.</p></dd><dt><a name="edit-overwrite-mode"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Режим замены</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ins</strong></span></strong></span>)</span></dt><dd><p>Переключает между режимами вставки и замены. Если включён режим <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">ВСТАВКА</span></span>, символы будут вставляться в позиции курсора. Если включён режим <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">ЗАМЕНА</span></span>, набираемые символы будут заменять текущие, если курсор расположен перед каким-либо символом. В строке состояния показан текущий режим: <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">ВСТАВКА</span></span> или <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">ЗАМЕНА</span></span>.</p></dd><dt><a name="edit-find"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu"> Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Найти...</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>F</strong></span></strong></span>)</span></dt><dd><p>Открывает панель поиска в нижней части окна редактора. Слева от поля ввода текста расположена кнопка закрытия панели.</p><p>Поиск выполняется по мере ввода текста. Обнаруженные совпадения выделяются в тексте, при этом цвет фона поля ввода становится светло-зелёным. Если для поискового запроса не обнаружено совпадений, цвет фона поля ввода станет светло-красным.</p><p>Кнопки <span class="inlinemediaobject"><img src="arrow-up-double-22.png"></span> и <span class="inlinemediaobject"><img src="arrow-down-double-22.png"></span> позволяют перейти к следующему или предыдущему вхождению.</p><p>Обнаруженные в документе совпадения останутся выделенными даже после закрытия панели поиска. Чтобы снять это выделение, нажмите клавишу <span class="keycap"><strong>Esc</strong></span>.</p><p>Возможно указать, следует ли учитывать регистр при поиске. Если кнопка <span class="inlinemediaobject"><img src="format-text-superscript-22.png"></span> нажата, будет выполняться поиск только тех записей, которые соответствуют указанному регистру (верхнему или нижнему) всех символов шаблона поиска. </p><p>Чтобы перейти к расширенной панели поиска и замены, нажмите кнопку <span class="inlinemediaobject"><img src="configure-shortcuts-22.png"></span>, которая расположена с правой стороны панели пошагового поиска. </p></dd><dt><a name="edit-find-next"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Варианты поиска</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Продолжить поиск</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>F3</strong></span></strong></span>)</span></dt><dd><p>Повторяет последний поисковый запрос (при наличии), не вызывая панель пошагового поиска; поиск начинается с текущей позиции курсора. </p></dd><dt><a name="edit-find-previous"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Варианты поиска</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Найти предыдущее</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>F3</strong></span></strong></span>)</span></dt><dd><p>Повторяет последний поисковый запрос (при наличии), не вызывая панель пошагового поиска; поиск начинается с текущей позиции курсора и выполняется в обратном направлении. </p></dd><dt><a name="edit-find-selected"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Варианты поиска</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Следующее вхождение выделенного текста</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>H</strong></span></strong></span>)</span></dt><dd><p>Находит следующее вхождение выделенного текста.</p></dd><dt><a name="edit-find-selected-backwards"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Варианты поиска</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Предыдущее вхождение выделенного текста</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>H</strong></span></strong></span>)</span></dt><dd><p>Находит предыдущее вхождение выделенного текста.</p></dd><dt><a name="edit-replace"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Заменить...</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>R</strong></span></strong></span>)</span></dt><dd><p>Открывает панель расширенного поиска и замены. Слева от поля ввода текста расположена кнопка закрытия панели.</p><p>Режимом поиска возможно управлять с помощью следующих параметров, которые доступны в раскрывающемся списке: <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Обычный текст</span></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Только полные слова</span></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Управляющие последовательности</span></span> и <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Регулярное выражение</span></span>. </p><p>Если выбрана опция <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Управляющие последовательности</span></span> или <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Регулярное выражение</span></span>, в конце контекстного меню поля ввода текста будет доступен пункт <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Добавить...</span></span>. С его помощью к шаблону поиска или замены возможно добавить управляющие последовательности или регулярные выражения из предустановленных списков.</p><p>Кнопки <span class="inlinemediaobject"><img src="arrow-up-double-22.png"></span> и <span class="inlinemediaobject"><img src="arrow-down-double-22.png"></span> позволяют перейти к следующему или предыдущему вхождению.</p><p>Введите текст, на который следует выполнить замену, в поле <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Заменить на</span></span> и нажмите кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Заменить</span></span> (будет заменено только текущее выделенное вхождение) <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Заменить все</span></span> (будут заменены все вхождения в документе). </p><p>Чтобы изменить поведение функции поиска и замены, возможно выбрать другие параметры (они доступны в нижней части панели). Если кнопка <span class="inlinemediaobject"><img src="format-text-superscript-22.png"></span> нажата, будет выполняться поиск только тех записей, которые соответствуют указанному регистру (верхнему или нижнему) всех символов шаблона поиска. Чтобы поиск и замена выполнялись только в пределах текущего выбранного фрагмента, должна быть нажата кнопка <span class="inlinemediaobject"><img src="edit-select-all-22.png"></span>. При нажатии кнопки <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Найти все</span></span> в документе будут выделены все вхождения и показано их количество. </p><p>Чтобы перейти к панели пошагового поиска, нажмите кнопку <span class="inlinemediaobject"><img src="configure-shortcuts-22.png"></span>, которая расположена с правой стороны панели расширенного поиска и замены. </p></dd><dt><a name="edit-go-to-matching-bracket"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Перейти</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">На открывающую/закрывающую скобку</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>6</strong></span></strong></span>)</span></dt><dd><p>Перемещает курсор к парной открывающей или закрывающей скобке.</p></dd><dt><a name="edit-select-to-matching-bracket"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Перейти</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Выделить до открывающей/закрывающей скобки</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>6</strong></span></strong></span>)</span></dt><dd><p>Выделяет текст между парными открывающей и закрывающей скобками.</p></dd><dt><a name="edit-go-to-previous-modified-line"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Перейти</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Перейти к предыдущей изменённой строке</span></span></span></dt><dd><p>Строки, в которые были внесены изменения с момента открытия файла, называются изменёнными строками. Это действие позволяет перейти к предыдущей изменённой строке. </p></dd><dt><a name="edit-go-to-next-modified-line"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Перейти</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Перейти к следующей изменённой строке</span></span></span></dt><dd><p>Строки, в которые были внесены изменения с момента открытия файла, называются изменёнными строками. Это действие позволяет перейти к следующей изменённой строке. </p></dd><dt><a name="edit-edit-go-to-line"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Перейти</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Перейти на строку...</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>G</strong></span></strong></span>)</span></dt><dd><p>Открывает панель строки перехода в нижней части окна и переводит курсор на указанный пользователем номер строки в документе. Номер строки возможно ввести вручную или выбрать с помощью стрелок в правой части поля ввода. Маленькая стрелка вверх увеличивает число, маленькая стрелка вниз — уменьшает. Чтобы закрыть панель, нажмите на кнопку, расположенную в её левой части. </p></dd></dl></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="the-menu-entries.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="view-menu.html">След.</a></td></tr><tr><td class="prevCell">Команды меню </td><td class="upCell">Команды меню</td><td class="nextCell"> Меню «Вид»</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="view-menu.html"><html><head><title>Меню «Вид»</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="the-menu-entries.html" title="Глава 4. Команды меню"><link rel="prev" href="edit-menu.html" title="Меню «Правка»"><link rel="next" href="bookmarks-menu.html" title="Меню «Закладки»"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Меню «Вид»</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="edit-menu.html">Пред.</a></td><td class="upCell">Команды меню</td><td class="nextCell"><a accesskey="n" href="bookmarks-menu.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="view-menu"></a>Меню «Вид»</h2></div></div></div><div class="variablelist"><dl class="variablelist"><dt><a name="view-new-window"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Вид</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Новое окно</span></span></span></dt><dd><p>Создаёт новое окно с текущим документом. Все изменения документа, выполненные в одном из окон, также отображаются и в другом.</p></dd><dt><a name="view-command-line"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Вид</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Командная строка</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>F7</strong></span></strong></span>)</span></dt><dd><p>Отображает командную строку <span class="application">KatePart</span> в нижней части окна. Чтобы получить справочную информацию, введите <strong class="userinput"><code>help</code></strong>, а чтобы получить список команд — <strong class="userinput"><code>help list</code></strong>. Дополнительные сведения о командной строке доступны в разделе <a class="link" href="advanced-editing-tools-commandline.html" title="Командная строка компонента редактирования">Командная строка компонента редактирования</a>.</p></dd><dt><a name="view-enlarge-font"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Вид</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Увеличить размер шрифта</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>+</strong></span></strong></span>)</span></dt><dd><p>Увеличивает размер шрифта текста документа</p></dd><dt><a name="view-shrink-font"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Вид</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Уменьшить размер шрифта</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>-</strong></span></strong></span>)</span></dt><dd><p>Уменьшает размер шрифта текста документа.</p></dd><dt><a name="view-schema"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Вид</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Схема</span></span></span></dt><dd><p>Это меню содержит доступные схемы. Здесь возможно изменить схему для текущего документа. Чтобы изменить схему по умолчанию, откройте <a class="ulink" href="help:/katepart/config-dialog-editor.html#prefcolors" target="_top">страницу «Шрифты и цвета»</a> диалога настройки.</p></dd><dt><a name="view-dynamic-word-wrap"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Вид</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Перенос строк</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Динамический перенос строк</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>F10</strong></span></strong></span>)</span></dt><dd><p>Включает или отключает динамический перенос строк текущего документа. При динамическом переносе текст в окне возможно просматривать без горизонтального прокручивания, то есть строка, непрерывная на самом деле, для удобства делится на несколько.</p></dd><dt><a name="view-dynamic-word-wrap-indicators"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Вид</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Перенос строк</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Маркеры динамического переноса строк</span></span></span></dt><dd><p>Позволяет выбрать, когда и как должны показываться маркеры динамического переноса строк. Список доступен только в том случае, если включён параметр <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Динамический перенос строк</span></span>.</p></dd><dt><a name="view-show-statik-word-wrap-markers"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Вид</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Перенос строк</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Маркеры статического переноса строк</span></span></span></dt><dd><p>Если этот параметр включён, на столбце с переносимыми строками будет показана вертикальная линия (настраивается с помощью пункта меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Настройка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Настроить редактор...</span></span> на вкладке «Редактирование»). Обратите внимание, маркер будет виден только в том случае, если используется моноширинный шрифт.</p></dd><dt><a name="view-show-icon-border"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Вид</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Границы</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Полоса закладок</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>F6</strong></span></strong></span>)</span></dt><dd><p>Это переключаемый элемент. Если флажок установлен, в левой части активной области редактирования будет показана полоса закладок, которая обозначает позиции отмеченных в редакторе строк.</p></dd><dt><a name="view-show-line-numbers"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Вид</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Границы</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Номера строк</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>F11</strong></span></strong></span>)</span></dt><dd><p>Это переключаемый элемент. Если флажок установлен, слева от текста будут показаны номера строк.</p></dd><dt><a name="view-scrollbar-marks"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Вид</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Границы</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Отметки на полосе прокрутки</span></span></span></dt><dd><p>Если флажок установлен, то на полосе вертикальной прокрутки текущего окна будут видны маркеры. Эти маркеры показывают положение закладок в тексте.</p></dd><dt><a name="view-border-show-scrollbar-minimap"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Вид</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Границы</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Мини-карта в полосе прокрутки</span></span></span></dt><dd><p>Заменяет полосу прокрутки визуализацией текущего документа. Более подробные сведения о мини-карте в полосе прокрутки: <a class="xref" href="kate-part-scrollbar-minimap.html" title="Мини-карта в полосе прокрутки">«Мини-карта в полосе прокрутки»</a>.</p></dd><dt><a name="view-code-folding"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Вид</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Сворачивание блоков кода</span></span></span></dt><dd><p>Эти параметры позволяют настроить <a class="ulink" href="help:/katepart/advanced-editing-tools-code-folding.html" target="_top">сворачивание блоков кода</a>:</p><div class="variablelist"><dl class="variablelist"><dt><a name="view-show-folding-markers"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Полоса сворачивания блоков</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>F9</strong></span></strong></span>)</span></dt><dd><p>Позволяет включать и отключать отображение полосы сворачивания блоков в левой части области просмотра.</p></dd><dt><a name="view-fold-current-node"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Свернуть текущий блок кода</span></span></span></dt><dd><p>Сворачивает ближайший к курсору блок.</p></dd><dt><a name="view-unfold-current-node"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Развернуть текущий блок кода</span></span></span></dt><dd><p>Разворачивает ближайший к курсору блок.</p></dd><dt><a name="view-fold-toplevel-nodes"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Свернуть блоки 1-го уровня</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>-</strong></span></strong></span>)</span></dt><dd><p>Сворачивает все блоки верхнего уровня в документе. Чтобы развернуть блоки верхнего уровня, нажмите треугольник, который указывает вправо.</p></dd><dt><a name="view-unfold-toplevel-nodes"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Развернуть блоки 1-го уровня</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>+</strong></span></strong></span>)</span></dt><dd><p>Разворачивает все блоки верхнего уровня в документе.</p></dd></dl></div></dd><dt><a name="view-show-non-printable-spaces"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Показать непечатаемые пробелы</span></span></span></dt><dd><p>Показывает или скрывает рамку вокруг непечатаемых пробельных символов.</p></dd></dl></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="edit-menu.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="bookmarks-menu.html">След.</a></td></tr><tr><td class="prevCell">Меню «Правка» </td><td class="upCell">Команды меню</td><td class="nextCell"> Меню «Закладки»</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="bookmarks-menu.html"><html><head><title>Меню «Закладки»</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="the-menu-entries.html" title="Глава 4. Команды меню"><link rel="prev" href="view-menu.html" title="Меню «Вид»"><link rel="next" href="tools-menu.html" title="Меню «Сервис»"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Меню «Закладки»</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="view-menu.html">Пред.</a></td><td class="upCell">Команды меню</td><td class="nextCell"><a accesskey="n" href="tools-menu.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="bookmarks-menu"></a>Меню «Закладки»</h2></div></div></div><p>Под пунктами меню, описание которых приводится далее, доступны пункты самих закладок. Текст каждого такого пункта — это номер и несколько символов строки, на которую указывает эта закладка. При выборе пункта меню закладки курсор перейдёт на начало отмеченной строки. Редактор автоматически выполнит прокрутку текста, если эта строка не видна.</p><div class="variablelist"><dl class="variablelist"><dt><a name="bookmarks-set-bookmark"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Закладки</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Поставить закладку</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>B</strong></span></strong></span>)</span></dt><dd><p>Устанавливает или удаляет закладку для текущей строки активного документа (если закладки не было, она устанавливается, если была — удаляется).</p></dd><dt><a name="bookmarks-clear-bookmarks"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Закладки</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Убрать все закладки</span></span></span></dt><dd><p>Убирает все закладки из документа и из списка, который располагается в конце этого меню. </p></dd><dt><a name="bookmarks-bookmarks-previous"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Закладки</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Предыдущая</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Page Up</strong></span></strong></span>)</span></dt><dd><p>Перемещает курсор к ближайшей предыдущей закладке. Пункт меню будет содержать номер строки и начало текста на ней. Этот пункт доступен, только если выше курсора есть строка с закладкой.</p></dd><dt><a name="bookmarks-bookmarks-next"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Закладки</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Следующая</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Page Down</strong></span></strong></span>)</span></dt><dd><p>Перемещает курсор к ближайшей следующей закладке. Пункт меню будет содержать номер строки и начало текста на ней. Этот пункт доступен, только если ниже курсора есть строка с закладкой.</p></dd></dl></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="view-menu.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="tools-menu.html">След.</a></td></tr><tr><td class="prevCell">Меню «Вид» </td><td class="upCell">Команды меню</td><td class="nextCell"> Меню «Сервис»</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="tools-menu.html"><html><head><title>Меню «Сервис»</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="the-menu-entries.html" title="Глава 4. Команды меню"><link rel="prev" href="bookmarks-menu.html" title="Меню «Закладки»"><link rel="next" href="settings-help-menu.html" title="Меню «Настройка» и «Справка»"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Меню «Сервис»</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="bookmarks-menu.html">Пред.</a></td><td class="upCell">Команды меню</td><td class="nextCell"><a accesskey="n" href="settings-help-menu.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="tools-menu"></a>Меню «Сервис»</h2></div></div></div><div class="variablelist"><dl class="variablelist"><dt><a name="tools-read-only"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Заблокировать изменение текста</span></span></span></dt><dd><p>Устанавливает режим «только для чтения» для текущего документа, тем самым предохраняя его от любых возможных изменений.</p></dd><dt><a name="tools-filetype"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Тип документа</span></span></span></dt><dd><p>Позволяет выбрать тип файла для текущего документа. Переопределяет глобальный тип файла, указанный с помощью пункта меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Настройка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Настроить редактор...</span></span> на вкладке «Типы файлов», но только для текущего документа.</p></dd><dt><a name="tools-highlighting"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Подсветка</span></span></span></dt><dd><p>Позволяет выбрать нестандартную схему подсветки для текущего документа. Переопределяет глобальный режим подсветки, указанный с помощью пункта меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Настройка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Настроить редактор...</span></span>, но только для текущего документа.</p></dd><dt><a name="tools-indentation"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Расстановка отступов</span></span></span></dt><dd><p>Позволяет выбрать  режим отступов для текущего документа. Переопределяет глобальный режим отступов, указанный с помощью пункта меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Настройка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Настроить редактор...</span></span>, но только для текущего документа.</p></dd><dt><a name="tools-encoding"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Кодировка</span></span></span></dt><dd><p>Позволяет выбрать для текущего документа кодировку, отличную от указанной с помощью пункта меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Настройка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Настроить редактор...</span></span> на вкладке <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Открытие и сохранение</span></span>.</p></dd><dt><a name="tools-end-of-line"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Конец строки</span></span></span></dt><dd><p>Позволяет выбрать режим конца строки для текущего документа. Переопределяет глобальный режим конца строки, заданный с помощью пункта меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Настройка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Настроить редактор...</span></span>, но только для текущего документа.</p></dd><dt><a name="tools-add-byte-mark-order"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Добавлять отметку о порядке байтов (BOM)</span></span></span></dt><dd><p>Позволяет явным образом добавить маркер последовательности байтов в документах, закодированных в формате Юникод. Маркер последовательности байтов — это символ из стандарта Юникод, используемый для обозначения порядка байтов в текстовом файле или потоке. Дополнительные сведения: <a class="ulink" href="https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%80%D0%BA%D0%B5%D1%80_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%B1%D0%B0%D0%B9%D1%82%D0%BE%D0%B2" target="_top">Маркер последовательности байтов</a>.</p></dd><dt><a name="tools-scripts"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span></span></dt><dd><p>Это вложенное меню содержит список сценариев. Возможно также <a class="link" href="dev-scripting.html#dev-scripting-command-line" title="Сценарии командной строки">написать собственные сценарии</a>. Это позволяет расширить функционал <span class="application">KatePart</span> инструментами, определёнными пользователем. </p><div class="variablelist"><dl class="variablelist"><dt><a name="tools-scripts-navigation"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Навигация</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><a name="tools-scripts-navigation-previous-indent"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Навигация</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Перейти к предыдущему такому же отступу</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keysym">Стрелка вверх</span></strong></span>)</span></dt><dd><p>Перемещает курсор к первой строке над текущей, которая имеет тот же уровень отступа, что и текущая. </p></dd><dt><a name="tools-scripts-navigation-next-indent"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Навигация</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Перейти к следующему такому же отступу</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keysym">Стрелка вниз</span></strong></span>)</span></dt><dd><p>Перемещает курсор к первой строке под текущей, которая имеет тот же уровень отступа, что и текущая. </p></dd></dl></div></dd><dt><a name="tools-scripts-editing"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Редактирование</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><a name="tools-scripts-editing-sort"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Редактирование</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Отсортировать выделенный текст</span></span></span></dt><dd><p>Упорядочивает выделенный текст или весь документ по возрастанию. </p></dd><dt><a name="tools-scripts-editing-move-down"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Редактирование</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Переместить строки ниже</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keysym">Стрелка вниз</span></strong></span>)</span></dt><dd><p>Переместить выделенные строки ниже. </p></dd><dt><a name="tools-scripts-editing-move-up"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Редактирование</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Переместить строки выше</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keysym">Стрелка вверх</span></strong></span>)</span></dt><dd><p>Переместить выделенные строки выше. </p></dd><dt><a name="tools-scripts-editing-dupe-down"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Редактирование</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Продублировать выделенные строки ниже</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keysym">Стрелка вниз</span></strong></span>)</span></dt><dd><p>Дублирует выделенные строки ниже. </p></dd><dt><a name="tools-scripts-editing-dupe-up"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Редактирование</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Продублировать выделенные строки выше</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keysym">Стрелка вверх</span></strong></span>)</span></dt><dd><p>Дублирует выделенные строки выше. </p></dd><dt><a name="tools-scripts-editing-uri-encode"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Редактирование</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Закодировать выделенный текст в формат URI</span></span></span></dt><dd><p>Кодирует выделенный текст таким образом, чтобы его было возможно использовать как часть строки запроса URL-адреса. Выделенный текст заменяется закодированным. </p></dd><dt><a name="tools-scripts-editing-uri-decode"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Редактирование</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Декодировать выделенный текст в формате URI</span></span></span></dt><dd><p>Если выделена часть строки запроса URL-адреса, она будет декодирована. Выделенный фрагмент заменяется исходным необработанным текстом. </p></dd></dl></div></dd><dt><a name="tools-scripts-emmet"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Emmet</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><a name="tools-scripts-emmet-expand-abbreviation"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Emmet</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Развернуть сокращение</span></span></span></dt><dd><p>Преобразует выделенный текст в пару открывающих и закрывающих тегов <acronym class="acronym">HTML</acronym> или <acronym class="acronym">XML</acronym>. Например, если выбрано <strong class="userinput"><code>div</code></strong>, этот элемент будет заменён на <code class="computeroutput">&lt;div&gt;&lt;/div&gt;</code>. </p></dd><dt><a name="tools-scripts-emmet-wrap-with-tag"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Emmet</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Обернуть в тег</span></span></span></dt><dd><p>Оборачивает выделенный текст в тег, указанный в <a class="link" href="dev-scripting.html#dev-scripting-command-line" title="Сценарии командной строки">командной строке</a>. </p></dd><dt><a name="tools-scripts-emmet-move-cursor-to-matching-tag"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Emmet</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Переместить курсор к соответствующему тегу</span></span></span></dt><dd><p>Если курсор находится внутри открывающего тега <acronym class="acronym">HTML</acronym>/<acronym class="acronym">XML</acronym>, он будет перемещён к закрывающему тегу. Если же курсор находится внутри закрывающего тега, он будет перемещён к открывающему тегу. </p></dd><dt><a name="tools-scripts-emmet-select-tag-inwards"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Emmet</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Выделить содержимое тега <acronym class="acronym">HTML</acronym>/<acronym class="acronym">XML</acronym>, перемещаясь внутрь</span></span></span></dt><dd><p>Если курсор находится внутри пары тегов <acronym class="acronym">HTML</acronym>/<acronym class="acronym">XML</acronym>, выделение также будет включать и содержимое этих тегов <acronym class="acronym">HTML</acronym>/<acronym class="acronym">XML</acronym> (не включая сами теги). </p></dd><dt><a name="tools-scripts-emmet-select-tag-outwards"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Emmet</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Выделить содержимое тега <acronym class="acronym">HTML</acronym>/<acronym class="acronym">XML</acronym>, перемещаясь наружу</span></span></span></dt><dd><p>Если курсор находится внутри пары тегов <acronym class="acronym">HTML</acronym>/<acronym class="acronym">XML</acronym>, выделение также будет включать и содержимое этих тегов <acronym class="acronym">HTML</acronym>/<acronym class="acronym">XML</acronym> (включая сами теги). </p></dd><dt><a name="tools-scripts-emmet-toggle-comment"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Emmet</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Закомментировать или раскомментировать</span></span></span></dt><dd><p>Если выделенный текст не является комментарием, он будет обозначен как комментарий <acronym class="acronym">HTML</acronym>/<acronym class="acronym">XML</acronym> (например, <code class="computeroutput">&lt;!-- выделенный текст --&gt;</code>). Если выделенный текст является комментарием, то соответствующие теги будут удалены. </p></dd><dt><a name="tools-scripts-emmet-toggle-delete-tag"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Emmet</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Удалить тег под курсором</span></span></span></dt><dd><p>Если курсор находится внутри тега <acronym class="acronym">HTML</acronym>/<acronym class="acronym">XML</acronym>, этот тег будет удалён целиком. </p></dd><dt><a name="tools-scripts-emmet-decrement-number-by-1"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Emmet</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Уменьшить число на 1</span></span></span></dt><dd><p>Если выделенный текст является числом, из него будет вычтена единица. Например, если выделено <strong class="userinput"><code>5</code></strong>, результатом будет <code class="computeroutput">4</code>. </p></dd><dt><a name="tools-scripts-emmet-decrement-number-by-10"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Emmet</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Уменьшить число на 10</span></span></span></dt><dd><p>Если выделенный текст является числом, из него будет вычтено 10. Например, если выделено <strong class="userinput"><code>15</code></strong>, результатом будет <code class="computeroutput">5</code>. </p></dd><dt><a name="tools-scripts-emmet-decrement-number-by-0_1"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Emmet</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Уменьшить число на 0,1</span></span></span></dt><dd><p>Если выделенный текст является числом, из него будет вычтено 0,1. Например, если выделено <strong class="userinput"><code>4,5</code></strong>, результатом будет <code class="computeroutput">4,4</code>. </p></dd><dt><a name="tools-scripts-emmet-increment-number-by-1"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Emmet</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Увеличить число на 1</span></span></span></dt><dd><p>Если выделенный текст является числом, к нему будет прибавлена единица. Например, если выделено <strong class="userinput"><code>5</code></strong>, результатом будет <code class="computeroutput">6</code>. </p></dd><dt><a name="tools-scripts-emmet-increment-number-by-10"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Emmet</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Увеличить число на 10</span></span></span></dt><dd><p>Если выделенный текст является числом, к нему будет прибавлено 10. Например, если выделено <strong class="userinput"><code>5</code></strong>, результатом будет <code class="computeroutput">15</code>. </p></dd><dt><a name="tools-scripts-emmet-increment-number-by-0_1"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Emmet</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Увеличить число на 0,1</span></span></span></dt><dd><p>Если выделенный текст является числом, к нему будет прибавлено 0,1. Например, если выделено <strong class="userinput"><code>4,5</code></strong>, результатом будет <code class="computeroutput">4,6</code>. </p></dd></dl></div></dd></dl></div></dd><dt><a name="tools-invoke-code-completition"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Дополнить код</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Пробел</strong></span></strong></span>)</span></dt><dd><p>Вручную вызывает функцию дополнения кода (обычно это выполняется с помощью соответствующей комбинации клавиш).</p></dd><dt><a name="tools-word-completition"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Автодополнение слов</span></span></span></dt><dd><p>При выборе пункта <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Использовать нижестоящее слово</span></span> (<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>9</strong></span>) или <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Использовать вышестоящее слово</span></span> (<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>8</strong></span>) для дополнения введённой на данный момент части слова будет выполняться поиск похожих слов в направлении вниз или вверх от текущей позиции курсора. При выборе пункта <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Автодополнение как в командной оболочке</span></span> появится окно с совпадающими записями.</p></dd><dt><a name="spelling-automatic-spell-checking"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Орфография</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Автоматическая проверка орфографии</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>O</strong></span></strong></span>)</span></dt><dd><p>Если параметр <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Автоматическая проверка орфографии</span></span> включён, неправильно написанное слово будет подчёркнуто сразу же.</p></dd><dt><a name="spelling-spelling"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Орфография</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Проверка орфографии...</span></span></span></dt><dd><p><span class="action">Запускает программу проверки орфографии, которая позволяет пользователю найти и исправить орфографические ошибки.</span> При выборе этого пункта меню будет запущена проверка и открыт диалог управления её ходом. В этом диалоге присутствуют следующие параметры:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Неизвестное слово:</span></span></span></dt><dd><p>Слово, в котором, возможно, содержится ошибка. На самом деле ошибки может и не быть, просто такого слова нет в словаре (с содержимым которого модуль сравнивает каждое проверяемое слово) модуля.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Заменить на:</span></span></span></dt><dd><p>Если в словаре есть слова, похожие на ошибочное, здесь будет показано первое из совпадений. Возможно принять исправление, ввести свой вариант или выбрать из списка другой вариант.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Язык:</span></span></span></dt><dd><p>Если установлено несколько словарей, здесь возможно выбрать, какой из них следует использовать.</p></dd></dl></div><p>В правой части диалога расположены 6 кнопок управления проверкой орфографии:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Добавить в словарь</span></span></span></dt><dd><p>Добавить <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">неизвестное слово</span></span> в словарь модуля. Это значит, что при следующих запусках проверки слово будет считаться правильным.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Похожие слова</span></span></span></dt><dd><p>Список возможных замен слова с ошибкой. Если щёлкнуть по одному из вариантов, он появится в поле <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Заменить на</span></span>.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Заменить</span></span></span></dt><dd><p>Подтвердить замену неизвестного слова текстом из поля <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Заменить на</span></span>.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Заменить все</span></span></span></dt><dd><p>Не только заменить текущее неизвестное слово на слово в поле <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Заменить на</span></span>, но и автоматически выполнить аналогичную замену для всех остальных вхождений этого неизвестного слова.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Игнорировать</span></span></span></dt><dd><p>Продолжить поиск ошибок, не меняя неизвестное слово.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Игнорировать везде</span></span></span></dt><dd><p>Пропустить текущее <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">неизвестное слово</span></span> и поступать аналогичным образом со всеми такими же словами в документе.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примечание</h3><p>Применяется только для текущего сеанса проверки орфографии. При следующем запуске снова будет предложено заменить это слово.</p></div></dd></dl></div><p>Ещё три кнопки расположены по горизонтали, в нижней части диалога проверки орфографии:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Справка</span></span></span></dt><dd><p>Открывает справочную систему <span class="orgname">KDE</span> на странице справки к этому диалогу.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Готово</span></span></span></dt><dd><p>Завершает процесс проверки орфографии (сохраняя все исправления).</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Отмена</span></span></span></dt><dd><p>Прерывает проверку орфографии (<span class="emphasis"><em>не</em></span> сохраняя исправления).</p></dd></dl></div></dd><dt><a name="tools-spelling-from-cursor"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Орфография</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Проверка орфографии от курсора...</span></span></span></dt><dd><p>Запускает программу проверки орфографии, но начинает проверку с позиции курсора (а не с начала документа).</p></dd><dt><a name="tools-spellcheck-selection"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Орфография</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Проверка орфографии в выделенном фрагменте...</span></span></span></dt><dd><p>Проверяет орфографию в выделенном фрагменте текста.</p></dd><dt><a name="tools-change-dictionary"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Орфография</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Выбрать словарь...</span></span></span></dt><dd><p>Отображает в нижней части окна редактора поле с раскрывающимся списком всех доступных словарей для проверки орфографии. Это поле позволяет легко переключаться между орфографическими словарями, например, для автоматической проверки орфографии в тексте на разных языках.</p></dd><dt><a name="tools-cleanindent"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Привести отступы в порядок</span></span></span></dt><dd><p>Убирает все отступы в выделенном фрагменте текста или в строке, на которой находится курсор. Это действие будет осуществлено с учётом выбранного режима расстановки отступов.</p></dd><dt><a name="tools-align"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Выровнять</span></span></span></dt><dd><p>Заново выравнивает текущую строку или строки в выделенном фрагменте согласно правилам отступа для документа.</p></dd><dt><a name="tools-comment"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Закомментировать</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>D</strong></span></strong></span>)</span></dt><dd><p>Добавляет знак комментария, отделённый от начала текста в строке пробелом.</p></dd><dt><a name="tools-uncomment"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Раскомментировать</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>D</strong></span></strong></span>)</span></dt><dd><p>Удаляет знак комментария и пробел, которым этот знак отделялся от начала текста в строке.</p></dd><dt><a name="tools-uppercase"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Перевести в ВЕРХНИЙ РЕГИСТР</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>U</strong></span></strong></span>)</span></dt><dd><p>Переводит выделенный текст (или букву под курсором) в верхний регистр.</p></dd><dt><a name="tools-lowercase"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Перевести в нижний регистр</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>U</strong></span></strong></span>)</span></dt><dd><p>Переводит выделенный текст (или букву под курсором) в нижний регистр.</p></dd><dt><a name="tools-capitalize"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Перевести в регистр Как в предложениях</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>U</strong></span></strong></span>)</span></dt><dd><p>Переводит заглавные буквы выделенного текста в верхний регистр.</p></dd><dt><a name="tools-join-lines"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Объединить строки</span></span> (<span class="shortcut"><strong><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>J</strong></span></strong></span>)</span></dt><dd><p>Объединяет выделенные строки (или текущую строку с расположенной ниже) в одну, разделяя их пробелом. Пробелы в начале и конце строк удаляются.</p></dd><dt><a name="tools-word-wrap-document"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Выполнить перенос строк</span></span></span></dt><dd><p>Включает статический перенос строк в документе. Символ новой строки будет вставлен автоматически, когда текущая строка достигнет длины, указанной на вкладке <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Переносить слова на новую строку после</span></span> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Настройка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Настроить редактор...</span></span>).</p></dd></dl></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="bookmarks-menu.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="settings-help-menu.html">След.</a></td></tr><tr><td class="prevCell">Меню «Закладки» </td><td class="upCell">Команды меню</td><td class="nextCell"> Меню «Настройка» и «Справка»</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="settings-help-menu.html"><html><head><title>Меню «Настройка» и «Справка»</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="the-menu-entries.html" title="Глава 4. Команды меню"><link rel="prev" href="tools-menu.html" title="Меню «Сервис»"><link rel="next" href="advanced-editing-tools.html" title="Глава 5. Дополнительные возможности редактирования"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Меню «Настройка» и «Справка»</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="tools-menu.html">Пред.</a></td><td class="upCell">Команды меню</td><td class="nextCell"><a accesskey="n" href="advanced-editing-tools.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="settings-help-menu"></a>Меню «Настройка» и «Справка»</h2></div></div></div><p>В приложении <span class="application">KatePart</span> присутствуют стандартные меню <span class="orgname">KDE</span>: <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Настройка</span></span> и <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Справка</span></span>. Дополнительные сведения доступны в разделе справки «Основы <span class="orgname">KDE</span>» (подразделы <a class="ulink" href="help:/fundamentals/menus.html#menus-settings" target="_top">Меню «Настройка»</a> и <a class="ulink" href="help:/fundamentals/menus.html#menus-help" target="_top">Меню «Справка»</a>). </p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="tools-menu.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="advanced-editing-tools.html">След.</a></td></tr><tr><td class="prevCell">Меню «Сервис» </td><td class="upCell">Команды меню</td><td class="nextCell"> Дополнительные возможности редактирования</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="kate-part-scrollbar-minimap.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="edit-menu.html">След.</a></td></tr><tr><td class="prevCell">Мини-карта в полосе прокрутки </td><td class="upCell"> </td><td class="nextCell"> Меню «Правка»</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="advanced-editing-tools.html"><html><head><title>Глава 5. Дополнительные возможности редактирования</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="index.html" title="Руководство пользователя KatePart"><link rel="prev" href="settings-help-menu.html" title="Меню «Настройка» и «Справка»"><link rel="next" href="advanced-editing-tools-commandline.html" title="Командная строка компонента редактирования"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Дополнительные возможности редактирования</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="settings-help-menu.html">Пред.</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="advanced-editing-tools-commandline.html">След.</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="advanced-editing-tools"></a>Глава 5. Дополнительные возможности редактирования</h1></div><div><div class="authorgroup"><p class="author"><span class="firstname">Anders</span> <span class="surname">Lund</span> <code class="email">&lt;anders@alweb.dk&gt;</code></p><p class="author"><span class="firstname">Dominik</span> <span class="surname">Haumann</span> <code class="email">&lt;dhdev@gmx.de&gt;</code></p><span class="othercredit"><span class="contrib">Перевод на русский язык</span>: <span class="firstname">Андрей</span> <span class="surname">Балагута</span><br></span><span class="othercredit"><span class="contrib">Перевод на русский язык</span>: <span class="firstname">Алексей</span> <span class="surname">Опарин</span><br></span><span class="othercredit"><span class="contrib">Обновление перевода</span>: <span class="firstname">Олеся</span> <span class="surname">Герасименко</span><br></span></div></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="advanced-editing-tools-comment"></a>Комментирование</h2></div></div></div><p>Команды <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Закомментировать</span></span> и <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Раскомментировать</span></span>, которые доступны в меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span>, позволяют добавить или убрать маркеры комментариев для выделенного блока текста (или для текущей строки, если текст не выделен) при условии, что комментарии поддерживаются форматом редактируемого текста.</p><p>Правила комментирования определяются синтаксисом; таким образом, если подсветка синтаксиса не включена, то команды «Закомментировать» и «Раскомментировать» будут недоступны. </p><p>Некоторые форматы поддерживают только однострочные маркеры комментариев, другие — только многострочные, третьи — и те, и другие. Если многострочные маркеры недоступны, то комментирование блока, в котором не до конца выделена последняя строка, будет невозможным.</p><p>Предпочтение отдаётся комментированию отдельных строк однострочными маркерами, если последние допустимы синтаксисом и если такое комментирование возможно — это помогает избежать проблем со вложенными комментариями.</p><p>При удалении маркеров комментариев выделение снимается с раскомментированного текста. При удалении маркеров многострочного комментария пробелы снаружи маркеров игнорируются.</p><p><a class="indexterm" name="idm2744"></a> Чтобы закомментировать выделенный текст (или текущую строку), выберите пункт меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Закомментировать</span></span> или воспользуйтесь соответствующей комбинацией клавиш (по умолчанию <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>D</strong></span>).</p><p><a class="indexterm" name="idm2753"></a> Чтобы удалить маркеры комментариев, выберите пункт меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Раскомментировать</span></span> или воспользуйтесь соответствующей комбинацией клавиш ( по умолчанию <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>D</strong></span>).</p></div><FILENAME filename="advanced-editing-tools-commandline.html"><html><head><title>Командная строка компонента редактирования</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="advanced-editing-tools.html" title="Глава 5. Дополнительные возможности редактирования"><link rel="prev" href="advanced-editing-tools.html" title="Глава 5. Дополнительные возможности редактирования"><link rel="next" href="advanced-editing-tools-code-folding.html" title="Использование сворачивания кода"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Командная строка компонента редактирования</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="advanced-editing-tools.html">Пред.</a></td><td class="upCell">Дополнительные возможности редактирования</td><td class="nextCell"><a accesskey="n" href="advanced-editing-tools-code-folding.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="advanced-editing-tools-commandline"></a>Командная строка компонента редактирования</h2></div></div></div><p>Компонент редактирования <span class="application">KatePart</span> имеет встроенную командную строку, позволяющую производить различные действия, оставляя интерфейс минималистичным. Она представляет собой поле ввода в нижней части области редактора. Чтобы получить доступ к командной строке, выберите пункт меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Вид</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Командная строка</span></span> или нажмите клавишу <span class="keycap"><strong>F7</strong></span> (по умолчанию). Описание доступных команд приводится далее. Кроме того, в модулях могут быть доступны дополнительные команды.</p><p>Для выполнения команды введите её и нажмите клавишу Enter. На месте команды будет выведено сообщение об успешном её выполнении или об ошибке. Если командная строка была вызвана с помощью клавиши <span class="keycap"><strong>F7</strong></span>, она будет автоматически скрыта по прошествии нескольких секунд. Чтобы убрать сообщение и ввести новую команду, нажмите клавишу <span class="keycap"><strong>F7</strong></span> ещё раз.</p><p>Чтобы получить справку, введите команду <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>help</strong></span></span>. Для получения списка всех доступных команд введите команду <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>help list</strong></span></span>, для просмотра справки по определённой команде — <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>help <span class="replaceable"><em class="replaceable"><code>команда</code></em></span></strong></span></span>.</p><p>В командной строке имеется встроенный журнал введённых команд, который позволяет использовать их повторно. Для перехода от одной команды к другой воспользуйтесь клавишами со стрелками <span class="keycap"><strong>Вверх</strong></span> и <span class="keycap"><strong>Вниз</strong></span>. При отображении команды из журнала её аргументы будут выделены, так что заменить их на другие легко.</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="advanced-editing-tools-commandline-commands"></a>Стандартные команды</h3></div></div></div><div class="variablelist"><p class="title"><b>Типы аргументов</b></p><dl class="variablelist"><dt><span class="term">BOOLEAN</span></dt><dd><p>Используется для команд включения или отключения. Допустимые значения: <strong class="userinput"><code>on</code></strong>, <strong class="userinput"><code>off</code></strong>, <strong class="userinput"><code>true</code></strong>, <strong class="userinput"><code>false</code></strong>, <strong class="userinput"><code>1</code></strong> или <strong class="userinput"><code>0</code></strong></p></dd><dt><span class="term">INTEGER</span></dt><dd><p>Целое число.</p></dd><dt><span class="term">STRING</span></dt><dd><p>Строка, заключённая в одинарные (') кавычки (или двойные (") кавычки, если она содержит пробелы).</p></dd></dl></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="advanced-editing-tools-commandline-commands-configure"></a>Параметры редактора</h4></div></div></div><p>Эти команды предоставляются компонентом редактирования и позволяют настроить только текущие документ и представление. Удобно, если требуется установить параметры, отличные от стандартных (например, отступ). </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>set-tab-width</strong></span></span> {INTEGER width}</p></div></span></dt><dd><p>Устанавливает ширину табуляции.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>set-indent-width</strong></span></span> {INTEGER width}</p></div></span></dt><dd><p>Устанавливает ширину отступа. Только при создании отступов пробелами.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>set-word-wrap-column</strong></span></span> {INTEGER width}</p></div></span></dt><dd><p>Устанавливает максимальную длину строк в случае, если включён автоматический перенос.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>set-icon-border</strong></span></span> {BOOLEAN enable}</p></div></span></dt><dd><p>Устанавливает видимость полосы отметок.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>set-folding-markers</strong></span></span> {BOOLEAN enable}</p></div></span></dt><dd><p>Устанавливает видимость маркеров сворачивания блоков кода.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>set-line-numbers</strong></span></span> {BOOLEAN enable}</p></div></span></dt><dd><p>Устанавливает видимость нумерации строк.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>set-replace-tabs</strong></span></span> {BOOLEAN enable}</p></div></span></dt><dd><p>Заменять при вводе символы табуляции на пробелы. </p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>set-remove-trailing-space</strong></span></span> {BOOLEAN enable}</p></div></span></dt><dd><p>Удалять пробелы в конце строки при снятии с неё курсора.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>set-show-tabs</strong></span></span> [BOOLEAN enable]</p></div></span></dt><dd><p>Представлять символы табуляции и пробельное пространство в конце строк маленькими точками.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>set-show-indent</strong></span></span> {BOOLEAN enable}</p></div></span></dt><dd><p>Представлять отступы вертикальной пунктирной линией.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>set-indent-spaces</strong></span></span> {BOOLEAN enable}</p></div></span></dt><dd><p>Вставлять заданное количество пробелов для каждого уровня отступа, вместо одного символа табуляции.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>set-mixed-indent</strong></span></span> {BOOLEAN enable}</p></div></span></dt><dd><p>Использовать для отступов как символы табуляции, так и пробелы. Это реализуется путём замены пробелов в количестве, кратном ширине символа табуляции, на последние.</p><p>Эта команда также включит расстановку отступов пробелами и установит ширину отступов, если она не указана, в половину значения <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="option"><code class="option">tab-width</code></span> (для текущего документа во время выполнения).</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>set-word-wrap</strong></span></span> {BOOLEAN enable}</p></div></span></dt><dd><p>Выполнять динамический перенос строк.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>set-replace-tabs-save</strong></span></span> {BOOLEAN enable }</p></div></span></dt><dd><p>Заменять символы табуляции на пробелы при сохранении.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>set-remove-trailing-space-save</strong></span></span> {BOOLEAN enable}</p></div></span></dt><dd><p>Удалить пробелы в конце строк при сохранении.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>set-indent-mode</strong></span></span> {STRING name}</p></div></span></dt><dd><p>Выбрать режим расстановки отступов. Параметр <strong class="userinput"><code>name</code></strong> может иметь следующие значения: «none», «normal», «cstyle», «haskell», «lilypond», «lisp», «python», «ruby» или «xml». При указании других значений используется «none».</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>set-auto-ident</strong></span></span> {BOOLEAN script}</p></div></span></dt><dd><p>Включить или отключить автоматическую расстановку отступов.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>set-highlight</strong></span></span> {STRING highlight}</p></div></span></dt><dd><p>Выбрать формат для подсветки синтаксиса (один из содержащихся в меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Подсветка</span></span>). Доступно также автозавершение параметра.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>reload-scripts</strong></span></span></p></div></span></dt><dd><p>Перезагрузить <a class="link" href="dev-scripting.html" title="Написание сценариев JavaScript">сценарии <span class="application">JavaScript</span></a>, которые используются <span class="application">Kate</span>, включая сценарии расстановки отступов и сценарии командной строки.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>set-mode</strong></span></span> {STRING mode}</p></div></span></dt><dd><p>Выбрать тип файла для текущего документа. </p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>nn[oremap]</strong></span></span> {STRING original} {STRING mapped}</p></div></span></dt><dd><p>Сопоставить комбинацию клавиш <strong class="userinput"><code>original</code></strong> комбинации <strong class="userinput"><code>mapped</code></strong>.</p></dd></dl></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="advanced-editing-tools-commandline-commands-edit"></a>Команды редактирования</h4></div></div></div><p>Команды, которые непосредственно изменяют текущий документ.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>indent</strong></span></span></p></div></span></dt><dd><p>Подставить отступы к выделенным строкам или к текущей.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>unindent</strong></span></span></p></div></span></dt><dd><p>Снять отступы с выделенных строк или с текущей.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>cleanindent</strong></span></span></p></div></span></dt><dd><p>Очистить отступы в выделенных строках или в текущей в соответствии с параметрами расстановки отступов для текущего документа. </p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>comment</strong></span></span></p></div></span></dt><dd><p>Вставить маркеры, отмечающие выделенные строки или текущую как комментарии, в соответствии с форматом текущего файла (определяется способом подсветки синтаксиса).</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>uncomment</strong></span></span></p></div></span></dt><dd><p>Удалить маркеры, отмечающие выделенные строки или текущую как комментарии, в соответствии с форматом текущего файла (определяется способом подсветки синтаксиса).</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>kill-line</strong></span></span></p></div></span></dt><dd><p>Удалить текущую строку.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>replace</strong></span></span> { STRING pattern} {STRING replacement}</p></div></span></dt><dd><p>Заменить текст, совпадающий с <strong class="userinput"><code>pattern</code></strong>, на <strong class="userinput"><code>replacement</code></strong>. Чтобы включить в <strong class="userinput"><code>pattern</code></strong> пробелы, следует заключить в двойные или одинарные кавычки и <strong class="userinput"><code>pattern</code></strong>, и <strong class="userinput"><code>replacement</code></strong>. Если аргументы не заключены в кавычки, первое слово будет принято за <strong class="userinput"><code>pattern</code></strong>, а остальное — за <strong class="userinput"><code>replacement</code></strong>. Если не указать <strong class="userinput"><code>replacement</code></strong>, все вхождения <strong class="userinput"><code>pattern</code></strong> будут удалены.</p><p>Для настройки параметров поиска следует указать соответствующие флаги после двоеточия (<strong class="userinput"><code>replace:options pattern replacement</code></strong>). Возможные параметры: </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><strong class="userinput"><code>b</code></strong></span></dt><dd><p>Искать в обратном направлении.</p></dd><dt><span class="term"><strong class="userinput"><code>c</code></strong></span></dt><dd><p>Искать от позиции курсора.</p></dd><dt><span class="term"><strong class="userinput"><code>e</code></strong></span></dt><dd><p>Искать только в выделенном тексте.</p></dd><dt><span class="term"><strong class="userinput"><code>r</code></strong></span></dt><dd><p>Аргумент <strong class="userinput"><code>pattern</code></strong> — регулярное выражение. Возможно использовать <strong class="userinput"><code>\N</code></strong> в <strong class="userinput"><code>replacement</code></strong> для получения энной подстроки найденного текста.</p></dd><dt><span class="term"><strong class="userinput"><code>s</code></strong></span></dt><dd><p>С учётом регистра.</p></dd><dt><span class="term"><strong class="userinput"><code>p</code></strong></span></dt><dd><p>Запрашивать у пользователя подтверждение каждой замены.</p></dd><dt><span class="term"><strong class="userinput"><code>w</code></strong></span></dt><dd><p>Только целые слова.</p></dd></dl></div><p>

</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>date</strong></span></span> {STRING format}</p></div></span></dt><dd><p>Вставить строку с датой/временем в указанном формате (задаётся параметром <strong class="userinput"><code>format</code></strong>). Если параметр не указан, используется формат <span class="quote">«<span class="quote">yyyy-MM-dd hh:mm:ss</span>»</span>. Доступны следующие подстановки: </p><div class="informaltable"><table class="informaltable" border="1"><colgroup><col><col></colgroup><tbody><tr><td><code class="literal">d</code></td><td>Номер дня в месяце без ведущего нуля (1-31).</td></tr><tr><td><code class="literal">dd</code></td><td>Номер дня в месяце с ведущим нулём (01-31).</td></tr><tr><td><code class="literal">ddd</code></td><td>Сокращённое локализованное название дня недели («пн»...«вс»).</td></tr><tr><td><code class="literal">dddd</code></td><td>Полное локализованное название дня недели («понедельник»...«воскресенье»).</td></tr><tr><td><code class="literal">M</code></td><td>Номер месяца без ведущего нуля (1-12).</td></tr><tr><td><code class="literal">MM</code></td><td>Номер месяца с ведущим нулём (01-12).</td></tr><tr><td><code class="literal">MMMM</code></td><td>Полное локализованное название месяца («января»...«декабря»).</td></tr><tr><td><code class="literal">MMM</code></td><td>Сокращённое локализованное название месяца («янв.»...«дек.»).</td></tr><tr><td><code class="literal">yy</code></td><td>Год двумя цифрами (00-99).</td></tr><tr><td><code class="literal">yyyy</code></td><td>Год четырьмя цифрами (1752-8000).</td></tr><tr><td><code class="literal">h</code></td><td>Час без ведущего нуля (0...23 или 1...12, в зависимости от параметра формата часов).</td></tr><tr><td><code class="literal">hh</code></td><td>Час с ведущим нулём (00...23 или 01...12, в зависимости от параметра формата часов).</td></tr><tr><td><code class="literal">m</code></td><td>Минуты без ведущего нуля (0...59).</td></tr><tr><td><code class="literal">mm</code></td><td>Минуты с ведущим нулём (00...59).</td></tr><tr><td><code class="literal">s</code></td><td>Секунды без ведущего нуля (0...59).</td></tr><tr><td><code class="literal">ss</code></td><td>Секунды с ведущим нулём (00...59).</td></tr><tr><td><code class="literal">z</code></td><td>Миллисекунды без ведущих нулей (0...999).</td></tr><tr><td><code class="literal">zzz</code></td><td>Миллисекунды с ведущими нулями (000...999).</td></tr><tr><td><code class="literal">AP</code></td><td>Использовать 12-часовой формат часов. AP будет заменено на «AM» или «PM».</td></tr><tr><td><code class="literal">ap</code></td><td>Использовать 12-часовой формат часов. ap будет заменено на «am» или «pm».</td></tr></tbody></table></div><p>

</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>char</strong></span></span> {STRING identifier}</p></div></span></dt><dd><p>Эта команда позволяет вставить символ по его числовому идентификатору в десятичной, восьмеричной или шестнадцатеричной системах счисления. Чтобы использовать её, откройте командную строку и наберите <strong class="userinput"><code>char [числовой_идентификатор]</code></strong>.</p><div class="example"><a name="idm3164"></a><p class="title"><b>Пример 5.1. Примеры использования команды <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command">char</span></span></b></p><div class="example-contents"><p>Введите: <strong class="userinput"><code>char 234</code></strong></p><p>Получите: <code class="computeroutput">ê</code></p><p>Введите: <strong class="userinput"><code>char 0x1234</code></strong></p><p>Получите: <code class="computeroutput">ሴ</code></p></div></div><br class="example-break"></dd><dt><span class="term">
<a class="indexterm" name="idm3177"></a><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>s///[ig]</strong></span></span> <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>%s///[ig]</strong></span></span></span></dt><dd><p>Попробуем разобраться в этих двух sed-подобных командах. Первая выполняет поиск/замену в текущей строке, вторая — во всём файле (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>%s///</strong></span></span>).</p><p>Команды производят поиск текста, заданного <span class="emphasis"><em>маской поиска</em></span> (регулярным выражением между первой и второй наклонной чертой) и, при нахождении, замену на выражение, которое задано между второй и третьей чертой. Круглые скобки в маске поиска позволяют задать подстроки в найденном тексте, на которые возможно потом ссылаться в выражении замены. Обратная ссылка — это регулярное выражение, которое при совпадении заменяется на фактический текст и может быть использовано в шаблоне замены. Для этого необходимо поставить в нужном месте обратную черту, а за ней указать номер подстроки по порядку (<strong class="userinput"><code>\1</code></strong> — для первой пары скобок, <strong class="userinput"><code>\2</code></strong> — для второй и так далее).</p><p>Чтобы искать сами скобки <code class="literal">(</code> или <code class="literal">)</code>, следует предварить их обратной чертой: <strong class="userinput"><code>\(\)</code></strong></p><p>Если в самом конце указать <strong class="userinput"><code>i</code></strong>, поиск будет выполняться с учётом регистра, а если <strong class="userinput"><code>g</code></strong> — будут заменены все вхождения текста, совпадающего с регулярным выражением (иначе — только первое).</p><div class="example"><a name="idm3196"></a><p class="title"><b>Пример 5.2. Замена текста в текущей строке</b></p><div class="example-contents"><p>Предположим, что получено сообщение об ошибке компиляции: класс <code class="classname">myClass</code>, упомянутый в строке 3902, не определён.</p><p>Добравшись до строки 3902, вместо того, чтобы пытаться найти слово <code class="classname">MyClass</code> в тексте, возможно просто открыть диалоговое окно «Команда правки», ввести <strong class="userinput"><code>s/myclass/MyClass/i</code></strong>, нажать кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">OK</span></span>, сохранить файл и выполнить компиляцию — успешно и без ошибок.</p></div></div><br class="example-break"><div class="example"><a name="idm3204"></a><p class="title"><b>Пример 5.3. Замена текста во всём файле</b></p><div class="example-contents"><p>Предположим, что имеется файл, в котором несколько раз упомянута <span class="quote">«<span class="quote">госпожа Иванова</span>»</span>. Но вдруг стало известно, что она вышла замуж за господина по фамилии <span class="quote">«<span class="quote">Петров</span>»</span>, в связи с чем требуется заменить все упоминания о госпоже Ивановой на текст <span class="quote">«<span class="quote">госпожа Петрова</span>»</span>.</p><p>Вызовите командную строку и введите следующий текст: <strong class="userinput"><code>%s/госпожа Иванова/госпожа Петрова/</code></strong> — и всё будет готово.</p></div></div><br class="example-break"><div class="example"><a name="idm3212"></a><p class="title"><b>Пример 5.4. Более сложный пример</b></p><div class="example-contents"><p>Этот пример показывает, как пользоваться <span class="emphasis"><em>обратными ссылками</em></span> и <span class="emphasis"><em>классами символов</em></span> (сведения о том, что это такое, доступны в документации, которая упоминается далее).</p><p>Допустим, набрана такая строка: </p><pre class="programlisting">void MyClass::DoStringOps( String      &amp;foo, String &amp;bar, String *p, int  &amp;a, int &amp;b )</pre><p>
</p><p>Предположим, что этот код недостаточно «красив» и решено использовать ключевое слово <code class="constant">const</code> с параметрами, передаваемыми по ссылке (теми, перед которыми стоит амперсанд), а также удалить лишние пробелы.</p><p>Откройте диалоговое окно «Команда правки» и введите: <strong class="userinput"><code>s/\s+(\w+)\s+(&amp;)/ const \1 \2/g</code></strong>, затем нажмите кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">OK</span></span>. Символ <strong class="userinput"><code>g</code></strong> в конце команды указывает компилятору «пересчитывать» регулярное выражение обратной ссылки каждый раз, когда встречаются совпадения.</p><p>Вывод: <code class="computeroutput">void MyClass::DoStringOps( const String &amp;foo, const String &amp;bar, String *p, const int &amp;a, const int &amp;b )</code></p><p>Всё готово! Что было сделано? Выполнялся поиск некоторого количества пробелов (<code class="literal">\s+</code>), за которыми следуют один или несколько буквенных символов (<code class="literal">\w+</code>), за которыми находятся пробелы (<code class="literal">\s+</code>), после которых расположен амперсанд, и в процессе эти буквенные символы и амперсанд сохранялись для использования в операции замены. После этого совпадающие части строки были заменены следующей последовательностью: один пробел, за которым следует спецификатор <span class="quote">«<span class="quote">const</span>»</span>, за ним ещё один пробел, после которого ранее сохранённые символы (<code class="literal">\1</code>), ещё один пробел и сохранённый амперсанд (<code class="literal">\2</code>)</p><p>В одних случаях буквенные символы составили слово <span class="quote">«<span class="quote">String</span>»</span>, в других — слово <span class="quote">«<span class="quote">int</span>»</span>, то есть символьный класс <code class="literal">\w</code> с последующим знаком <code class="literal">+</code> определяет символьный набор произвольной длины.</p></div></div><br class="example-break"></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>sort</strong></span></span></p></div></span></dt><dd><p>Упорядочить выделенный текст или весь документ.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>natsort</strong></span></span></p></div></span></dt><dd><p>Упорядочить выделенные строки или весь документ в естественном порядке.</p><div class="example"><a name="idm3251"></a><p class="title"><b>Пример 5.5. <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command">sort</span></span> в сравнении с <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command">natsort</span></span></b></p><div class="example-contents"><p><strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>sort</strong></span></span>(a10, a1, a2)</code></strong>: результатом будет <code class="computeroutput">a1, a10, a2</code></p><p><strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>natsort</strong></span></span>(a10, a1, a2)</code></strong>: результатом будет <code class="computeroutput">a1, a2, a10</code></p></div></div><br class="example-break"></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>moveLinesDown</strong></span></span></p></div></span></dt><dd><p>Переместить выделенные строки ниже.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>moveLinesUp</strong></span></span></p></div></span></dt><dd><p>Переместить выделенные строки выше.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>uniq</strong></span></span></p></div></span></dt><dd><p>Удалить дубликаты строк из выделенного текста или всего документа.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>rtrim</strong></span></span></p></div></span></dt><dd><p>Удалить пробелы в конце строк из выделенного текста или всего документа.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>ltrim</strong></span></span></p></div></span></dt><dd><p>Удалить пробелы в начале строк из выделенного текста или всего документа.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>join</strong></span></span> [STRING separator]</p></div></span></dt><dd><p>Объединить выделенные строки или весь документ. Возможно указать параметр, который определяет разделитель, например: <strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>join</strong></span></span> ', '</code></strong> </p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>rmblank</strong></span></span></p></div></span></dt><dd><p>Удалить все пробелы из выделенного текста или всего документа.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>unwrap</strong></span></span></p></div></span></dt><dd><p>Отключить перенос строк выделенного текста или всего документа.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>each</strong></span></span> {STRING script}</p></div></span></dt><dd><p>Вызвать указанную в качестве аргумента функцию <span class="application">JavaScript</span> для списка выделенных строк и заменить их возвращаемым значением этого обратного вызова.</p><div class="example"><a name="idm3322"></a><p class="title"><b>Пример 5.6. Объединить выделенные строки</b></p><div class="example-contents"><p><strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>each</strong></span></span> 'function(lines){return lines.join(", ")}' </code></strong></p><p>Или более краткий вариант:</p><p><strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>each</strong></span></span> 'lines.join(", ")'</code></strong></p></div></div><br class="example-break"></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>filter</strong></span></span> {STRING script}</p></div></span></dt><dd><p>Вызвать указанную в качестве аргумента функцию <span class="application">JavaScript</span> для списка выделенных строк и удалить те, для которых этот обратный вызов возвращает значение false.</p><div class="example"><a name="idm3339"></a><p class="title"><b>Пример 5.7. Удалить пустые строки</b></p><div class="example-contents"><p><strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>filter</strong></span></span> 'function(1){return 1.length 
&gt; 0;}' </code></strong></p><p>Или более краткий вариант:</p><p><strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>filter</strong></span></span> 'line.length 
&gt; 0'</code></strong></p></div></div><br class="example-break"></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>map</strong></span></span> {STRING script}</p></div></span></dt><dd><p>Вызвать указанную в качестве аргумента функцию <span class="application">JavaScript</span> для списка выделенных строк и заменить строку значением этого обратного вызова.</p><div class="example"><a name="idm3356"></a><p class="title"><b>Пример 5.8. Удалить пустые строки</b></p><div class="example-contents"><p><strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>map</strong></span></span> 'function(line){return line.replace(/^s+/,"");}' </code></strong></p><p>Или более краткий вариант:</p><p><strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>map</strong></span></span> 'line.replace(/^s+/,"")'</code></strong></p></div></div><br class="example-break"></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>duplicateLinesUp</strong></span></span></p></div></span></dt><dd><p>Дублировать выделенные строки над текущим выделенным текстом.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>duplicateLinesDown</strong></span></span></p></div></span></dt><dd><p>Дублировать выделенные строки под текущим выделенным текстом.</p></dd></dl></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="advanced-editing-tools-commandline-commands-navigation"></a>Команды навигации</h4></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>goto</strong></span></span> {INT line}</p></div></span></dt><dd><p>Перейти к указанной строке.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>grep</strong></span></span> {STRING pattern}</p></div></span></dt><dd><p>Выполнить поиск регулярного выражения <strong class="userinput"><code>pattern</code></strong> в документе. Дополнительные сведения: <a class="xref" href="regular-expressions.html" title="Приложение A. Регулярные выражения">Приложение A, <i>Регулярные выражения</i></a>.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>find</strong></span></span> {STRING pattern}</p></div></span></dt><dd><p>Перейти к первому вхождению, заданному параметром <strong class="userinput"><code>pattern</code></strong>. Последующие вхождения возможно найти с помощью пункта меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Продолжить поиск</span></span> (клавиша по умолчанию — <span class="keycap"><strong>F3</strong></span>).</p><p>Параметры команды поиска возможно настраивать с помощью добавления двоеточия и флагов после её имени (<strong class="userinput"><code>find:options pattern</code></strong>). Возможные параметры:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><strong class="userinput"><code>b</code></strong></span></dt><dd><p>Искать в обратном направлении.</p></dd><dt><span class="term"><strong class="userinput"><code>c</code></strong></span></dt><dd><p>Искать от позиции курсора.</p></dd><dt><span class="term"><strong class="userinput"><code>e</code></strong></span></dt><dd><p>Искать только в выделенном тексте.</p></dd><dt><span class="term"><strong class="userinput"><code>r</code></strong></span></dt><dd><p>Аргумент <strong class="userinput"><code>pattern</code></strong> — регулярное выражение. Возможно использовать <strong class="userinput"><code>\N</code></strong> в <strong class="userinput"><code>replacement</code></strong> для получения энной подстроки найденного текста.</p></dd><dt><span class="term"><strong class="userinput"><code>s</code></strong></span></dt><dd><p>С учётом регистра.</p></dd><dt><span class="term"><strong class="userinput"><code>w</code></strong></span></dt><dd><p>Только целые слова.</p></dd></dl></div></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>ifind</strong></span></span> {STRING pattern}</p></div></span></dt><dd><p>Поиск <span class="quote">«<span class="quote">по мере набора</span>»</span>. Для настройки параметров поиска следует указать один или несколько флагов после двоеточия: <strong class="userinput"><code>ifind:options pattern</code></strong>. Допустимые параметры: </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><strong class="userinput"><code>b</code></strong></span></dt><dd><p>Искать в обратном направлении.</p></dd><dt><span class="term"><strong class="userinput"><code>r</code></strong></span></dt><dd><p>Поиск по регулярному выражению.</p></dd><dt><span class="term"><strong class="userinput"><code>s</code></strong></span></dt><dd><p>С учётом регистра.</p></dd><dt><span class="term"><strong class="userinput"><code>c</code></strong></span></dt><dd><p>Искать от позиции курсора.</p></dd></dl></div><p>
</p></dd></dl></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="advanced-editing-tools-commandline-commands-basic"></a>Команды базовых функций редактора (определяются приложением, в котором используется компонент редактирования)</h4></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>w</strong></span></span></p></div></span></dt><dd><p>Сохранить текущий документ.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>wa</strong></span></span></p></div></span></dt><dd><p>Сохранить все открытые документы.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>q</strong></span></span></p></div></span></dt><dd><p>Закрыть текущий документ.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>qa</strong></span></span></p></div></span></dt><dd><p>Закрыть все открытые документы.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>wq</strong></span></span></p></div></span></dt><dd><p>Сохранить и закрыть текущий документ.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>wqa</strong></span></span></p></div></span></dt><dd><p>Сохранить и закрыть все открытые документы.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>x</strong></span></span></p></div></span></dt><dd><p>Сохранить и закрыть текущий документ только в том случае, если он был изменён. </p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>x</strong></span></span></p></div></span></dt><dd><p>Сохранить и закрыть все открытые документы только в том случае, если они были изменены.</p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>bp</strong></span></span></p></div></span></dt><dd><p>Перейти к предыдущему документу в списке документов. </p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>bn</strong></span></span></p></div></span></dt><dd><p>Перейти к следующему документу в списке документов. </p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>new</strong></span></span></p></div></span></dt><dd><p>Открыть новый документ в представлении, разделённом по горизонтали. </p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>vnew</strong></span></span></p></div></span></dt><dd><p>Открыть новый документ в представлении, разделённом по вертикали. </p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>e</strong></span></span></p></div></span></dt><dd><p>Обновить текущий документ, если файл этого документа на диске был изменён. </p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>enew</strong></span></span></p></div></span></dt><dd><p>Редактировать новый документ. </p></dd><dt><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>print</strong></span></span></p></div></span></dt><dd><p>Открыть диалог печати текущего документа. </p></dd></dl></div></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="advanced-editing-tools.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="advanced-editing-tools-code-folding.html">След.</a></td></tr><tr><td class="prevCell">Дополнительные возможности редактирования </td><td class="upCell">Дополнительные возможности редактирования</td><td class="nextCell"> Использование сворачивания кода</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="advanced-editing-tools-code-folding.html"><html><head><title>Использование сворачивания кода</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="advanced-editing-tools.html" title="Глава 5. Дополнительные возможности редактирования"><link rel="prev" href="advanced-editing-tools-commandline.html" title="Командная строка компонента редактирования"><link rel="next" href="dev.html" title="Глава 6. Расширение функциональных возможностей KatePart"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Использование сворачивания кода</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="advanced-editing-tools-commandline.html">Пред.</a></td><td class="upCell">Дополнительные возможности редактирования</td><td class="nextCell"><a accesskey="n" href="dev.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="advanced-editing-tools-code-folding"></a>Использование сворачивания кода</h2></div></div></div><p>Сворачивание кода позволяет скрывать участки документа в редакторе, упрощая просмотр больших документов. В <span class="application">KatePart</span> разделение на сворачиваемые участки определяется правилами подсветки синтаксиса. Следовательно, оно доступно не для всех форматов файлов. В основном сворачивание кода доступно в режиме написания исходного кода, XML-разметки и тому подобного. Большинство способов подсветки позволяют также самостоятельно определять скрываемые области, чаще всего с помощью ключевых слов <strong class="userinput"><code>BEGIN</code></strong> и <strong class="userinput"><code>END</code></strong>.</p><p>Чтобы использовать функцию сворачивания, включите отображение полосы сворачивания блоков (пункт меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Вид</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Полоса сворачивания блоков</span></span>), если она ещё не отображается. В этой полосе, расположенной с левой стороны документа, содержится графическое представление сворачиваемых участков. Треугольник, указывающий вниз, обозначает, что участок развёрнут. Треугольник, указывающий вправо, обозначает свёрнутый участок. Щелчок по треугольнику приведёт, соответственно, к сворачиванию или разворачиванию участка (с одновременным изменением графического представления).</p><p>Для управления состоянием сворачиваемых участков доступны три команды, смотрите <a class="link" href="view-menu.html#view-code-folding">справку по меню</a>. </p><p>Состояние сворачивания сохраняется при закрытии файла, поэтому при его повторном открытии свёрнутые участки останутся таковыми. Это справедливо также и для действий обновления.</p><p>Если в использовании функции сворачивания нет необходимости, возможно отключить параметр <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Полоса сворачивания блоков</span></span> на странице <a class="link" href="config-dialog.html#appearance" title="Внешний вид">Внешний вид</a> диалога настройки редактора.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="advanced-editing-tools-commandline.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="dev.html">След.</a></td></tr><tr><td class="prevCell">Командная строка компонента редактирования </td><td class="upCell">Дополнительные возможности редактирования</td><td class="nextCell"> Расширение функциональных возможностей <span class="application">KatePart</span></td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="settings-help-menu.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="advanced-editing-tools-commandline.html">След.</a></td></tr><tr><td class="prevCell">Меню «Настройка» и «Справка» </td><td class="upCell"> </td><td class="nextCell"> Командная строка компонента редактирования</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="dev.html"><html><head><title>Глава 6. Расширение функциональных возможностей KatePart</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="index.html" title="Руководство пользователя KatePart"><link rel="prev" href="advanced-editing-tools-code-folding.html" title="Использование сворачивания кода"><link rel="next" href="highlight.html" title="Подсветка синтаксиса"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Расширение функциональных возможностей <span class="application">KatePart</span></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="advanced-editing-tools-code-folding.html">Пред.</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="highlight.html">След.</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="dev"></a>Глава 6. Расширение функциональных возможностей <span class="application">KatePart</span></h1></div><div><div class="authorgroup"><p class="author"><span class="firstname">T.C.</span> <span class="surname">Hollingsworth</span> <code class="email">&lt;tchollingsworth@gmail.com&gt;</code></p><span class="othercredit"><span class="contrib">Перевод на русский язык</span>: <span class="firstname">Андрей</span> <span class="surname">Балагута</span><br></span><span class="othercredit"><span class="contrib">Перевод на русский язык</span>: <span class="firstname">Алексей</span> <span class="surname">Опарин</span><br></span><span class="othercredit"><span class="contrib">Перевод на русский язык</span>: <span class="firstname">Олеся</span> <span class="surname">Герасименко</span><br></span></div></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="dev-intro"></a>Введение</h2></div></div></div><p>Как и любой другой улучшенный компонент редактирования, <span class="application">KatePart</span> предоставляет разнообразные возможности расширения своей функциональности Возможно <a class="link" href="dev-scripting.html" title="Написание сценариев JavaScript">создавать простые сценарии, которые реализуют дополнительные возможности, с помощью <span class="application">JavaScript</span></a>. Расширив возможности <span class="application">KatePart</span>, <a class="ulink" href="https://kate-editor.org/join-us/" target="_top">присоединяйтесь к нам</a> и делитесь созданными инструментами с пользователями по всему миру!</p></div><FILENAME filename="highlight.html"><html><head><title>Подсветка синтаксиса</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="dev.html" title="Глава 6. Расширение функциональных возможностей KatePart"><link rel="prev" href="dev.html" title="Глава 6. Расширение функциональных возможностей KatePart"><link rel="next" href="color-themes.html" title="Работа с цветовыми схемами"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Подсветка синтаксиса</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="dev.html">Пред.</a></td><td class="upCell">Расширение функциональных возможностей <span class="application">KatePart</span></td><td class="nextCell"><a accesskey="n" href="color-themes.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="highlight"></a>Подсветка синтаксиса</h2></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="highlight-overview"></a>Обзор</h3></div></div></div><p>Подсветка синтаксиса позволяет редактору автоматически отображать текст с использованием различных стилей и цветов в зависимости от функции строки относительно назначения файла. Например, в исходном коде программы операторы управления могут быть выделены полужирным, а типы данных и комментарии — отличаться цветом от остального текста. Это значительно повышает удобочитаемость текста и, следовательно, помогает его автору работать эффективнее и продуктивнее.</p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="highlighted.png" alt="Функция на языке C++, показанная с подсветкой синтаксиса."><div class="caption"><p>Функция на языке C++, показанная с подсветкой синтаксиса.</p></div></div><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="unhighlighted.png" alt="Та же самая функция на языке C++, показанная без подсветки синтаксиса."><div class="caption"><p>Та же самая функция на языке C++, показанная без подсветки синтаксиса.</p></div></div><p>Очевидно, что вариант с подсветкой является более удобочитаемым.</p><p><span class="application">KatePart</span> содержит гибкую настраиваемую систему, которая позволяет выполнять подсветку синтаксиса. В стандартный дистрибутив входят определения для широкого диапазона языков программирования, написания сценариев и разметки, а также для других форматов текстовых файлов. Кроме того, поддерживается добавление пользовательских определений в простых файлах <acronym class="acronym">XML</acronym>.</p><p><span class="application">KatePart</span> автоматически определяет корректные правила синтаксиса при открытии файла пользователем, основываясь на типе <acronym class="acronym">MIME</acronym> этого файла (тип определяется по расширению файла, а если таковое отсутствует — по его содержимому). Если в результате автоматического определения выбраны не те правила синтаксиса, возможно указать их вручную с помощью меню: <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Подсветка</span></span>.</p><p>Стили и цвета, которые используются в определениях подсветки синтаксиса, возможно настроить на вкладке <a class="link" href="color-themes.html#prefcolors-highlighting-text-styles" title="Для отдельных форматов">Для отдельных форматов</a> <a class="link" href="config-dialog.html" title="Глава 7. Настройка KatePart">диалога настройки</a>, а типы <acronym class="acronym">MIME</acronym> и расширения файлов, для которых следует использовать эти определения, — на вкладке <a class="link" href="config-dialog.html#pref-open-save-modes-filetypes" title="Типы файлов">Типы файлов</a>.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примечание</h3><p>Подсветка синтаксиса позволяет повысить удобочитаемость корректного текста, но не позволяет обеспечить саму корректность текста. Синтаксическая разметка текста является непростой задачей, сложность которой зависит от формата текста. В некоторых случаях авторы правил синтаксиса считают успешным результатом корректную обработку 98 процентов текста (обычно проблемные 2 процента остаются в случае выбора редкого стиля).</p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="katehighlight-system"></a>Система подсветки синтаксиса <span class="application">KatePart</span></h3></div></div></div><p>В этом разделе приводится более подробное описание механизма подсветки синтаксиса, который используется в <span class="application">KatePart</span>. Рекомендуется ознакомиться с этой информацией перед изменением или созданием определений синтаксиса.</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="katehighlight-howitworks"></a>Принцип работы подсветки синтаксиса</h4></div></div></div><p>При открытии файла одним из первых действий, которые выполняет редактор <span class="application">KatePart</span>, является определение правил подсветки синтаксиса для этого файла. Во время чтения текста из файла или получения введенных пользователем строк система подсветки синтаксиса анализирует текст на основе правил подсветки синтаксиса и обозначает в показанном тексте позиции начала и завершения различных контекстов и стилей.</p><p>Анализ и разметка вводимого пользователем текста выполняются на лету, так что если символ, который система разметила как начало или завершение определённого контекста, будет удалён, стиль соседних с текущим фрагментов текста также изменится в соответствии с изменением контекста.</p><p>Определения синтаксиса, используемые системой подсветки синтаксиса <span class="application">KatePart</span>, представляют собой файлы <acronym class="acronym">XML</acronym>, которые содержат </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Правила определения роли текста, объединённые в контекстные блоки</p></li><li class="listitem"><p>Списки ключевых слов</p></li><li class="listitem"><p>Определения элементов стиля</p></li></ul></div><p>
</p><p>При анализе текста правила определения контекста применяются в том порядке, в котором они были указаны в файле определений. Если начало текущей строки соответствует определённому правилу, будет использован соответствующий контекст. После этого начальная точка в тексте будет перемещена в завершающую точку применения определённого правила и начнётся новый цикл поиска соответствий правилам в пределах контекста, установленного предыдущим правилом. </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="highlight-system-rules"></a>Правила</h4></div></div></div><p>Правила определения — основа системы определения подсветки. Каждое правило представляет собой строку, символ или <a class="link" href="regular-expressions.html" title="Приложение A. Регулярные выражения">регулярное выражение</a>, с которым будет сравниваться текст документа. Правилом определяются сведения, которые будут использованы при определении стиля соответствующего фрагмента текста. Правило позволяет переключить текущий контекст системы подсветки либо на явно указанный в правиле, либо на предыдущий использованный в тексте. </p><p>Правила объединяются в контекстные группы. Каждая контекстная группа реализует основные элементы в соответствующем формате файлов, например текстовые строки в кавычках или блоки комментариев в исходном коде программы. Благодаря такой структуре системы подсветки не требуется осуществлять перебор всего набора правил, когда в этом нет необходимости, а также имеется возможность различной трактовки некоторых последовательностей символов в тексте (в зависимости от текущего контекста). </p><p>Контексты могут генерироваться динамически, что позволяет использовать в правилах данные, связанные с экземпляром.</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="highlight-context-styles-keywords"></a>Контекстные стили и ключевые слова</h4></div></div></div><p>В некоторых языках программирования целые числа обрабатываются компилятором (программой, которая преобразует исходный коды в исполняемый файл) способом, отличным от способа обработки чисел с плавающей точкой, а также в строках, взятых в кавычки, могут присутствовать символы со специальным назначением. В таких случаях целесообразно выделить подобные символы, чтобы их было проще обнаружить при чтении кода. Даже если эти символы не имеют отдельного контекста, система подсветки текста будет рассматривать их так, будто подобный контекст для них существует, что позволяет выделить их.</p><p>Определение синтаксиса может содержать произвольное количество стилей, достаточное для определения всех элементов формата текста, для которого это определение было создано.</p><p>Во многих форматах существуют списки слов, которые соответствуют определённому элементу. Например, в языках программирования операторы управления составляют один элемент, названия типов данных — другой, встроенные функции языка — третий. Система подсветки синтаксиса <span class="application">KatePart</span> поддерживает использование таких списков для выявления и обозначения слов в тексте с целью смыслового подчёркивания назначения элементов в текстовых форматах.</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="kate-highlight-system-default-styles"></a>Стили по умолчанию</h4></div></div></div><p>Если открыть в <span class="application">KatePart</span> файл исходного кода на языке C++, <span class="trademark">Java</span>™ или документ <acronym class="acronym">HTML</acronym>, для синтаксической разметки будут использоваться одни и те же цвета (несмотря на то, что разные форматы файлов обуславливают выбор разных слов для обозначения элементов текста). Это происходит, потому что в <span class="application">KatePart</span> используется предустановленный список стилей по умолчанию, которые применяются отдельными определениями синтаксиса.</p><p>Это облегчает распознавание схожих элементов в различных текстовых форматах. Например, комментарии предусмотрены почти во всех языках программирования, написания сценариев или разметки. Следовательно, если они будут отображаться в одном стиле во всех форматах языков, не потребуется тратить время на их поиск в тексте документа.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Подсказка</h3><p>При создании всех стилей определения синтаксиса используют один из стилей по умолчанию. В некоторой части определений синтаксиса используются дополнительные стили, которых нет среди стилей по умолчанию, поэтому в случае частой работы с файлами в таких форматах целесообразно открыть диалоговое окно настройки и посмотреть, не используются для определённых элементов одинаковые стили. Например, существует только один стиль по умолчанию для строк, но, поскольку в языке программирования Perl существует два типа строк, возможно настроить подсветку для каждого из этих типов немного по-разному. Обзор всех <a class="link" href="highlight.html#kate-highlight-default-styles" title="Доступные стили по умолчанию">доступных стилей по умолчанию</a> приводится далее.</p></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="katehighlight-xml-format"></a>Формат <acronym class="acronym">XML</acronym> определения подсветки</h3></div></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idm3705"></a>Обзор</h4></div></div></div><p>В <span class="application">KatePart</span> используется библиотека подсветки синтаксических конструкций из <span class="productname"><span class="orgname">KDE</span> Frameworks</span>. По умолчанию в неё включены средства подсветки кода <acronym class="acronym">XML</acronym>. </p><p>Этот раздел посвящён обзору формата <acronym class="acronym">XML</acronym> определения подсветки. С помощью небольшого примера в разделе описаны основные компоненты, их назначение и использование. В следующем разделе подробно рассматриваются правила определения способа подсветки.</p><p>Формальное определение (<acronym class="acronym">XSD</acronym>) доступно в <a class="ulink" href="https://commits.kde.org/syntax-highlighting?path=data/schema" target="_top">репозитории подсветки синтаксиса</a>, в файле <code class="filename">language.xsd</code> </p><p>Пользовательские файлы <code class="filename">.xml</code> подсветки синтаксиса расположены в каталоге <code class="filename">org.kde.syntax-highlighting/syntax/</code> в папке пользователя (расположение возможно определить с помощью команды <strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>qtpaths</strong></span></span><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="option"><code class="option"> --paths GenericDataLocation</code></span></code></strong>, обычно это <code class="filename"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="envar"><code class="envar">$HOME</code></span>/.local/share/</code> и <code class="filename">/usr/share/</code>). </p><p>В случае пакетов Flatpak и Snap расположение данных различается в зависимости от конкретного приложения. В приложении Flatpak расположением пользовательских файлов <acronym class="acronym">XML</acronym> обычно является <code class="filename"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="envar"><code class="envar">$HOME</code></span>/.var/app/<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>название-пакета-flatpak</code></em></span>/data/org.kde.syntax-highlighting/syntax/</code>, а в приложении Snap — <code class="filename"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="envar"><code class="envar">$HOME</code></span>/snap/<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>название-пакета-snap</code></em></span>/current/.local/share/org.kde.syntax-highlighting/syntax/</code>. </p><p>В <span class="trademark">Windows</span>® эти файлы хранятся в <code class="filename">%USERPROFILE%\AppData\Local\org.kde.syntax-highlighting\syntax</code>. <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>%USERPROFILE%</code></em></span> обычно имеет значение <code class="filename">C:\Users\<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>пользователь</code></em></span></code>.</p><p>В целом, для большинства конфигураций каталогом пользовательских файлов <acronym class="acronym">XML</acronym> будет:</p><div class="informaltable"><table class="informaltable" border="1"><colgroup><col><col></colgroup><tbody><tr><td>Для локального пользователя</td><td><code class="filename"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="envar"><code class="envar">$HOME</code></span>/.local/share/org.kde.syntax-highlighting/syntax/</code></td></tr><tr><td>Для всех пользователей</td><td><code class="filename">/usr/share/org.kde.syntax-highlighting/syntax/</code></td></tr><tr><td>Для пакетов Flatpak</td><td><code class="filename"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="envar"><code class="envar">$HOME</code></span>/.var/app/<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>название-пакета-flatpak</code></em></span>/data/org.kde.syntax-highlighting/syntax/</code></td></tr><tr><td>Для пакетов Snap</td><td><code class="filename"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="envar"><code class="envar">$HOME</code></span>/snap/<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>название-пакета-snap</code></em></span>/current/.local/share/org.kde.syntax-highlighting/syntax/</code></td></tr><tr><td>В <span class="trademark">Windows</span>®</td><td><code class="filename">%USERPROFILE%\AppData\Local\org.kde.syntax-highlighting\syntax</code></td></tr></tbody></table></div><p>Если для одного языка имеется несколько файлов, будет загружен файл с наибольшим значением атрибута <strong class="userinput"><code>version</code></strong> в элементе <strong class="userinput"><code>language</code></strong>.</p><div class="variablelist"><p class="title"><b>Основные разделы файлов определения синтаксиса <span class="application">KatePart</span></b></p><dl class="variablelist"><dt><span class="term">Файл подсветки содержит заголовок, в котором задаётся версия <acronym class="acronym">XML</acronym>:</span></dt><dd><pre class="programlisting">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
</pre></dd><dt><span class="term">Корневым элементом файла определения является элемент <strong class="userinput"><code>language</code></strong>. Доступные атрибуты:</span></dt><dd><p>Обязательные атрибуты:</p><p><strong class="userinput"><code>name</code></strong> задаёт название языка, которое затем будет отображаться в меню и диалоговых окнах.</p><p><strong class="userinput"><code>section</code></strong> определяет категорию.</p><p><strong class="userinput"><code>extensions</code></strong> определяет суффиксы названий файлов, например "*.cpp;*.h".</p><p><strong class="userinput"><code>version</code></strong> задаёт текущую версию файла определения в формате целого числа. Не забывайте увеличивать номер версии при каждом внесении изменений в файл.</p><p><strong class="userinput"><code>kateversion</code></strong> задаёт последнюю поддерживаемую версию <span class="application">KatePart</span>.</p><p>Необязательные атрибуты:</p><p><strong class="userinput"><code>mimetype</code></strong> выполняет привязку файлов на основе типа <acronym class="acronym">MIME</acronym>.</p><p><strong class="userinput"><code>casesensitive</code></strong> определяет, чувствительны ли ключевые слова к регистру.</p><p><strong class="userinput"><code>priority</code></strong> требуется, если в другом файле определения подсветки используются те же суффиксы файлов. Для подсветки будут использованы правила с более высоким приоритетом.</p><p><strong class="userinput"><code>author</code></strong> содержит имя автора и его адрес электронной почты.</p><p><strong class="userinput"><code>license</code></strong> содержит название лицензии нового файла подсветки синтаксиса, обычно это MIT.</p><p><strong class="userinput"><code>style</code></strong> содержит данные о языке программирования и используется средствами расстановки отступов для атрибута <code class="literal">required-syntax-style</code>.</p><p><strong class="userinput"><code>indenter</code></strong> определяет используемое по умолчанию средство расстановки отступов. Доступные варианты: <span class="emphasis"><em>ada, normal, cstyle, cmake, haskell, latex, lilypond, lisp, lua, pascal, python, replicode, ruby</em></span> и <span class="emphasis"><em>xml</em></span>.</p><p><strong class="userinput"><code>hidden</code></strong> определяет, следует ли отображать название подсветки в меню <span class="application">KatePart</span>.</p><p>Поэтому следующая строка может выглядеть так:</p><pre class="programlisting">&lt;language name="C++" version="1" kateversion="2.4" section="Sources" extensions="*.cpp;*.h" /&gt;
</pre></dd><dt><span class="term">Следующим элементом является <strong class="userinput"><code>highlighting</code></strong>. В этом элементе содержится необязательный элемент <strong class="userinput"><code>list</code></strong> и обязательные элементы <strong class="userinput"><code>contexts</code></strong> и <strong class="userinput"><code>itemDatas</code></strong>.</span></dt><dd><p>Элементы <strong class="userinput"><code>list</code></strong> содержат список ключевых слов. В этом случае ключевыми словами являются <span class="emphasis"><em>class</em></span> и <span class="emphasis"><em>const</em></span>. Возможно добавить неограниченное количество списков.</p><p>Начиная с <span class="productname"><span class="orgname">KDE</span> Frameworks</span> 5.53, в список возможно включать ключевые слова из другого списка, языка или файла с помощью элемента <strong class="userinput"><code>include</code></strong>. Для разделения названия списка и названия определения языка следует использовать символы <strong class="userinput"><code>##</code></strong> таким же образом, что и в правиле <strong class="userinput"><code>IncludeRules</code></strong>. Это позволяет предотвратить дублирование списков ключевых слов, когда требуется включить ключевые слова из другого языка или файла. Например, список <span class="emphasis"><em>othername</em></span> содержит ключевое слово <span class="emphasis"><em>str</em></span> и все ключевые слова из списка <span class="emphasis"><em>types</em></span>, который относится к языку программирования <span class="emphasis"><em>ISO C++</em></span>.</p><p>В элементе <strong class="userinput"><code>contexts</code></strong> содержатся все контексты. По умолчанию первым контекстом является начало диапазона подсветки. В контексте <span class="emphasis"><em>Normal Text</em></span> существуют два правила: одно сопоставляет список ключевых слов с названием <span class="emphasis"><em>somename</em></span>, другое определяет кавычки и переключает контекст на контекст <span class="emphasis"><em>string</em></span>. Дополнительные сведения о правилах приводятся в следующей главе.</p><p>Третья часть состоит из элемента <strong class="userinput"><code>itemDatas</code></strong>. В этом элементе содержатся все цвета и гарнитуры шрифтов, необходимые для контекстов и правил. В примере использовано <strong class="userinput"><code>itemData</code></strong> <span class="emphasis"><em>Normal Text</em></span>, <span class="emphasis"><em>String</em></span> и <span class="emphasis"><em>Keyword</em></span>. </p><pre class="programlisting">&lt;highlighting&gt;
    &lt;list name="somename"&gt;
      &lt;item&gt;class&lt;/item&gt;
      &lt;item&gt;const&lt;/item&gt;
    &lt;/list&gt;
    &lt;list name="othername"&gt;
      &lt;item&gt;str&lt;/item&gt;
      &lt;include&gt;types##ISO C++&lt;/include&gt;
    &lt;/list&gt;
    &lt;contexts&gt;
      &lt;context attribute="Normal Text" lineEndContext="#pop" name="Normal Text" &gt;
        &lt;keyword attribute="Keyword" context="#stay" String="somename" /&gt;
        &lt;keyword attribute="Keyword" context="#stay" String="othername" /&gt;
        &lt;DetectChar attribute="String" context="string" char="&amp;quot;" /&gt;
      &lt;/context&gt;
      &lt;context attribute="String" lineEndContext="#stay" name="string" &gt;
        &lt;DetectChar attribute="String" context="#pop" char="&amp;quot;" /&gt;
      &lt;/context&gt;
    &lt;/contexts&gt;
    &lt;itemDatas&gt;
      &lt;itemData name="Normal Text" defStyleNum="dsNormal" /&gt;
      &lt;itemData name="Keyword" defStyleNum="dsKeyword" /&gt;
      &lt;itemData name="String" defStyleNum="dsString" /&gt;
    &lt;/itemDatas&gt;
  &lt;/highlighting&gt;
</pre></dd><dt><span class="term">Последней частью определения подсветки является необязательный раздел <strong class="userinput"><code>general</code></strong>. В нём могут содержаться сведения о ключевых словах, сворачивании блоков кода, комментариях, отступах, пустых строках и проверке правописания.</span></dt><dd><p>В разделе <strong class="userinput"><code>comment</code></strong> определяется последовательность символов, с помощью которой возможно добавить однострочный комментарий. Также возможно определить многострочный комментарий с помощью элемента <span class="emphasis"><em>multiLine</em></span> с дополнительным атрибутом <span class="emphasis"><em>end</em></span>. Эти определения будут использованы при выполнении пользователем действий <span class="emphasis"><em>закомментировать/раскомментировать</em></span>.</p><p>В разделе <strong class="userinput"><code>keywords</code></strong> определяется, следует ли учитывать регистр символов в списках ключевых слов или нет. Описание других атрибутов приводится далее.</p><p>В других разделах, <strong class="userinput"><code>folding</code></strong>, <strong class="userinput"><code>emptyLines</code></strong> и <strong class="userinput"><code>spellchecking</code></strong>, как правило, необходимости нет. Сведения об этих разделах приводятся далее.</p><pre class="programlisting">&lt;general&gt;
    &lt;comments&gt;
      &lt;comment name="singleLine" start="#"/&gt;
      &lt;comment name="multiLine" start="###" end="###" region="CommentFolding"/&gt;
    &lt;/comments&gt;
    &lt;keywords casesensitive="1"/&gt;
    &lt;folding indentationsensitive="0"/&gt;
    &lt;emptyLines&gt;
      &lt;emptyLine regexpr="\s+"/&gt;
      &lt;emptyLine regexpr="\s*#.*"/&gt;
    &lt;/emptyLines&gt;
    &lt;spellchecking&gt;
      &lt;encoding char="á" string="\'a"/&gt;
      &lt;encoding char="à" string="\`a"/&gt;
    &lt;/spellchecking&gt;
  &lt;/general&gt;
&lt;/language&gt;
</pre></dd></dl></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="kate-highlight-sections"></a>Подробные сведения о разделах</h4></div></div></div><p>В этом разделе приводится описание всех доступных атрибутов для контекстов, itemDatas, ключевых слов, комментариев, сворачивания кода и отступов.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">Элемент <strong class="userinput"><code>context</code></strong> относится к группе <strong class="userinput"><code>contexts</code></strong>. Этот элемент определяет связанные с контекстом правила (например, что должно произойти, если система подсветки достигнет конца строки). Доступные атрибуты:</span></dt><dd><p><strong class="userinput"><code>name</code></strong> — название контекста. С помощью этого названия правила будут определять контекст, на который следует переключиться в случае выявления соответствия правила.</p><p><strong class="userinput"><code>lineEndContext</code></strong> определяет контекст, на который переключается система подсветки при достижении конца строки. Значением этого атрибута может быть либо название другого контекста, либо <strong class="userinput"><code>#stay</code></strong> для запрета смены контекста (ничего не делать), либо <strong class="userinput"><code>#pop</code></strong> для выхода из контекста. Возможно, например, указать <strong class="userinput"><code>#pop#pop#pop</code></strong>, чтобы система поднялась на три контекста выше, или даже <strong class="userinput"><code>#pop#pop!OtherContext</code></strong>, чтобы система поднялась на два контекста выше и переключилась на контекст с названием <strong class="userinput"><code>OtherContext</code></strong>. Также возможно переключиться на контекст, который принадлежит другому определению языка, так же, как в правилах <strong class="userinput"><code>IncludeRules</code></strong> (например, <strong class="userinput"><code>SomeContext##JavaScript</code></strong>). Обратите внимание, что это переключение контекста невозможно использовать совместно с <strong class="userinput"><code>#pop</code></strong>: например, <strong class="userinput"><code>#pop!SomeContext##JavaScript</code></strong> является некорректным. Переключения контекста также описаны в <a class="xref" href="highlight.html#kate-highlight-rules-detailled" title="Правила определения способа подсветки">«Правила определения способа подсветки»</a>.</p><p><strong class="userinput"><code>lineEmptyContext</code></strong> определяет контекст, который используется при обнаружении пустой строки. Номенклатура переключений контекста та же, что и описанная ранее для <span class="emphasis"><em>lineEndContext</em></span>. Значение по умолчанию: #stay.</p><p><strong class="userinput"><code>fallthroughContext</code></strong> указывает следующий контекст для переключения, если ни одно из правил не было признано соответствующим. Номенклатура переключений контекста та же, что и описанная ранее для <span class="emphasis"><em>lineEndContext</em></span>. Значение по умолчанию: #stay. </p><p><strong class="userinput"><code>fallthrough</code></strong> определяет, будет ли система подсветки переключаться на контекст, определённый в <strong class="userinput"><code>fallthroughContext</code></strong>, если ни одно из правил не было признано соответствующим. Обратите внимание, что с версии <span class="orgname">KDE</span> <span class="productname">Frameworks</span> 5.62 этот атрибут является устаревшим. Вместо него следуетиспользовать <strong class="userinput"><code>fallthroughContext</code></strong>: если указан атрибут <strong class="userinput"><code>fallthroughContext</code></strong>, неявным образомпредполагается значение <strong class="userinput"><code>fallthrough</code></strong> равное <span class="emphasis"><em>true</em></span>. Значение по умолчанию: <span class="emphasis"><em>false</em></span>.</p><p><strong class="userinput"><code>noIndentationBasedFolding</code></strong> отключает сворачивание на основе отступов в контексте. Если сворачивание на основе отступов неактивно, этот атрибут не имеет смысла. Этот атрибут указывается в элементе <span class="emphasis"><em>folding</em></span> группы <span class="emphasis"><em>general</em></span>. Значение по умолчанию: <span class="emphasis"><em>false</em></span>.</p></dd><dt><span class="term">Элемент <strong class="userinput"><code>itemData</code></strong> находится в группе <strong class="userinput"><code>itemDatas</code></strong>. Она определяет гарнитуры шрифтов и цвета. Возможно указывать пользовательские гарнитуры и цвета. Рекомендуется использовать стили по умолчанию, чтобы пользователь всегда видел одинаковые цвета в файлах различных форматов. Но всё же иногда другого способа нет, и придётся изменить атрибуты цветов и шрифтов. Обязательные атрибуты — name и defStyleNum, прочие являются необязательными. Доступные атрибуты:</span></dt><dd><p><strong class="userinput"><code>name</code></strong> задаёт название itemData. Оно будет использоваться в контекстах и правилах для ссылки на itemData в атрибуте <span class="emphasis"><em>attribute</em></span>.</p><p><strong class="userinput"><code>defStyleNum</code></strong> определяет стиль по умолчанию, который следует использовать. Подробный перечень доступных стилей по умолчанию приводится далее.</p><p><strong class="userinput"><code>color</code></strong> определяет цвет. Возможные форматы: '#rrggbb' или '#rgb'.</p><p><strong class="userinput"><code>selColor</code></strong> определяет цвет выделенного текста.</p><p><strong class="userinput"><code>italic</code></strong>, если значение <span class="emphasis"><em>true</em></span>, текст будет выделен курсивом.</p><p><strong class="userinput"><code>bold</code></strong>, если значение <span class="emphasis"><em>true</em></span>, текст будет выделен полужирным.</p><p><strong class="userinput"><code>underline</code></strong>, если значение <span class="emphasis"><em>true</em></span>, текст будет подчёркнут.</p><p><strong class="userinput"><code>strikeout</code></strong>, если значение <span class="emphasis"><em>true</em></span>, текст будет перечёркнут.</p><p><strong class="userinput"><code>spellChecking</code></strong>, если значение <span class="emphasis"><em>true</em></span>, будет проверено правописание текста.</p></dd><dt><span class="term">Элемент <strong class="userinput"><code>keywords</code></strong> в группе <strong class="userinput"><code>general</code></strong> определяет свойства ключевых слов. Доступные атрибуты:</span></dt><dd><p><strong class="userinput"><code>casesensitive</code></strong> может иметь значение <span class="emphasis"><em>true</em></span> или <span class="emphasis"><em>false</em></span>. Если значение <span class="emphasis"><em>true</em></span>, все ключевые слова сопоставляются с учётом регистра.</p><p><strong class="userinput"><code>weakDeliminator</code></strong> — список символов, которые не являются символами разделения слов. Например, точка <strong class="userinput"><code>'.'</code></strong> является символом разделения слов. Допустим, что ключевое слово в <strong class="userinput"><code>list</code></strong> содержит точку: это слово будет задействовано, только если точка будет указана среди значений этого аргумента.</p><p><strong class="userinput"><code>additionalDeliminator</code></strong> определяет дополнительные символы разметки.</p><p><strong class="userinput"><code>wordWrapDeliminator</code></strong> определяет символы, после которых возможен перенос строки.</p><p>Стандартные символы разметки и разделения слов: <strong class="userinput"><code>.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\</code></strong>, пробел (<strong class="userinput"><code>' '</code></strong>) и символ табуляции (<strong class="userinput"><code>'\t'</code></strong>).</p></dd><dt><span class="term">Элемент <strong class="userinput"><code>comment</code></strong> в группе <strong class="userinput"><code>comments</code></strong> определяет свойства комментариев, которые будут использованы для действий в пунктах меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Закомментировать</span></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Раскомментировать</span></span> и <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Закомментировать или раскомментировать</span></span>. Доступные атрибуты:</span></dt><dd><p><strong class="userinput"><code>name</code></strong> может иметь иметь значение <span class="emphasis"><em>singleLine</em></span> или <span class="emphasis"><em>multiLine</em></span>. Если выбрано значение <span class="emphasis"><em>multiLine</em></span>, необходимо также указать атрибуты <span class="emphasis"><em>end</em></span> и <span class="emphasis"><em>region</em></span>. Если выбрано значение <span class="emphasis"><em>singleLine</em></span>, возможно добавить необязательный атрибут <span class="emphasis"><em>position</em></span>.</p><p><strong class="userinput"><code>start</code></strong> определяет строку, которая используется для обозначения начала комментария. В C++ этой строкой для многострочных комментариев является "/*". Этот атрибут является обязательным для типов <span class="emphasis"><em>multiLine</em></span> и <span class="emphasis"><em>singleLine</em></span>.</p><p><strong class="userinput"><code>end</code></strong> определяет строку, которой завершается комментарий. В C++ этой строкой будет "*/". Этот атрибут доступен только для комментариев типа <span class="emphasis"><em>multiLine</em></span> и является обязательным для них.</p><p>Атрибут <strong class="userinput"><code>region</code></strong> должен иметь значение названия пригодного для сворачивания многострочного комментария. Например, если в правилах указано <span class="emphasis"><em>beginRegion="Comment"</em></span> ... <span class="emphasis"><em>endRegion="Comment"</em></span>, следует использовать значение <span class="emphasis"><em>region="Comment"</em></span>. Это позволяет применять действие раскомментирования, даже если был выделен не весь текст многострочного комментария. Нужно только, чтобы курсор находился внутри этого многострочного комментария. Этот атрибут доступен только для типа <span class="emphasis"><em>multiLine</em></span>.</p><p><strong class="userinput"><code>position</code></strong> определяет место вставки однострочного комментария. По умолчанию однострочный комментарий будет вставлен в начале строки в нулевой позиции. Но если использовать запись <span class="emphasis"><em>position="afterwhitespace"</em></span>, комментарий будет вставлен справа после первого пробельного блока, перед первым непробельным символом. Эта возможность полезна для языков, где важны отступы в строках, таких как Python и YAML. Этот атрибут является необязательным, его единственное возможное значение — это <span class="emphasis"><em>afterwhitespace</em></span>. Он доступен только для типа <span class="emphasis"><em>singleLine</em></span>.</p></dd><dt><span class="term">Элемент <strong class="userinput"><code>folding</code></strong> в группе <strong class="userinput"><code>general</code></strong> определяет свойства сворачивания кода. Доступны атрибуты:</span></dt><dd><p><strong class="userinput"><code>indentationsensitive</code></strong>, если значение <span class="emphasis"><em>true</em></span>,  отметки сворачивания кода будут добавлены на основе отступов, как в языке сценариев Python. Обычно не требуется указывать этот атрибут, так как его значением по умолчанию является <span class="emphasis"><em>false</em></span>.</p></dd><dt><span class="term">Элемент <strong class="userinput"><code>emptyLine</code></strong> в группе <strong class="userinput"><code>emptyLines</code></strong> определяет, какие из строк следует считать пустыми. Это позволяет изменить поведение атрибута <span class="emphasis"><em>lineEmptyContext</em></span> в элементах <strong class="userinput"><code>context</code></strong>. Доступные атрибуты:</span></dt><dd><p><strong class="userinput"><code>regexpr</code></strong> определяет регулярное выражение, соответствие которому будет считаться пустой строкой. По умолчанию пустые строки не содержат никаких символов, поэтому это регулярное выражение добавляет «пустые» строки, например, если следует считать строки из пробелов пустыми. Впрочем, для большинства определений синтаксиса в этом атрибуте нет необходимости.</p></dd><dt><span class="term">Элемент <strong class="userinput"><code>encoding</code></strong> в группе <strong class="userinput"><code>spellchecking</code></strong> определяет кодировку символов, которая используется для проверки орфографии. Доступные атрибуты:</span></dt><dd><p><strong class="userinput"><code>char</code></strong> — кодированный символ.</p><p><strong class="userinput"><code>string</code></strong> — последовательность символов, которая будет закодирована как символ <span class="emphasis"><em>char</em></span> при проверке правописания. Например, если выполняется обработка кода на языке LaTeX, строка <strong class="userinput"><code>\"{A}</code></strong> соответствует символу <strong class="userinput"><code>Ä</code></strong>.</p></dd></dl></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="kate-highlight-default-styles"></a>Доступные стили по умолчанию</h4></div></div></div><p>Как следует из <a class="link" href="highlight.html#kate-highlight-system-default-styles" title="Стили по умолчанию">ранее приведённого</a> краткого описания: стили по умолчанию — это предустановленные стили шрифтов и цветов.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">Общие стили по умолчанию:</span></dt><dd><p><strong class="userinput"><code>dsNormal</code></strong>, если не требуется особая подсветка.</p><p><strong class="userinput"><code>dsKeyword</code></strong>, встроенные ключевые слова языка.</p><p><strong class="userinput"><code>dsFunction</code></strong>, вызовы и определения функций.</p><p><strong class="userinput"><code>dsVariable</code></strong>, если применимо: названия переменных (например, $someVar в PHP/Perl).</p><p><strong class="userinput"><code>dsControlFlow</code></strong>, ключевые слова управления обработкой, включая if, else, switch, break, return, yield, ...</p><p><strong class="userinput"><code>dsOperator</code></strong>, операторы, например + - * / :: &lt; &gt;</p><p><strong class="userinput"><code>dsBuiltIn</code></strong>, встроенные функции, классы и объекты.</p><p><strong class="userinput"><code>dsExtension</code></strong>, общие расширения, например классы <span class="trademark">Qt</span>™ и функции и макросы в C++ и Python.</p><p><strong class="userinput"><code>dsPreprocessor</code></strong>, инструкции препроцессора или определения макросов.</p><p><strong class="userinput"><code>dsAttribute</code></strong>, аннотации, например @override и __declspec(...).</p></dd><dt><span class="term">Стили по умолчанию, связанные со строками:</span></dt><dd><p><strong class="userinput"><code>dsChar</code></strong>, отдельные символы, например 'x'.</p><p><strong class="userinput"><code>dsSpecialChar</code></strong>, символы со специальным назначением в строках, например символы экранирования, подстановки или операторы регулярных выражений.</p><p><strong class="userinput"><code>dsString</code></strong>, строки, например "hello world".</p><p><strong class="userinput"><code>dsVerbatimString</code></strong>, буквальные или необработанные строки, например 'raw \backlash' в Perl, CoffeeScript и командных оболочках, а также r'\raw' в Python.</p><p><strong class="userinput"><code>dsSpecialString</code></strong>, SQL, регулярные выражения, документация HERE, математический режим L<sup>A</sup>T<sub>E</sub>X, ...</p><p><strong class="userinput"><code>dsImport</code></strong>, импорт, включение или потребность в модулях.</p></dd><dt><span class="term">Стили по умолчанию, связанные с числами:</span></dt><dd><p><strong class="userinput"><code>dsDataType</code></strong>, встроенные типы данных, например int, void, u64.</p><p><strong class="userinput"><code>dsDecVal</code></strong>, десятичные значения.</p><p><strong class="userinput"><code>dsBaseN</code></strong>, значения с основой, отличной от 10.</p><p><strong class="userinput"><code>dsFloat</code></strong>, значения с плавающей точкой.</p><p><strong class="userinput"><code>dsConstant</code></strong>, встроенные и заданные пользователем константы, например PI.</p></dd><dt><span class="term">Стили по умолчанию, связанные с комментариями и документацией:</span></dt><dd><p><strong class="userinput"><code>dsComment</code></strong>, комментарии.</p><p><strong class="userinput"><code>dsDocumentation</code></strong>, /** Комментарии в документах */ или """docstrings""".</p><p><strong class="userinput"><code>dsAnnotation</code></strong>, команды документации, например @param, @brief.</p><p><strong class="userinput"><code>dsCommentVar</code></strong>, названия переменных, используемых в приведённых выше командах, например "foobar" в @param foobar.</p><p><strong class="userinput"><code>dsRegionMarker</code></strong>, отметки области, например //BEGIN, //END в комментариях.</p></dd><dt><span class="term">Прочие стили по умолчанию:</span></dt><dd><p><strong class="userinput"><code>dsInformation</code></strong>, примечания и подсказки, например @note в doxygen.</p><p><strong class="userinput"><code>dsWarning</code></strong>, предупреждения, например @warning в doxygen.</p><p><strong class="userinput"><code>dsAlert</code></strong>, специальные слова, например TODO, FIXME, XXXX.</p><p><strong class="userinput"><code>dsError</code></strong>, подсветка ошибок и синтаксических неточностей.</p><p><strong class="userinput"><code>dsOthers</code></strong>, если не подходит иное.</p></dd></dl></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="kate-highlight-rules-detailled"></a>Правила определения способа подсветки</h3></div></div></div><p>В этом разделе приводится описание правил определения синтаксиса.</p><p>Каждое из правил может соответствовать нулевому или большему количеству символов в начале строки, которая проверяется на соответствие. Если такое соответствие будет найдено, найденным символам будет назначен стиль или <span class="emphasis"><em>attribute</em></span>, указанный с помощью правила, также правило позволяет направить системе запрос на изменение текущего контекста. </p><p>Правило выглядит следующим образом:</p><pre class="programlisting">&lt;RuleName attribute="(идентификатор)" context="(идентификатор)" [специфичные для правила атрибуты] /&gt;</pre><p>Значение <span class="emphasis"><em>attribute</em></span> определяет название стиля, который будет использован для соответствующих символов, а значение <span class="emphasis"><em>context</em></span> — контекст, который следует использовать, начиная с этого места.</p><p><span class="emphasis"><em>context</em></span> возможно определить с помощью:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>идентификатора</em></span>, который является названием другого контекста.</p></li><li class="listitem"><p>Значения <span class="emphasis"><em>порядка</em></span>, которое сообщает движку, что следует остаться в текущем контексте (<strong class="userinput"><code>#stay</code></strong>) или вернуться к предыдущему контексту, использованному в строке (<strong class="userinput"><code>#pop</code></strong>).</p><p>Чтобы вернуться на несколько уровней контекста назад, ключевое слово #pop возможно повторить несколько раз: <strong class="userinput"><code>#pop#pop#pop</code></strong></p></li><li class="listitem"><p>Значения <span class="emphasis"><em>порядка</em></span>, за которым следуют восклицательный знак (<span class="emphasis"><em>!</em></span>) и значение <span class="emphasis"><em>идентификатора</em></span>, что заставит движок сначала использовать порядок, а затем переключиться на другой контекст, например <strong class="userinput"><code>#pop#pop!OtherContext</code></strong>.</p></li><li class="listitem"><p><span class="emphasis"><em>Идентификатор</em></span>, который является названием контекста, за которым следуют два символа решётки (<strong class="userinput"><code>##</code></strong>) и другой <span class="emphasis"><em>идентификатор</em></span>, который является названием определения языка. Такое именование похоже на используемое в правилах <strong class="userinput"><code>IncludeRules</code></strong> и позволяет переключаться на контекст, принадлежащий другому определению подсветки синтаксиса (например,  <strong class="userinput"><code>SomeContext##JavaScript</code></strong>). Обратите внимание, что это переключение контекста невозможно использовать совместно с <strong class="userinput"><code>#pop</code></strong> (например, запись <strong class="userinput"><code>#pop!SomeContext##JavaScript</code></strong> является некорректной).</p></li></ul></div><p>Специфичные для правила атрибуты могут быть разными, их описание приводится в следующих разделах.</p><div class="itemizedlist"><p class="title"><b>Общие атрибуты</b></p><p>Следующие атрибуты являются общими для всех правил, их возможно указывать везде, где в списке имеется надпись <strong class="userinput"><code>(общие атрибуты)</code></strong>. Атрибуты <span class="emphasis"><em>attribute</em></span> и <span class="emphasis"><em>context</em></span> являются обязательными, все остальные атрибуты являются необязательными.  </p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>attribute</em></span>: атрибут, указывающий на заданный <span class="emphasis"><em>itemData</em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>context</em></span>: определяет контекст, на который следует переключить систему подсветки в случае выявления соответствия правила.</p></li><li class="listitem"><p><span class="emphasis"><em>beginRegion</em></span>: начать блок сворачивания кода. Значение по умолчанию: unset.</p></li><li class="listitem"><p><span class="emphasis"><em>endRegion</em></span>: закрыть блок сворачивания кода. Значение по умолчанию: unset.</p></li><li class="listitem"><p><span class="emphasis"><em>lookAhead</em></span>: если значение <span class="emphasis"><em>true</em></span>, система подсветки не обрабатывает длину соответствия. Значение по умолчанию: <span class="emphasis"><em>false</em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>firstNonSpace</em></span>: соответствие устанавливается, только если строка является первой отличной от пробелов последовательностью символов в строке текста. Значение по умолчанию: <span class="emphasis"><em>false</em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>column</em></span>: соответствие устанавливается, если будет совпадать строка. Значение по умолчанию: unset.</p></li></ul></div><div class="itemizedlist"><p class="title"><b>Динамические правила</b></p><p>Некоторые из правил позволяют устанавливать необязательный атрибут <strong class="userinput"><code>dynamic</code></strong>. Это атрибут логического типа, его значение по умолчанию: <span class="emphasis"><em>false</em></span>. Если атрибут dynamic имеет значение <span class="emphasis"><em>true</em></span>, в правиле возможно использовать заполнители, которые обозначают текст, найденный с помощью правила <span class="emphasis"><em>регулярного выражения</em></span>. Текст будет переключён в текущий контекст в его атрибутах <strong class="userinput"><code>string</code></strong> или <strong class="userinput"><code>char</code></strong>. В атрибуте <strong class="userinput"><code>string</code></strong> заполнитель <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>%N</code></em></span> (где N — это число) будет заменён соответствующим захваченным элементом <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>N</code></em></span> из вызывающего регулярного выражения, начиная с 1. В атрибуте <strong class="userinput"><code>char</code></strong> заполнитель должен быть числом <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>N</code></em></span>, он будет заменён на первый символ соответствующего захваченного элемента   <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>N</code></em></span> из вызывающего регулярного выражения. Все правила, разрешающие использование этого атрибута, обозначены надписью <span class="emphasis"><em>(dynamic)</em></span>.</p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>dynamic</em></span>: может иметь значение <span class="emphasis"><em>(true|false)</em></span>.</p></li></ul></div><p><strong class="userinput"><code>Как это работает:</code></strong></p><p>В <a class="link" href="regular-expressions.html" title="Приложение A. Регулярные выражения">регулярных выражениях</a> правил <strong class="userinput"><code>RegExpr</code></strong> средство обработки захватывает и запоминает весь текст в простых круглых скобках <strong class="userinput"><code>(ШАБЛОН)</code></strong>. Захваченные фрагменты текста можно использовать в контексте, на который переключается средство, в правилах с атрибутом <strong class="userinput"><code>dynamic</code></strong> <span class="emphasis"><em>true</em></span> для замены <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>%N</code></em></span> (в <span class="emphasis"><em>String</em></span>) или <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>N</code></em></span> (в <span class="emphasis"><em>char</em></span>).</p><p>Необходимо помнить, что фрагмент текста, захваченный в правиле <strong class="userinput"><code>RegExpr</code></strong>, сохраняется только в переключённом контексте, который указан с помощью атрибута <strong class="userinput"><code>context</code></strong> элемента.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Подсказка</h3><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Если захваченные фрагменты текста не будет использоваться ни динамическими правилами, ни в том же регулярном выражении, следует использовать <strong class="userinput"><code>группы без захвата</code></strong>: <strong class="userinput"><code>(?:ШАБЛОН)</code></strong></p><p>Захват групп <span class="emphasis"><em>с поиском вперёд</em></span> или <span class="emphasis"><em>поиском назад</em></span>, например <strong class="userinput"><code>(?=ШАБЛОН)</code></strong>, <strong class="userinput"><code>(?!ШАБЛОН)</code></strong> или <strong class="userinput"><code>(?&lt;=ШАБЛОН)</code></strong>, не выполняется. Дополнительные сведения доступны в разделе <a class="link" href="regular-expressions.html" title="Приложение A. Регулярные выражения">Регулярные выражения</a>.</p></li><li class="listitem"><p>Группы с захватом возможно использовать внутри того же регулярного выражения, если указать <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>\N</code></em></span> вместо <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>%N</code></em></span>. Дополнительные сведения: <a class="link" href="regex-patterns.html#regex-capturing" title="Захват совпавшего текста (обратные ссылки)">Захват совпавшего текста (обратные ссылки)</a> в разделе <a class="link" href="regular-expressions.html" title="Приложение A. Регулярные выражения">Регулярные выражения</a>.</p></li></ul></div></div><p>Пример 1:</p><p>В этом простом примере обработчик захватывает текст, соответствующий регулярному выражению <strong class="userinput"><code>=*</code></strong>, и вставляет его вместо <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>%1</code></em></span> в динамическом правиле. Это позволяет определить комментарий, который завершается тем же количеством символов <strong class="userinput"><code>=</code></strong>, что и начинается. Соответствующим текстом будет: <strong class="userinput"><code>[[ комментарий ]]</code></strong>, <strong class="userinput"><code>[=[ комментарий ]=]</code></strong> или <strong class="userinput"><code>[=====[ комментарий ]=====]</code></strong>.</p><p>Кроме того, захваченные данные доступны только в переключённом контексте <span class="emphasis"><em>Multi-line Comment</em></span>.</p><pre class="programlisting">&lt;context name="Normal" attribute="Normal Text" lineEndContext="#stay"&gt;
  &lt;RegExpr context="Multi-line Comment" attribute="Comment" String="\[(=*)\[" beginRegion="RegionComment"/&gt;
&lt;/context&gt;
&lt;context name="Multi-line Comment" attribute="Comment" lineEndContext="#stay"&gt;
  &lt;StringDetect context="#pop" attribute="Comment" String="]%1]" dynamic="true" endRegion="RegionComment"/&gt;
&lt;/context&gt;
</pre><p>Пример 2:</p><p>В динамическом правиле <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>%1</code></em></span> соответствует захваченному фрагменту текста, который соответствует шаблону <strong class="userinput"><code>#+</code></strong>, а <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>%2</code></em></span> — шаблону <strong class="userinput"><code>&amp;quot;+</code></strong>. Следовательно, соответствующий фрагмент текста будет таким: <strong class="userinput"><code>#метка""""в контексте""""#</code></strong>.</p><p>Захваченными данным нельзя будет воспользоваться в других контекстах, таких как <span class="emphasis"><em>OtherContext</em></span>, <span class="emphasis"><em>FindEscapes</em></span> или <span class="emphasis"><em>SomeContext</em></span>.</p><pre class="programlisting">&lt;context name="SomeContext" attribute="Normal Text" lineEndContext="#stay"&gt;
  &lt;RegExpr context="#pop!NamedString" attribute="String" String="(#+)(?:[\w-]|[^[:ascii:]])(&amp;quot;+)"/&gt;
&lt;/context&gt;
&lt;context name="NamedString" attribute="String" lineEndContext="#stay"&gt;
  &lt;RegExpr context="#pop!OtherContext" attribute="String" String="%2(?:%1)?" dynamic="true"/&gt;
  &lt;DetectChar context="FindEscapes" attribute="Escape" char="\"/&gt;
&lt;/context&gt;
</pre><p>Пример 3:</p><p>Эта запись соответствует такому тексту: <strong class="userinput"><code>Class::function&lt;T&gt;( ... )</code></strong>.</p><pre class="programlisting">&lt;context name="Normal" attribute="Normal Text" lineEndContext="#stay"&gt;
  &lt;RegExpr context="FunctionName" lookAhead="true"
              String="\b([a-zA-Z_][\w-]*)(::)([a-zA-Z_][\w-]*)(?:&amp;lt;[\w\-\s]*&amp;gt;)?(\()"/&gt;
&lt;/context&gt;
&lt;context name="FunctionName" attribute="Normal Text" lineEndContext="#pop"&gt;
  &lt;StringDetect context="#stay" attribute="Class" String="%1" dynamic="true"/&gt;
  &lt;StringDetect context="#stay" attribute="Operator" String="%2" dynamic="true"/&gt;
  &lt;StringDetect context="#stay" attribute="Function" String="%3" dynamic="true"/&gt;
  &lt;DetectChar context="#pop" attribute="Normal Text" char="4" dynamic="true"/&gt;
&lt;/context&gt;
</pre><div class="itemizedlist"><p class="title"><b>Локальные разделители</b></p><p>В некоторых правилах можно воспользоваться дополнительными атрибутами <strong class="userinput"><code>weakDeliminator</code></strong> и <strong class="userinput"><code>additionalDeliminator</code></strong>, которые сочетаются с атрибутами с тем же названием тега<strong class="userinput"><code>keywords</code></strong>. Например, если <strong class="userinput"><code>'%'</code></strong> является слабым разделителем <strong class="userinput"><code>keywords</code></strong>, он может статьразделителем слов только для определённого правила, если его добавить в атрибут <strong class="userinput"><code>additionalDeliminator</code></strong> этого правила. Если правило разрешает эти атрибуты, оно содержит запись <span class="emphasis"><em>(локальные разделители)</em></span>. </p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>weakDeliminator</em></span>: список символов, не являющихся разделителями слов.</p></li><li class="listitem"><p><span class="emphasis"><em>additionalDeliminator</em></span>: определяет дополнительные символы разметки.</p></li></ul></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="highlighting-rules-in-detail"></a>Подробные сведения о правилах</h4></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term">DetectChar</span></dt><dd><p>Проверка на соответствие одному определённому символу. Обычно используется для поиска конца строк, взятых в кавычки.</p><pre class="programlisting">&lt;DetectChar char="(символ)" (общие атрибуты) (dynamic) /&gt;</pre><p>Атрибут <strong class="userinput"><code>char</code></strong> определяет символ, с которым будет происходить сравнение.</p></dd><dt><span class="term">Detect2Chars</span></dt><dd><p>Проверка на соответствие двум определённым символам в заданном порядке.</p><pre class="programlisting">&lt;Detect2Chars char="(символ)" char1="(символ)" (общие атрибуты) /&gt;</pre><p>Атрибут <strong class="userinput"><code>char</code></strong> определяет первый символ, с которым будет происходить сравнение, <strong class="userinput"><code>char1</code></strong> — второй.</p></dd><dt><span class="term">AnyChar</span></dt><dd><p>Проверка на соответствие одному символу из набора указанных символов.</p><pre class="programlisting">&lt;AnyChar String="(строка)" (общие атрибуты) /&gt;</pre><p>Атрибут <strong class="userinput"><code>String</code></strong> определяет набор символов.</p></dd><dt><span class="term">StringDetect</span></dt><dd><p>Проверка на соответствие указанной строке.</p><pre class="programlisting">&lt;StringDetect String="(строка)" [insensitive="true|false"] (общие атрибуты) (dynamic) /&gt;</pre><p>Атрибут <strong class="userinput"><code>String</code></strong> определяет строку, с которой будет происходить сравнение. Атрибут <strong class="userinput"><code>insensitive</code></strong> по умолчанию имеет значение <span class="emphasis"><em>false</em></span>, этот атрибут передаётся функции сравнения строк. Если он имеет значение <span class="emphasis"><em>true</em></span>, сравнение выполняется без учёта регистра.</p></dd><dt><span class="term">WordDetect</span></dt><dd><p>Проверка на соответствие указанной строке, но с дополнительным требованием относительно границ слов, в частности, точки <strong class="userinput"><code>'.'</code></strong> или пробела в начале и конце слова. Обработка <strong class="userinput"><code>\b&lt;string&gt;\b</code></strong> выполняется подобно обработке регулярного выражения, но быстрее, чем обработка правила <strong class="userinput"><code>RegExpr</code></strong>.</p><pre class="programlisting">&lt;WordDetect String="(строка)" [insensitive="true|false"] (общие атрибуты) (локальные разделители) /&gt;</pre><p>Атрибут <strong class="userinput"><code>String</code></strong> определяет строку, с которой будет происходить сравнение. Атрибут <strong class="userinput"><code>insensitive</code></strong> по умолчанию имеет значение <span class="emphasis"><em>false</em></span>, этот атрибут передаётся функции сравнения строк. Если он имеет значение <span class="emphasis"><em>true</em></span>, сравнение выполняется без учёта регистра.</p><p>Начиная с <span class="application">Kate</span> 3.5 (<span class="orgname">KDE</span> 4.5)</p></dd><dt><span class="term">RegExpr</span></dt><dd><p>Проверка на совпадение с регулярным выражением.</p><pre class="programlisting">&lt;RegExpr String="(строка)" [insensitive="true|false"] [minimal="true|false"] (общие атрибуты) (dynamic) /&gt;</pre><p>Атрибут <strong class="userinput"><code>String</code></strong> определяет регулярное выражение.</p><p><strong class="userinput"><code>insensitive</code></strong> по умолчанию имеет значение <span class="emphasis"><em>false</em></span>, этот атрибут передаётся движку поиска по регулярным выражениям.</p><p><strong class="userinput"><code>minimal</code></strong> по умолчанию имеет значение <span class="emphasis"><em>false</em></span>, этот атрибут передаётся движку поиска по регулярным выражениям.</p><p>Поскольку поиск соответствий для применения правила всегда происходит в начале текущей строки, регулярное выражение, начинающееся с символа каретки (<code class="literal">^</code>), указывает на то, что поиск соответствия правилу следует выполнять только в начале строки.</p><p>Подробные сведения доступны в разделе <a class="link" href="regular-expressions.html" title="Приложение A. Регулярные выражения">Регулярные выражения</a>.</p></dd><dt><span class="term">keyword</span></dt><dd><p>Проверка на соответствие ключевому слову из указанного списка.</p><pre class="programlisting">&lt;keyword String="(название списка)" (общие атрибуты) (локальные разделители) /&gt;</pre><p>Атрибут <strong class="userinput"><code>String</code></strong> определяет название списка ключевых слов. Список с указанным названием уже должен существовать.</p><p>Система подсветки обрабатывает правила ключевых слов оптимизированным способом. Поэтому совершенно необходимо, чтобы все ключевые слова, которые следует найти, были ограничены заданными разделителями, заранее предусмотренными (разделителями по умолчанию) или явно указанными в свойстве <span class="emphasis"><em>additionalDeliminator</em></span> тега <span class="emphasis"><em>keywords</em></span>.</p><p>Если ключевое слово, которое следует найти, должно содержать символ разделителя, соответствующий символ следует добавить в свойство <span class="emphasis"><em>weakDeliminator</em></span> тега <span class="emphasis"><em>keywords</em></span>. После этого символ утратит своё свойство разделителя во всех правилах <span class="emphasis"><em>keyword</em></span>. Также можно воспользоваться атрибутом <span class="emphasis"><em>weakDeliminator</em></span> тега <span class="emphasis"><em>keyword</em></span>, чтобы конкретное изменение применялось только к конкретному правилу.</p></dd><dt><span class="term">Int</span></dt><dd><p>Проверка на соответствие целому числу (регулярное выражение: <strong class="userinput"><code>\b[0-9]+</code></strong>).</p><pre class="programlisting">&lt;Int (общие атрибуты) (локальные разделители) /&gt;</pre><p>У этого правила нет специфичных атрибутов.</p></dd><dt><span class="term">Float</span></dt><dd><p>Проверка на соответствие числу с плавающей точкой (регулярное выражение: <strong class="userinput"><code>(\b[0-9]+\.[0-9]*|\.[0-9]+)([eE][-+]?[0-9]+)?</code></strong>).</p><pre class="programlisting">&lt;Float (общие атрибуты) (локальные разделители) /&gt;</pre><p>У этого правила нет специфичных атрибутов.</p></dd><dt><span class="term">HlCOct</span></dt><dd><p>Проверка на соответствие восьмеричному преставлению числа (регулярное выражение: <strong class="userinput"><code>\b0[0-7]+</code></strong>).</p><pre class="programlisting">&lt;HlCOct (общие атрибуты) (локальные разделители) /&gt;</pre><p>У этого правила нет специфичных атрибутов.</p></dd><dt><span class="term">HlCHex</span></dt><dd><p>Проверка на соответствие шестнадцатеричному представлению числа (регулярное выражение: <strong class="userinput"><code>\b0[xX][0-9a-fA-F]+</code></strong>).</p><pre class="programlisting">&lt;HlCHex (общие атрибуты) (локальные разделители) /&gt;</pre><p>У этого правила нет специфичных атрибутов.</p></dd><dt><span class="term">HlCStringChar</span></dt><dd><p>Проверка на соответствие символу управляющей последовательности.</p><pre class="programlisting">&lt;HlCStringChar (общие атрибуты) /&gt;</pre><p>У этого правила нет специфичных атрибутов.</p><p>Проверка на соответствие символам, которые часто используются в коде программ, например <strong class="userinput"><code>\n</code></strong> (переход на новую строку) или <strong class="userinput"><code>\t</code></strong> (табуляция).</p><p>Поиск будет выполняться по перечисленным далее символам, если эти символы расположены сразу после обратной косой черты (<code class="literal">\</code>): <strong class="userinput"><code>abefnrtv"'?\</code></strong>. Кроме того, соответствующими считаются экранированные шестнадцатеричные числа, например <strong class="userinput"><code>\xff</code></strong>, и экранированные восьмеричные числа, например <strong class="userinput"><code>\033</code></strong>.</p></dd><dt><span class="term">HlCChar</span></dt><dd><p>Проверка на соответствие символу C.</p><pre class="programlisting">&lt;HlCChar (общие атрибуты) /&gt;</pre><p>У этого правила нет специфичных атрибутов.</p><p>Проверка на соответствие символам C, заключённым в одинарные кавычки (пример: <strong class="userinput"><code>'c'</code></strong>). Кавычки могут содержать обычный или экранированный символ. Сведения о поиске экранированных последовательностей символов доступны в пункте, посвящённом HlCStringChar.</p></dd><dt><span class="term">RangeDetect</span></dt><dd><p>Проверка на соответствие строке с заданными символами начала и конца.</p><pre class="programlisting">&lt;RangeDetect char="(символ)"  char1="(символ)" (общие атрибуты) /&gt;</pre><p><strong class="userinput"><code>char</code></strong> определяет символ начала диапазона, <strong class="userinput"><code>char1</code></strong> — символ конца диапазона.</p><p>Полезно для поиска, например, небольших строк в кавычках и тому подобного, но следует учитывать, что, поскольку движок подсветки обрабатывает за раз только одну строку, таким образом невозможно найти строки в кавычках, которые продолжаются после разрыва строки.</p></dd><dt><span class="term">LineContinue</span></dt><dd><p>Проверка на соответствие указанному символу в конце строки.</p><pre class="programlisting">&lt;LineContinue (общие атрибуты) [char="\"] /&gt;</pre><p>Необязательный для установления соответствия атрибут <strong class="userinput"><code>char</code></strong>, значением по умолчанию является символ обратной косой черты (<strong class="userinput"><code>'\'</code></strong>). Введён с <span class="orgname">KDE</span> 4.13.</p><p>Это правило позволяет переключить контекст в конце строки. Такая возможность требуется, например, в коде на языке C/C++ для продолжения макросов или строк.</p></dd><dt><span class="term">IncludeRules</span></dt><dd><p>Включение правил из другого контекста, языка или файла.</p><pre class="programlisting">&lt;IncludeRules context="ссылка на контекст" [includeAttrib="true|false"] /&gt;</pre><p>Атрибут <strong class="userinput"><code>context</code></strong> определяет контекст, который следует включить.</p><p>Если значением является простая строка, в текущий контекст будут включены все заданные правила, например: </p><pre class="programlisting">&lt;IncludeRules context="anotherContext" /&gt;</pre><p>Если строка содержит последовательность символов <strong class="userinput"><code>##</code></strong>, система подсветки выполнит поиск контекста в другом определении языка с указанным названием. Например, </p><pre class="programlisting">&lt;IncludeRules context="String##C++" /&gt;</pre><p> позволяет включить контекст <span class="emphasis"><em>String</em></span> из определения правил подсветки <span class="emphasis"><em>C++</em></span>.</p><p>Если атрибут <strong class="userinput"><code>includeAttrib</code></strong> имеет значение <span class="emphasis"><em>true</em></span>, атрибут назначения будет изменён на атрибут источника. Это необходимо, например, для выполнения комментирования в том случае, если подсветка соответствующего включённому контексту текста отличается от подсветки из основного контекста. </p></dd><dt><span class="term">DetectSpaces</span></dt><dd><p>Поиск пробелов.</p><pre class="programlisting">&lt;DetectSpaces (общие атрибуты) /&gt;</pre><p>У этого правила нет специфичных атрибутов.</p><p>Этим правилом следует воспользоваться, если известно, что перед текстом строки может быть несколько пробелов, например, в начале строк с отступом. С помощью этого правила возможно пропустить сразу все пробелы, а не проводить последовательную проверку на основе нескольких правил, каждое из которых будет предоставлять возможность отвергать по одному пробелу за раз из-за несоответствия.</p></dd><dt><span class="term">DetectIdentifier</span></dt><dd><p>Поиск строк идентификаторов (регулярное выражение: <strong class="userinput"><code>[a-zA-Z_][a-zA-Z0-9_]*</code></strong>).</p><pre class="programlisting">&lt;DetectIdentifier (общие атрибуты) /&gt;</pre><p>У этого правила нет специфичных атрибутов.</p><p>С помощью этого правила возможно сразу пропустить строку из словообразующих символов, а не выполнять последовательную проверку на основе нескольких правил, каждое из которых будет предоставлять возможность отвергать по одному символу за раз из-за несоответствия.</p></dd></dl></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idm4481"></a>Советы и рекомендации</h4></div></div></div><div class="itemizedlist"><p>Понимание принципов работы средства переключения контекста позволяет перейти к написанию собственных определений подсветки. Но следует с осторожностью относиться к выбору правил. Регулярные выражения предоставляют обширную функциональность, но работают достаточно медленно по сравнению с другими правилами. Воспользуйтесь приведёнными далее советами. </p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Если необходимо определить соответствие только двух символов, используйте <strong class="userinput"><code>Detect2Chars</code></strong> вместо <strong class="userinput"><code>StringDetect</code></strong>. То же относится и к <strong class="userinput"><code>DetectChar</code></strong>.</p></li><li class="listitem"><p>Регулярные выражения просты в использовании, но зачастую имеются способы, позволяющие намного быстрее получить тот же результат. Предположим, требуется проверить, является ли <strong class="userinput"><code>'#'</code></strong> первым символом в строке. Соответствующее регулярное выражение выглядело бы следующим образом: </p><pre class="programlisting">&lt;RegExpr attribute="Macro" context="macro" String="^\s*#" /&gt;</pre><p> Тот же результат возможно получить гораздо быстрее: </p><pre class="programlisting">&lt;DetectChar attribute="Macro" context="macro" char="#" firstNonSpace="true" /&gt;</pre><p> Если требуется найти регулярное выражение <strong class="userinput"><code>'^#'</code></strong>, возможно опять же использовать <strong class="userinput"><code>DetectChar</code></strong> с атрибутом <strong class="userinput"><code>column="0"</code></strong>. Отсчёт значения атрибута <strong class="userinput"><code>column</code></strong> основан на количестве символов, следовательно, табуляция считается одним символом. </p></li><li class="listitem"><p>В правилах <strong class="userinput"><code>RegExpr</code></strong> используйте атрибут <strong class="userinput"><code>column="0"</code></strong>, если будет использован шаблон <strong class="userinput"><code>^ШАБЛОН</code></strong> для установления соответствия текста в начале строки. Это ускорит обработку, так как средству обработки не потребуется выполнять поиск в остальных позициях строки.</p></li><li class="listitem"><p>Используйте в регулярных выражениях группы без захвата <strong class="userinput"><code>(?:ШАБЛОН)</code></strong> вместо групп с захватом <strong class="userinput"><code>(ШАБЛОН)</code></strong>, если захваченные данные не будут использоваться в том же регулярном выражении или в динамических правилах. Это позволяет избежать ненужного хранения этих данных.</p></li><li class="listitem"><p>Возможно переключать контексты без обработки символов. Предположим, что требуется переключить контекст при обнаружении строки <strong class="userinput"><code>*/</code></strong>, но при этом обработать эту строку в следующем контексте. Приведённое далее правило позволяет найти соответствие, а благодаря атрибуту <strong class="userinput"><code>lookAhead</code></strong> средство определения подсветки сохранит найденную строку для обработки в следующем контексте. </p><pre class="programlisting">&lt;Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" /&gt;</pre><p>
</p></li><li class="listitem"><p>Используйте <strong class="userinput"><code>DetectSpaces</code></strong>, если известно, что имеется несколько пробелов.</p></li><li class="listitem"><p>Используйте <strong class="userinput"><code>DetectIdentifier</code></strong> вместо регулярного выражения <strong class="userinput"><code>'[a-zA-Z_]\w*'</code></strong>.</p></li><li class="listitem"><p>Используйте стили по умолчанию всегда, когда это возможно. Это позволит пользователям работать в знакомой среде.</p></li><li class="listitem"><p>Просмотрите другие файлы <acronym class="acronym">XML</acronym>, чтобы узнать, как другие пользователи реализуют сложные правила.</p></li><li class="listitem"><p>Корректность каждого файла <acronym class="acronym">XML</acronym> возможно проверить с помощью команды <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>validatehl.sh language.xsd mySyntax.xml</strong></span></span>. Файлы <code class="filename">validatehl.sh</code> и <code class="filename">language.xsd</code> доступны в <a class="ulink" href="https://commits.kde.org/syntax-highlighting?path=data/schema" target="_top">репозитории подсветки синтаксиса</a>. </p></li><li class="listitem"><p>Если в файле часто используются сложные регулярные выражения, возможно воспользоваться определением <span class="emphasis"><em>ENTITIES</em></span>. Пример:</p><pre class="programlisting">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE language SYSTEM "language.dtd"
[
        &lt;!ENTITY myref    "[A-Za-z_:][\w.:_-]*"&gt;
]&gt;
</pre><p>После такого определения возможно использовать <span class="emphasis"><em>&amp;myref;</em></span> вместо регулярного выражения.</p></li></ul></div></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="dev.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="color-themes.html">След.</a></td></tr><tr><td class="prevCell">Расширение функциональных возможностей <span class="application">KatePart</span> </td><td class="upCell">Расширение функциональных возможностей <span class="application">KatePart</span></td><td class="nextCell"> Работа с цветовыми схемами</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="color-themes.html"><html><head><title>Работа с цветовыми схемами</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="dev.html" title="Глава 6. Расширение функциональных возможностей KatePart"><link rel="prev" href="highlight.html" title="Подсветка синтаксиса"><link rel="next" href="dev-scripting.html" title="Написание сценариев JavaScript"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Работа с цветовыми схемами</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="highlight.html">Пред.</a></td><td class="upCell">Расширение функциональных возможностей <span class="application">KatePart</span></td><td class="nextCell"><a accesskey="n" href="dev-scripting.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="color-themes"></a>Работа с цветовыми схемами</h2></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="color-themes-overview"></a>Обзор</h3></div></div></div><p>Цветовые схемы определяют цвета <a class="link" href="kate-part.html" title="Глава 3. Работа с редактором KatePart">области редактирования текста</a> и <a class="link" href="highlight.html" title="Подсветка синтаксиса">подсветку синтаксиса</a>. Цветовая схема включает следующее: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Стиль текста, используемый для подсветки синтаксиса через <span class="emphasis"><em>атрибуты типовых стилей</em></span>. Например, цвет текста и цвет выделенного текста.</p></li><li class="listitem"><p>Фон области редактирования текста, включая выделение текста и текущую строку.</p></li><li class="listitem"><p>Полоса закладок области текста: их фон, разделительная линия, номера строк, маркеры переноса строк, маркеры изменённых строк и сворачивание кода.</p></li><li class="listitem"><p>Декораторы текста, такие как маркеры поиска, отступов и табуляции или пробелов, обозначение парных скобок и разметка при проверке правописания.</p></li><li class="listitem"><p>Закладки и фрагменты текста.</p></li></ul></div><p>
</p><p>Это не касается следующих параметров интерфейса: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Тип шрифта и размер шрифта.</p></li><li class="listitem"><p>Цвета в программе редактирования текста, в частности на карте полосы прокрутки, в меню, на панели вкладок, цвет окна и так далее. В приложениях <span class="orgname">KDE</span>, в частности <span class="application">Kate</span> или <span class="application">KDevelop</span>, эти цвета определяются <strong class="userinput"><code>глобальной схемой цветов <span class="orgname">KDE</span> <span class="productname">Plasma</span></code></strong>, которая указана в <a class="ulink" href="help:/kcontrol/colors/" target="_top">модуле «Цвета» программы «Параметры системы»</a> или в самой программе, в меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Настройка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Цветовая схема</span></span>.  </p></li></ul></div><p>
</p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="breeze-color-theme-preview.png" alt="Цветовые схемы «Breeze, светлый вариант» и «Breeze, тёмный вариант» с подсветкой синтаксиса «C++»."><div class="caption"><p>Цветовые схемы <span class="quote">«<span class="quote">Breeze, светлый вариант</span>»</span> и <span class="quote">«<span class="quote">Breeze, тёмный вариант</span>»</span> с подсветкой синтаксиса <span class="quote">«<span class="quote">C++</span>»</span>.</p></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="color-themes-ksyntaxhighlighting"></a>Цветовые схемы KSyntaxHighlighting</h3></div></div></div><p><a class="ulink" href="https://api.kde.org/frameworks/syntax-highlighting/html/" target="_top">KSyntaxHighlighting</a> — это движок <a class="link" href="highlight.html" title="Подсветка синтаксиса">подсветки синтаксиса</a>, библиотека, которая <strong class="userinput"><code>предоставляет доступ к цветовым схемам и позволяет управлять ими</code></strong>. Она является частью <span class="orgname">KDE</span> <span class="productname">Frameworks</span>, её используют текстовые редакторы <span class="orgname">KDE</span>, такие как <a class="ulink" href="https://apps.kde.org/en/kate" target="_top"><span class="application">Kate</span></a>, <a class="ulink" href="https://apps.kde.org/en/kwrite" target="_top"><span class="application">KWrite</span></a>, <a class="ulink" href="https://apps.kde.org/en/kile" target="_top"><span class="application">Kile</span></a> и <a class="ulink" href="https://apps.kde.org/en/kdevelop" target="_top"><span class="application">KDevelop</span></a>. Эта зависимость выглядит следующим образом:</p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kf5-ksyntaxhighlighting.png" alt="Зависимость от библиотек KDE Frameworks 5 в текстовых редакторах."><div class="caption"><p>Зависимость от библиотек <span class="orgname">KDE</span> <span class="productname">Frameworks</span> в текстовых редакторах.</p></div></div><p>KSyntaxHighlighting включает ряд встроенных схем, которые показаны на странице <a class="ulink" href="https://kate-editor.org/themes/" target="_top"><span class="quote">«<span class="quote">цветовых схем</span>»</span> веб-сайта редактора Kate</a>.</p><p>Библиотека <a class="ulink" href="https://api.kde.org/frameworks/ktexteditor/html/" target="_top">KTextEditor</a>, которая представляет собой движок редактирования текста, предоставляет интерфейс пользователя для создания и редактирования цветовых схем, в том числе средство импорта и экспорта схем. С помощью этого интерфейса проще всего создавать и редактировать схемы; чтобы получить доступ к нему, следует открыть диалоговое окно <a class="link" href="config-dialog.html" title="Глава 7. Настройка KatePart"><span class="quote">«<span class="quote">Настройка</span>»</span></a> текстового редактора. Подробнее: <a class="xref" href="color-themes.html#color-themes-gui" title="Графический интерфейс цветовых схем">«Графический интерфейс цветовых схем»</a>.</p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="color-themes-gui-breeze-dark-default-text-styles.png" alt="Графический интерфейс для управления цветовыми схемами в параметрах Kate."><div class="caption"><p>Графический интерфейс для управления цветовыми схемами в параметрах <span class="application">Kate</span>.</p></div></div><p>Важно помнить, что в текстовых редакторах <span class="orgname">KDE</span>, таких как <span class="application">Kate</span> или <span class="application">KDevelop</span>, цветовые схемы KSyntaxHighlighting используются <a class="ulink" href="https://kate-editor.org/post/2020/2020-09-13-kate-color-themes-5.75/" target="_top">с <span class="orgname">KDE</span> <span class="productname">Frameworks</span> 5.75</a> (дата выхода — 10 октября 2020 года). Ранее использовались цветовые схемы <span class="application">Kate</span> (настройка схемы на основеKConfig), которые теперь считаются устаревшими. Тем не менее, возможно преобразовать старые схемы <span class="application">Kate</span> в цветовые схемы KSyntaxHighlighting. <a class="ulink" href="https://invent.kde.org/frameworks/syntax-highlighting" target="_top">Репозиторий KSyntaxHighlighting</a> содержит сценарий <strong class="userinput"><code>utils/kateschema_to_theme_converter.py</code></strong> и утилиту <strong class="userinput"><code>utils/schema-converter/</code></strong>, предназначенные для этого. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="color-themes-json"></a>Формат <acronym class="acronym">JSON</acronym> цветовых схем</h3></div></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="color-themes-json-overview"></a>Обзор</h4></div></div></div><p>Цветовые схемы хранятся в файлах формата <acronym class="acronym">JSON</acronym> с расширением <strong class="userinput"><code>.theme</code></strong>.</p><p>В <a class="ulink" href="https://invent.kde.org/frameworks/syntax-highlighting" target="_top">хранилище исходного кода KSyntaxHighlighting</a> файлы <acronym class="acronym">JSON</acronym> встроенных схем располагаются в каталоге <strong class="userinput"><code>data/themes/</code></strong>. Обратите внимание, что в текстовых редакторах встроенные схемы скомпилированы в библиотеку KSyntaxHighlighting.Поэтому для доступа к ним требуется исходный код или <a class="link" href="color-themes.html#color-themes-gui-import-export" title="Импорт или экспорт файлов схем JSON">выполнение экспорта из графического интерфейса управления схемами KTextEditor</a>.</p><p>Также возможно легко добавлять дополнительные или пользовательские схемы, которые будут загружаться из файловой системы компьютера. Пользовательские файлы схем расположены в каталоге <code class="filename">org.kde.syntax-highlighting/themes/</code> в папке пользователя (её расположение возможно определить с помощью команды <strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>qtpaths</strong></span></span><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="option"><code class="option"> --paths GenericDataLocation</code></span></code></strong>, обычно это <code class="filename"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="envar"><code class="envar">$HOME</code></span>/.local/share/</code> и <code class="filename">/usr/share/</code>). </p><p>В случае пакетов Flatpak и Snap расположение данных различается в зависимости от конкретного приложения. В приложении Flatpak расположением пользовательских файлов схем обычно является <code class="filename"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="envar"><code class="envar">$HOME</code></span>/.var/app/<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>название-пакета-flatpak</code></em></span>/data/org.kde.syntax-highlighting/themes/</code>, а в приложении Snap — <code class="filename"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="envar"><code class="envar">$HOME</code></span>/snap/<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>название-пакета-snap</code></em></span>/current/.local/share/org.kde.syntax-highlighting/themes/</code>. </p><p>В <span class="trademark">Windows</span>® эти файлы хранятся в <code class="filename">%USERPROFILE%\AppData\Local\org.kde.syntax-highlighting\themes</code>. <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>%USERPROFILE%</code></em></span> обычно имеет значение <code class="filename">C:\Users\<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>пользователь</code></em></span></code>.</p><p>В целом, для большинства конфигураций каталогом пользовательских схем будет:</p><div class="informaltable"><table class="informaltable" border="1"><colgroup><col><col></colgroup><tbody><tr><td>Для локального пользователя</td><td><code class="filename"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="envar"><code class="envar">$HOME</code></span>/.local/share/org.kde.syntax-highlighting/themes/</code></td></tr><tr><td>Для всех пользователей</td><td><code class="filename">/usr/share/org.kde.syntax-highlighting/themes/</code></td></tr><tr><td>Для пакетов Flatpak</td><td><code class="filename"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="envar"><code class="envar">$HOME</code></span>/.var/app/<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>название-пакета-flatpak</code></em></span>/data/org.kde.syntax-highlighting/themes/</code></td></tr><tr><td>Для пакетов Snap</td><td><code class="filename"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="envar"><code class="envar">$HOME</code></span>/snap/<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>название-пакета-snap</code></em></span>/current/.local/share/org.kde.syntax-highlighting/themes/</code></td></tr><tr><td>В <span class="trademark">Windows</span>®</td><td><code class="filename">%USERPROFILE%\AppData\Local\org.kde.syntax-highlighting\themes</code></td></tr></tbody></table></div><p>Если имеется несколько файлов схем с одним и тем же именем, будет загружен файл с наибольшим значением атрибута <strong class="userinput"><code>revision</code></strong>. </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="color-themes-json-basic"></a>Структура <acronym class="acronym">JSON</acronym></h4></div></div></div><p>Описание структуры файла <acronym class="acronym">JSON</acronym> приводится на <a class="ulink" href="https://www.json.org" target="_top">соответствующем веб-сайте</a>. Как правило, файл формата <acronym class="acronym">JSON</acronym> состоит из следующих компонентов: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Наборы разделённых запятыми пар «ключ/значение», заключённые в фигурные скобки<strong class="userinput"><code>{ }</code></strong>. Эти наборы называются <span class="quote">«<span class="quote">объектами</span>»</span>.</p></li><li class="listitem"><p>Упорядоченные списки разделённых запятыми значений, заключённые в квадратные скобки <strong class="userinput"><code>[ ]</code></strong>. Эти списки называются <span class="quote">«<span class="quote">массивами</span>»</span>.</p></li></ul></div><p>
</p><p>В этом руководстве используются термины <span class="quote">«<span class="quote">ключ</span>»</span>, <span class="quote">«<span class="quote">значение</span>»</span>, <span class="quote">«<span class="quote">объект</span>»</span> и <span class="quote">«<span class="quote">массив</span>»</span>. Если пользователь не работал с файлами <acronym class="acronym">JSON</acronym> ранее, понять эту терминологию помогут приведённые далее примеры. </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="color-themes-json-root"></a>Основные разделы файлов <acronym class="acronym">JSON</acronym> цветовых схем</h4></div></div></div><p>Корневой объект файла <acronym class="acronym">JSON</acronym> цветовой схемы содержит следующие ключи схемы:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><strong class="userinput"><code>metadata</code></strong>: является обязательным. Значение представляет собой объект с метаданными схемы, такими как её название, версия и условия лицензирования.</p><p>Подробнее: <a class="xref" href="color-themes.html#color-themes-json-metadata" title="Метаданные">«Метаданные»</a>.</p></li><li class="listitem"><p><strong class="userinput"><code>editor-colors</code></strong>: является обязательным. Значение представляет собой объект с цветами области редактирования текста, такими как цвет фона, полосы закладок и обрамления текста.</p><p>Подробнее: <a class="xref" href="color-themes.html#color-themes-editor-colors" title="Цвета редактора">«Цвета редактора»</a>.</p></li><li class="listitem"><p><strong class="userinput"><code>text-styles</code></strong>: является обязательным. Значение представляет собой объект с атрибутами <span class="emphasis"><em>типового стиля текста</em></span> для подсветки синтаксиса. Каждый атрибут определяет свой <span class="emphasis"><em>цвет текста</em></span>, <span class="emphasis"><em>цвет выделенного текста</em></span>, а также будет ли шрифт, например, <span class="emphasis"><em>полужирным</em></span> или <span class="emphasis"><em>курсивным</em></span>. На стили текста возможно ссылаться из <a class="link" href="highlight.html#kate-highlight-default-styles" title="Доступные стили по умолчанию">атрибутов файлов <acronym class="acronym">XML</acronym> определения синтаксиса</a>.</p><p>Подробнее: <a class="xref" href="color-themes.html#color-themes-text-styles" title="Стиль текста">«Стиль текста»</a>.</p></li><li class="listitem"><p><strong class="userinput"><code>custom-styles</code></strong>: является необязательным. Определяет стили текста для атрибутов конкретных определений подсветки синтаксиса. Например, в определении подсветки для <strong class="userinput"><code>Python</code></strong> или <strong class="userinput"><code>Markdown</code></strong> возможно указать другой стиль текста, который будет иметь приоритет над стилем по умолчанию, заданным в <strong class="userinput"><code>text-styles</code></strong>.</p><p>Подробнее: <a class="xref" href="color-themes.html#color-themes-custom-styles" title="Для отдельных форматов">«Для отдельных форматов»</a>.</p></li></ul></div><p>Язык <acronym class="acronym">JSON</acronym> не поддерживает комментарии. Тем не менее, для записи комментариев возможно использовать необязательный ключ <strong class="userinput"><code>_comments</code></strong> в корневом объекте. Например, если выполняется адаптация существующей схемы, можно добавить URL-адрес исходного репозитория. Наиболее практичным способом комментирования является использование массива строк. </p><p>Далее приводится пример для схемы <span class="quote">«<span class="quote">Breeze, светлый вариант</span>»</span>. Как можно заметить, объекты <strong class="userinput"><code>editor-colors</code></strong> и <strong class="userinput"><code>text-styles</code></strong> содержат не все необходимые ключи (чтобы пример не был слишком большим). Ознакомиться со всем кодом <a class="ulink" href="https://invent.kde.org/frameworks/syntax-highlighting/-/blob/master/data/themes/breeze-light.theme" target="_top"> схемы <span class="quote">«<span class="quote">Breeze, светлый вариант</span>»</span> возможно в репозитории KSyntaxHighlighting</a>. </p><pre class="programlisting">{
    "_comments": [
        "This is a comment.",
        "If this theme is an adaptation of another, put the link to the original repository."
    ],
    "metadata": {
        "name" : "Breeze Light",
        "revision" : 5,
        "copyright": [
            "SPDX-FileCopyrightText: 2016 Volker Krause &lt;vkrause@kde.org&gt;",
            "SPDX-FileCopyrightText: 2016 Dominik Haumann &lt;dhaumann@kde.org&gt;"
        ],
        "license": "SPDX-License-Identifier: MIT"
    },
    "editor-colors": {
        "BackgroundColor" : "#ffffff",
        "CodeFolding" : "#94caef",
        "BracketMatching" : "#ffff00",
        "CurrentLine" : "#f8f7f6",
        "IconBorder" : "#f0f0f0",
        "IndentationLine" : "#d2d2d2",
        "LineNumbers" : "#a0a0a0",
        "CurrentLineNumber" : "#1e1e1e",
        <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>Другие ключи цвета редактора...</code></em></span>

    },
    "text-styles": {
        "Normal" : {
            "text-color" : "#1f1c1b",
            "selected-text-color" : "#ffffff",
            "bold" : false,
            "italic" : false,
            "underline" : false,
            "strike-through" : false
        },
        "Keyword" : {
            "text-color" : "#1f1c1b",
            "selected-text-color" : "#ffffff",
            "bold" : true
        },
        "Function" : {
            "text-color" : "#644a9b",
            "selected-text-color" : "#452886"
        },
        "Variable" : {
            "text-color" : "#0057ae",
            "selected-text-color" : "#00316e"
        },
        <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>Другие ключи стиля текста...</code></em></span>

    },
    "custom-styles": {
        "ISO C++": {
            "Data Type": {
                "bold": true,
                "selected-text-color": "#009183",
                "text-color": "#00b5cf"
            },
            "Keyword": {
                "text-color": "#6431b3"
            }
        },
        "YAML": {
            "Attribute": {
                "selected-text-color": "#00b5cf",
                "text-color": "#00b5cf"
            }
        }
    }
}
</pre></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="color-themes-json-metadata"></a>Метаданные</h4></div></div></div><p>Объект <acronym class="acronym">JSON</acronym> ключа <strong class="userinput"><code>metadata</code></strong> содержит соответствующую информацию о схеме. Этот объект имеет следующие ключи: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><strong class="userinput"><code>name</code></strong>: <span class="emphasis"><em>строка</em></span>, определяющая название языка, которое затем будет отображаться в меню и диалоговых окнах. Этот ключ является обязательным.</p></li><li class="listitem"><p><strong class="userinput"><code>revision</code></strong>: <span class="emphasis"><em>целое</em></span> число, которое задаёт текущую версию файла схемы. Не забывайте увеличивать номер версии при каждом обновлении файла схемы. Этот ключ является обязательным.</p></li><li class="listitem"><p><strong class="userinput"><code>license</code></strong>: это <span class="emphasis"><em>строка</em></span>, которая определяет условия лицензирования схемы с помощью идентификатора <strong class="userinput"><code>SPDX-License-Identifier</code></strong> из стандартного <a class="ulink" href="https://spdx.dev/" target="_top">формата обмена условиями лицензирования SPDX</a>. Этот ключ является необязательным.</p><p>Полный список идентификаторов условий лицензирования SPDX доступен <a class="ulink" href="https://spdx.org/licenses/" target="_top">здесь</a>.</p></li><li class="listitem"><p><strong class="userinput"><code>copyright</code></strong>: это <span class="emphasis"><em>массив</em></span> <span class="emphasis"><em>строк</em></span>, который определяет авторов схемы с помощью идентификатора <strong class="userinput"><code>SPDX-FileCopyrightText</code></strong> из стандартного <a class="ulink" href="https://spdx.dev/" target="_top">формата обмена условиями лицензирования SPDX</a>. Этот ключ является необязательным.</p></li></ul></div><p>
</p><pre class="programlisting">"metadata": {
    "name" : "Breeze Light",
    "revision" : 5,
    "copyright": [
        "SPDX-FileCopyrightText: 2016 Volker Krause &lt;vkrause@kde.org&gt;",
        "SPDX-FileCopyrightText: 2016 Dominik Haumann &lt;dhaumann@kde.org&gt;"
    ],
    "license": "SPDX-License-Identifier: MIT"
}
</pre></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="color-themes-editing"></a>Подробные сведения о цветах</h3></div></div></div><p>В этом разделе приводится описание всех доступных атрибутов цветов и доступных параметров цветов.</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="color-themes-editor-colors"></a>Цвета редактора</h4></div></div></div><p>Соответствует цветам <a class="link" href="kate-part.html" title="Глава 3. Работа с редактором KatePart">области редактирования текста</a>.</p><p>В <a class="link" href="color-themes.html#color-themes-json" title="Формат JSON цветовых схем">файле <acronym class="acronym">JSON</acronym> схемы</a> значением соответствующего ключа <strong class="userinput"><code>editor-colors</code></strong> является<span class="emphasis"><em>объект</em></span>, в котором каждый ключ указывает цвет атрибута в текстовом редакторе. Здесь <strong class="userinput"><code>все доступные ключи являются обязательными</code></strong>. Их значения представляют собой <strong class="userinput"><code>строки</code></strong> шестнадцатеричных цветовых кодов, например <span class="quote">«<span class="quote">#00B5CF</span>»</span>. </p><p>В <a class="link" href="color-themes.html#color-themes-gui" title="Графический интерфейс цветовых схем">графическом интерфейсе для управления схемами KTextEditor</a> эти атрибуты возможно изменить на вкладке <strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Цвета</span></span></code></strong>. </p><p>Доступны следующие ключи; ключи, используемые в <a class="link" href="color-themes.html#color-themes-json" title="Формат JSON цветовых схем">файле <acronym class="acronym">JSON</acronym></a>, выделены <span class="emphasis"><em>полужирным</em></span>, названия, используемые в <a class="link" href="color-themes.html#color-themes-gui" title="Графический интерфейс цветовых схем">графическом интерфейсе</a>, указаны в скобках. </p><div class="variablelist"><dl class="variablelist"><dt><a name="variable-prefcolors-colors-text-background"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Область редактирования</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><a name="variable-pref-colors-normal-text"></a><span class="term"><strong class="userinput"><code>BackgroundColor</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Фон</span></span>)</span></dt><dd><p>Цвет фона всего окна редактора, он будет подложкой под другими цветами в области редактора.</p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="editor-colors-BackgroundColor.png"><div class="caption"><p></p></div></div></dd><dt><a name="variable-pref-colors-selected-text"></a><span class="term"><strong class="userinput"><code>TextSelection</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Выделенный текст</span></span>)</span></dt><dd><p>Фон выделенного текста. </p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="editor-colors-TextSelection.png"><div class="caption"><p></p></div></div></dd><dt><a name="variable-pref-colors-current-line"></a><span class="term"><strong class="userinput"><code>CurrentLine</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Текущая строка</span></span>)</span></dt><dd><p>Фон текущей строки. Если выбрать цвет, немного отличный от цвета фона обычного текста, то это поможет визуально выделять текущую строку и не будет отвлекать от другого текста. </p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="editor-colors-CurrentLine.png"><div class="caption"><p></p></div></div></dd><dt><a name="variable-pref-colors-search-highlight"></a><span class="term"><strong class="userinput"><code>SearchHighlight</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Найденный текст</span></span>)</span></dt><dd><p>Цвет текста, соответствующего последнему поисковому запросу. </p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="editor-colors-SearchHighlight.png"><div class="caption"><p></p></div></div></dd><dt><a name="variable-pref-colors-replace-highlight"></a><span class="term"><strong class="userinput"><code>ReplaceHighlight</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Заменённый текст</span></span>)</span></dt><dd><p>Цвет текста, соответствующего последней операции замены.</p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="editor-colors-ReplaceHighlight.png"><div class="caption"><p></p></div></div></dd></dl></div></dd><dt><a name="variable-prefcolors-colors-icon-border"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Полоса закладок</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><span class="term"><strong class="userinput"><code>IconBorder</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Фон</span></span>)</span></dt><dd><p>Этот цвет используется для закладок, номеров строк и блоков кода, которые показываются у левой границы окна редактирования. </p></dd><dt><span class="term"><strong class="userinput"><code>LineNumbers</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Номера строк</span></span>)</span></dt><dd><p>Этот цвет используется для цифр номеров строк у левой границы окна редактирования.</p></dd><dt><span class="term"><strong class="userinput"><code>CurrentLineNumber</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Номер текущей строки</span></span>)</span></dt><dd><p>Цвет номера текущей строки, отображается у левой границы окна редактирования. Если выбрать цвет, немного отличный от цвета номеров строк, то это поможет визуально выделять текущую строку и не будет отвлекать от другого текста. </p></dd><dt><span class="term"><strong class="userinput"><code>Separator</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Разделитель</span></span>)</span></dt><dd><p>Этот цвет используется для вертикальной линии, отделяющей полосу закладок от фона области текста.</p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="editor-colors-IconBorder.png"><div class="caption"><p></p></div></div></dd><dt><span class="term"><strong class="userinput"><code>WordWrapMarker</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Маркер переноса слов</span></span>)</span></dt><dd><p>Этот цвет используется для маркера динамически перенесённых строк. Также он используется для маркера статического переноса строк.</p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="editor-colors-WordWrapMarker.png"><div class="caption"><p></p></div></div></dd><dt><span class="term"><strong class="userinput"><code>CodeFolding</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Сворачивание блоков кода</span></span>)</span></dt><dd><p>Цвет для выделения части кода, которая будет свёрнута при нажатии стрелки сворачивания кода в левой части окна. Более подробные сведения доступны в разделе, посвящённом <a class="link" href="advanced-editing-tools-code-folding.html" title="Использование сворачивания кода">сворачиванию кода</a>.</p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="editor-colors-CodeFolding.png"><div class="caption"><p></p></div></div></dd><dt><span class="term"><strong class="userinput"><code>ModifiedLines</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Изменённые строки</span></span>)</span></dt><dd><p>Цвет для выделения в левой части окна тех строк, которые были изменены, но ещё не сохранены. Подробнее: <a class="xref" href="kate-part-line-modification.html" title="Маркеры изменённых строк">«Маркеры изменённых строк»</a>.</p></dd><dt><span class="term"><strong class="userinput"><code>SavedLines</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Сохранённые строки</span></span>)</span></dt><dd><p>Цвет для выделения в левой части окна тех строк, которые были изменены в этом сеансе и сохранены. Подробнее: <a class="xref" href="kate-part-line-modification.html" title="Маркеры изменённых строк">«Маркеры изменённых строк»</a>.</p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="editor-colors-ModifiedLines.png"><div class="caption"><p></p></div></div></dd></dl></div></dd><dt><a name="variable-prefcolors-colors-text-decorations"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Обрамление текста</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><span class="term"><strong class="userinput"><code>SpellChecking</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Подчёркивание орфографической ошибки</span></span>)</span></dt><dd><p>Цвет для обозначения орфографических ошибок.</p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="editor-colors-SpellChecking.png"><div class="caption"><p></p></div></div></dd><dt><span class="term"><strong class="userinput"><code>TabMarker</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Маркеры табуляции и пробелов</span></span>)</span></dt><dd><p>Цвет маркеров пробелов, когда они включены.</p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="editor-colors-TabMarker.png"><div class="caption"><p></p></div></div></dd><dt><span class="term"><strong class="userinput"><code>IndentationLine</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Отступы</span></span>)</span></dt><dd><p>Этот цвет используется для рисования линии слева от блоков сотступом, если <a class="link" href="config-dialog.html#appearance-general" title="Главное">включена соответствующаявозможность</a>. </p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="editor-colors-IndentationLine.png"><div class="caption"><p></p></div></div></dd><dt><span class="term"><strong class="userinput"><code>BracketMatching</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Подсветка скобок</span></span>)</span></dt><dd><p>Этот цвет используется для фона парных скобок. </p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="editor-colors-BracketMatching.png"><div class="caption"><p></p></div></div></dd></dl></div></dd><dt><a name="variable-prefcolors-colors-marker-colors"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Маркеры</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><span class="term"><strong class="userinput"><code>MarkBookmark</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Закладка</span></span>)</span></dt><dd><p>Цвет для обозначения закладок. Обратите внимание, что непрозрачность этого цвета составляет 22% (и 33% для текущей строки) относительно фона. Подробнее: <a class="xref" href="kate-part-bookmarks.html" title="Использование закладок">«Использование закладок»</a>.</p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="editor-colors-MarkBookmark.png"><div class="caption"><p></p></div></div></dd><dt><span class="term"><strong class="userinput"><code>MarkBreakpointActive</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Активная точка останова</span></span>)</span></dt><dd><p>Цвет, который используется модулем GDB для обозначения активной точки останова. Обратите внимание, что этот цвет обладает непрозрачностью относительно фона. Более подробные сведения доступны в <a class="ulink" href="help:/kate/kate-application-plugin-gdb.html" target="_top">документации модуля GDB</a>.</p></dd><dt><span class="term"><strong class="userinput"><code>MarkBreakpointReached</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Текущая точка останова</span></span>)</span></dt><dd><p>Цвет, который используется модулем GDB для обозначения точки останова, достигнутой при отладке. Обратите внимание, что этот цвет обладает непрозрачностью относительно фона. Более подробные сведения доступны в <a class="ulink" href="help:/kate/kate-application-plugin-gdb.html" target="_top">документации модуля GDB</a>.</p></dd><dt><span class="term"><strong class="userinput"><code>MarkBreakpointDisabled</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Неактивная точка останова</span></span>)</span></dt><dd><p>Цвет, который используется модулем GDB для обозначения неактивной точки останова. Обратите внимание, что этот цвет обладает непрозрачностью относительно фона. Более подробные сведения доступны в <a class="ulink" href="help:/kate/kate-application-plugin-gdb.html" target="_top">документации модуля GDB</a>.</p></dd><dt><span class="term"><strong class="userinput"><code>MarkExecution</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Выполнение</span></span>)</span></dt><dd><p>Цвет, который используется модулем GDB для текущей исполняемой строки. Обратите внимание, что этот цвет обладает непрозрачностью относительно фона. Более подробные сведения доступны в <a class="ulink" href="help:/kate/kate-application-plugin-gdb.html" target="_top">документации модуля GDB</a>.</p></dd><dt><span class="term"><strong class="userinput"><code>MarkWarning</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Предупреждение</span></span>)</span></dt><dd><p>Цвет, который используется модулем сборки для обозначения строки, в отношении которой от компилятора было получено предупреждение. Обратите внимание, что этот цвет обладает непрозрачностью относительно фона. Более подробные сведения доступны в <a class="ulink" href="help:/kate/kate-application-plugin-build.html" target="_top">документации модуля сборки</a>.</p></dd><dt><span class="term"><strong class="userinput"><code>MarkError</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Ошибка</span></span>)</span></dt><dd><p>Цвет, который используется модулем сборки для обозначения строки, в отношении которой от компилятора было получено сообщение об ошибке. Обратите внимание, что этот цвет обладает непрозрачностью относительно фона. Более подробные сведения доступны в <a class="ulink" href="help:/kate/kate-application-plugin-build.html" target="_top">документации модуля сборки</a>.</p></dd></dl></div></dd><dt><a name="variable-prefcolors-colors-text-templates-snippets"></a><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Шаблоны и фрагменты текста</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><span class="term"><strong class="userinput"><code>TemplateBackground</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Фон</span></span>)</span></dt><dd><p>Цвет, который используется модулем фрагментов <span class="application">Kate</span> для фона фрагмента. Более подробные сведения доступны в <a class="ulink" href="help:/kate/kate-application-plugin-snippets.html" target="_top">документации модуля фрагментов <span class="application">Kate</span></a>.</p></dd><dt><span class="term"><strong class="userinput"><code>TemplatePlaceholder</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Редактируемый местозаполнитель</span></span>)</span></dt><dd><p>Цвет, который используется модулем фрагментов <span class="application">Kate</span> для обозначения местозаполнителя, который возможно нажать для редактирования вручную. Более подробные сведения доступны в <a class="ulink" href="help:/kate/kate-application-plugin-snippets.html" target="_top">документации модуля фрагментов <span class="application">Kate</span></a>.</p></dd><dt><span class="term"><strong class="userinput"><code>TemplateFocusedPlaceholder</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Текущий редактируемый местозаполнитель</span></span>)</span></dt><dd><p>Цвет, который используется модулем фрагментов <span class="application">Kate</span> для обозначения местозаполнителя, который редактируется в текущий момент. Более подробные сведения доступны в <a class="ulink" href="help:/kate/kate-application-plugin-snippets.html" target="_top">документации модуля фрагментов <span class="application">Kate</span></a>.</p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="editor-colors-Template.png"><div class="caption"><p></p></div></div></dd><dt><span class="term"><strong class="userinput"><code>TemplateReadOnlyPlaceholder</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Нередактируемый местозаполнитель</span></span>)</span></dt><dd><p>Цвет, который используется модулем фрагментов <span class="application">Kate</span> для обозначения местозаполнителя, который недоступен для редактирования вручную (например, местозаполнителя, который заполняется автоматически). Более подробные сведения доступны в <a class="ulink" href="help:/kate/kate-application-plugin-snippets.html" target="_top">документации модуля фрагментов <span class="application">Kate</span></a>.</p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="editor-colors-TemplateReadOnlyPlaceholder.png"><div class="caption"><p></p></div></div></dd></dl></div></dd></dl></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="color-themes-text-styles"></a>Стиль текста</h4></div></div></div><p>Типовые стили текста наследуют свои свойства от стилейподсвеченного текста, что дает редактору возможность показывать текст согласованным образом. Например, для текста комментариев используется один и тот же стиль почти во всех форматах текста, которые может подсвечиватьKSyntaxHighlighting. </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примечание</h3><p>На эти стили можно ссылаться в <strong class="userinput"><code>типовых стилях</code></strong>,которые используются в файлах <acronym class="acronym">XML</acronym> определений <a class="link" href="highlight.html" title="Подсветка синтаксиса">подсветки синтаксиса</a>. Например, атрибут <span class="quote">«<span class="quote">Normal</span>»</span>является эквивалентным атрибуту <span class="quote">«<span class="quote">dsNormal</span>»</span> в файлах <acronym class="acronym">XML</acronym>, а<span class="quote">«<span class="quote">DataType</span>»</span> является эквивалентным <span class="quote">«<span class="quote">dsDataType</span>»</span>. Смотритераздел <a class="xref" href="highlight.html#kate-highlight-default-styles" title="Доступные стили по умолчанию">«Доступные стили по умолчанию»</a> в документации поподсветке синтаксиса. </p></div><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Подсказка</h3><p>Следует выбирать хорошо читаемые цвета с достаточной контрастностью, особеннов сочетании с <strong class="userinput"><code><a class="link" href="color-themes.html#color-themes-editor-colors" title="Цвета редактора">цветами редактора</a></code></strong>. Смотрите раздел <a class="xref" href="color-themes.html#color-themes-contrast" title="Контраст цветов текста">«Контраст цветов текста»</a>. </p></div><p>В <a class="link" href="color-themes.html#color-themes-json" title="Формат JSON цветовых схем">файле <acronym class="acronym">JSON</acronym></a> значением соответствующего ключа<strong class="userinput"><code>text-styles</code></strong> является <span class="emphasis"><em>объект</em></span>, каждый ключ которого соответствует названию <span class="emphasis"><em>типового стилятекста</em></span>. Ключи являются эквивалентами ключей, которые используются вопределениях подсветки синтаксиса. Здесь <strong class="userinput"><code>все доступные ключистиля текста обязательны</code></strong>. Список ключей приведён далее. </p><pre class="programlisting">"text-styles": {
    "Normal" : {
        "text-color" : "#1f1c1b",
        "selected-text-color" : "#ffffff",
        "bold" : false,
        "italic" : false,
        "underline" : false,
        "strike-through" : false
    },
    "Keyword" : {
        "text-color" : "#1f1c1b",
        "selected-text-color" : "#ffffff",
        "bold" : true
    },
    "Function" : {
        "text-color" : "#644a9b",
        "selected-text-color" : "#452886"
    },
    <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>Другие ключи стиля текста...</code></em></span>
}
</pre><div class="variablelist"><dl class="variablelist"><dt><span class="term">Значением каждого ключа <span class="emphasis"><em>типового стиля текста</em></span> является объект <acronym class="acronym">JSON</acronym>, в котором указаны такие значения, как <span class="emphasis"><em>color</em></span>, <span class="emphasis"><em>bold</em></span>, <span class="emphasis"><em>italic</em></span> и так далее. Вот эти ключи: </span></dt><dd><p><strong class="userinput"><code>text-color</code></strong>: <span class="emphasis"><em>строка</em></span> с шестнадцатеричным цветовым кодом. Эта пара «ключ/значение» обязательна.</p><p><strong class="userinput"><code>selected-text-color</code></strong>: цвет выбранного текста. Обычно то же значение, что и <span class="quote">«<span class="quote">text-color</span>»</span>. Еслитекст выбран, фон определяется значением <a class="link" href="color-themes.html#variable-pref-colors-selected-text">TextSelection</a> в <a class="link" href="color-themes.html#color-themes-editor-colors" title="Цвета редактора">цветах редактора</a>, поэтому следует обеспечить хорошуюконтрастность текста и его читаемость на фоне. Значением является <span class="emphasis"><em>строка</em></span> с шестнадцатеричным цветовым кодом. Эта пара «ключ/значение» являетсяобязательной.</p><p><strong class="userinput"><code>bold</code></strong>: <span class="emphasis"><em>логическое значение</em></span>, которое определяет, является ли текст полужирным. Это необязательный ключ, значение по умолчанию — <strong class="userinput"><code>false</code></strong>.</p><p><strong class="userinput"><code>italic</code></strong>: <span class="emphasis"><em>логическое значение</em></span>, которое определяет, является ли текст курсивным. Это необязательный ключ, значение по умолчанию — <strong class="userinput"><code>false</code></strong>.</p><p><strong class="userinput"><code>underline</code></strong>: <span class="emphasis"><em>логическое значение</em></span>, которое определяет, является ли текст подчёркнутым. Это необязательный ключ, значение по умолчанию — <strong class="userinput"><code>false</code></strong>.</p><p><strong class="userinput"><code>strike-through</code></strong>: <span class="emphasis"><em>логическое значение</em></span>, которое определяет, является ли текст перечёркнутым. Это необязательный ключ, значение по умолчанию — <strong class="userinput"><code>false</code></strong>.</p><p><strong class="userinput"><code>background-color</code></strong>: определяет фон текста, используемый, например, в комментариях. Значением является <span class="emphasis"><em>строка</em></span> с шестнадцатеричным цветовым кодом. Это необязательный ключ, по умолчанию фона нет.</p><p><strong class="userinput"><code>selected-background-color</code></strong>: определяет фон выбранного текста. Значением является <span class="emphasis"><em>строка</em></span> с шестнадцатеричным цветовым кодом. Это необязательный ключ, по умолчанию фона нет.</p></dd></dl></div><p>В <a class="link" href="color-themes.html#color-themes-gui" title="Графический интерфейс цветовых схем">графическом интерфейсе управления схемами цветов KTextEditor</a> эти атрибуты можно изменить на вкладке <strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Стиль текста</span></span></code></strong>. Для названия в списке стилей используется стиль для соответствующей записи. Это позволяет сразу увидеть результат применения стиля. В каждом стиле возможно выбрать общие атрибуты, а также цвета текста и фона. Чтобы сбросить цвет фона, щёлкните правой кнопкой мыши и воспользуйтесь контекстным меню.</p><p>Доступны следующие ключи стиля текста; ключи, используемые в <a class="link" href="color-themes.html#color-themes-json" title="Формат JSON цветовых схем">файле <acronym class="acronym">JSON</acronym></a>, выделены <span class="emphasis"><em>полужирным</em></span>, названия, используемые в <a class="link" href="color-themes.html#color-themes-gui" title="Графический интерфейс цветовых схем">графическом интерфейсе</a>, указаны в скобках, если они отличаются.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Обычный текст и исходный код</span></span></span></dt><dd><p><strong class="userinput"><code>Normal</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Обычный текст</span></span>): типовой стиль текста для обычного текста и исходного кода без специальной подсветки.</p><p><strong class="userinput"><code>Keyword</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Ключевое слово</span></span>): стиль текста для встроенных ключевых слов языка.</p><p><strong class="userinput"><code>Function</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Функция</span></span>): стиль текста для определений функций и вызовов функций.</p><p><strong class="userinput"><code>Variable</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Переменая</span></span>): стиль текста для переменных, если таковой применим. Например, переменные в PHP/Perl обычно начинаются с символа <strong class="userinput"><code>$</code></strong>, поэтому все идентификаторы, которые соответствуют шаблону <strong class="userinput"><code>$foo</code></strong>, подсвечиваются как переменные.</p><p><strong class="userinput"><code>ControlFlow</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Управляющая конструкция</span></span>): стиль текста для ключевых слов управляющей конструкции, таких как <span class="emphasis"><em>if</em></span>, <span class="emphasis"><em>then</em></span>, <span class="emphasis"><em>else</em></span>, <span class="emphasis"><em>return</em></span>, <span class="emphasis"><em>switch</em></span>, <span class="emphasis"><em>break</em></span>, <span class="emphasis"><em>yield</em></span>, <span class="emphasis"><em>continue</em></span> и так далее.</p><p><strong class="userinput"><code>Operator</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Операция</span></span>): стиль текста для операторов, таких как <strong class="userinput"><code>+</code></strong>, <strong class="userinput"><code>-</code></strong>, <strong class="userinput"><code>*</code></strong>, <strong class="userinput"><code>/</code></strong>, <strong class="userinput"><code>%</code></strong> и так далее.</p><p><strong class="userinput"><code>BuiltIn</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Встроенная функция</span></span>): стиль текста для встроенных классов, функций и объектов языка.</p><p><strong class="userinput"><code>Extension</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Расширение языка</span></span>): стиль текста для известных расширений, таких как классы <span class="trademark">Qt</span>™, функции и макросы в C++ и Python или boost.</p><p><strong class="userinput"><code>Preprocessor</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Команды препроцессора</span></span>):стиль текста для инструкций препроцессора и определений макросов.</p><p><strong class="userinput"><code>Attribute</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Атрибут</span></span>): стиль текста для аннотаций или атрибутов функций или объектов (например, <strong class="userinput"><code>@override</code></strong> в Java или<strong class="userinput"><code>__declspec(...)</code></strong> и <strong class="userinput"><code>__attribute__((...))</code></strong> в C++).</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Числа, типы и константы</span></span></span></dt><dd><p><strong class="userinput"><code>DataType</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Тип данных</span></span>): стиль текста для встроенных типов данных, таких как <span class="emphasis"><em>int</em></span>, <span class="emphasis"><em>char</em></span>, <span class="emphasis"><em>float</em></span>, <span class="emphasis"><em>void</em></span>, <span class="emphasis"><em>u64</em></span> и так далее.</p><p><strong class="userinput"><code>DecVal</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Десятичное число</span></span>): стиль текста для десятичных значений.</p><p><strong class="userinput"><code>BaseN</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Целое по основанию N</span></span>): стиль текста для чисел с основанием, отличным от 10.</p><p><strong class="userinput"><code>Float</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Число с плавающей точкой</span></span>): стиль текста для чисел с плавающей точкой.</p><p><strong class="userinput"><code>Constant</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Константа</span></span>): стиль текста для констант языка программирования и заданных пользователем констант (например, <span class="emphasis"><em>True</em></span>, <span class="emphasis"><em>False</em></span>, <span class="emphasis"><em>None</em></span> в Python или <span class="emphasis"><em>nullptr</em></span> в C/C++, или математические константы наподобие <span class="emphasis"><em>PI</em></span>).</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Строки и символы</span></span></span></dt><dd><p><strong class="userinput"><code>Char</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Символ</span></span>): стиль текста для отдельных символов, таких как <strong class="userinput"><code>'x'</code></strong>.</p><p><strong class="userinput"><code>SpecialChar</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Специальный символ</span></span>): стиль текста для экранированных символов в строках, например<span class="quote">«<span class="quote"><strong class="userinput"><code>hello\n</code></strong></span>»</span> и других символов со специальным значением в строках, в том числе символов-заменителей и операторов регулярных выражений.</p><p><strong class="userinput"><code>String</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Строка</span></span>): стиль текста для строк наподобие <span class="quote">«<span class="quote"><strong class="userinput"><code>hello world</code></strong></span>»</span>.</p><p><strong class="userinput"><code>VerbatimString</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Текстовая строка</span></span>): стиль текста для буквальных или необработанных строк, в частности <strong class="userinput"><code>'raw \backlash'</code></strong> в Perl, CoffeeScript и командных оболочках, а также <strong class="userinput"><code>r'\raw'</code></strong> в Python или строк, подобных here-документам.</p><p><strong class="userinput"><code>SpecialString</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Специальная строка</span></span>): стиль текста для специальных строк, таких как регулярные выражения в ECMAScript, код в уравнениях L<sup>A</sup>T<sub>E</sub>X, код SQL и так далее.</p><p><strong class="userinput"><code>Import</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Импорт, подключение модуля, включение</span></span>): стиль текста для включений, импорта, модулей или пакетов L<sup>A</sup>T<sub>E</sub>X.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Комментарии и документация</span></span></span></dt><dd><p><strong class="userinput"><code>Comment</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Комментарий</span></span>): стиль текста для обычных комментариев.</p><p><strong class="userinput"><code>Documentation</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Документация</span></span>): стиль текста для комментариев, которые отражают документацию API (например, <strong class="userinput"><code>/** комментариев doxygen */</code></strong> или <strong class="userinput"><code>"""строк_документации"""</code></strong>).</p><p><strong class="userinput"><code>Annotation</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Аннотация</span></span>): стиль текста для аннотаций в комментариях или командах документации (например, <strong class="userinput"><code>@param</code></strong> в Doxygen или JavaDoc).</p><p><strong class="userinput"><code>CommentVar</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Переменная в комментарии</span></span>): стиль текста для названий переменных в приведённых выше командах в комментарии (например, <strong class="userinput"><code>foobar</code></strong> в <span class="quote">«<span class="quote"><strong class="userinput"><code>@param foobar</code></strong></span>»</span> для кода Doxygen или JavaDoc).</p><p><strong class="userinput"><code>RegionMarker</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Маркер блока</span></span>): стиль текста для маркеров блока, который обычно определяется <strong class="userinput"><code>//BEGIN</code></strong> и <strong class="userinput"><code>//END</code></strong> в комментариях.</p><p><strong class="userinput"><code>Information</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Информационное сообщение</span></span>): стиль текста для информационных сообщений, заметок и советов (например, ключевого слова <strong class="userinput"><code>@note</code></strong> в Doxygen).</p><p><strong class="userinput"><code>Warning</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Предупреждение</span></span>): стиль текста для предупреждений (например, ключевого слова <strong class="userinput"><code>@warning</code></strong> в Doxygen).</p><p><strong class="userinput"><code>Alert</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Серьёзное предупреждение</span></span>): стиль текста для специальных слов в комментариях, таких как <strong class="userinput"><code>TODO</code></strong>, <strong class="userinput"><code>FIXME</code></strong>, <strong class="userinput"><code>XXXX</code></strong> и <strong class="userinput"><code>WARNING</code></strong>.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Разное</span></span></span></dt><dd><p><strong class="userinput"><code>Error</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Ошибка</span></span>): стиль текста для обозначения подсветки ошибок и неверного синтаксиса.</p><p><strong class="userinput"><code>Others</code></strong> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Другое</span></span>): стиль текста для атрибутов, которые не соответствуют ни одному из других типовых стилей.</p></dd></dl></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="color-themes-custom-styles"></a>Для отдельных форматов</h4></div></div></div><p>Здесь возможно установить стили текста для конкретного определения синтаксиса, переопределив <strong class="userinput"><code>типовой стиль текста</code></strong>, который описан в <a class="link" href="color-themes.html#color-themes-text-styles" title="Стиль текста">предыдущемразделе</a>. </p><p>В <a class="link" href="color-themes.html#color-themes-json" title="Формат JSON цветовых схем">файле <acronym class="acronym">JSON</acronym> схемы</a> этот ключ соответствует ключу <strong class="userinput"><code>custom-styles</code></strong>, значением которого является <span class="emphasis"><em>объект</em></span>, каждый ключ подчинённой схемы которого соответствует <strong class="userinput"><code>названию определения подсветки синтаксиса</code></strong>. Его значением является <span class="emphasis"><em>объект</em></span>, каждый ключ которого соответствует<strong class="userinput"><code>названию атрибутов стиля</code></strong>, определённому в <a class="link" href="highlight.html#kate-highlight-sections" title="Подробные сведения о разделах">элементах <strong class="userinput"><code>itemData</code></strong></a>файла <acronym class="acronym">XML</acronym> подсветки синтаксиса, и соответствующее значение является подчинённым объектом с ключами <span class="emphasis"><em>text-color</em></span>, <span class="emphasis"><em>selected-text-color</em></span>, <span class="emphasis"><em>bold</em></span>, <span class="emphasis"><em>italic</em></span>,<span class="emphasis"><em>underline</em></span>, <span class="emphasis"><em>strike-through</em></span>,<span class="emphasis"><em>background-color</em></span> и <span class="emphasis"><em>selected-background-color</em></span>, определённым в <a class="link" href="color-themes.html#color-themes-text-styles" title="Стиль текста">предыдущем разделе</a>. Все эти значения необязательны, поскольку, если они не указаны, будет использован стиль, определённый в <strong class="userinput"><code>text-styles</code></strong>. </p><p>Например, в этом фрагменте кода определение подсветки синтаксиса <span class="quote">«<span class="quote">ISO C++</span>»</span> содержит специальный стиль текста для атрибутов <span class="quote">«<span class="quote">Type Modifiers</span>»</span> и <span class="quote">«<span class="quote">Standard Classes</span>»</span>. В соответствующем файле <acronym class="acronym">XML</acronym> <span class="quote">«<span class="quote">isocpp.xml</span>»</span> для определённого атрибута <span class="quote">«<span class="quote">Standard Classes</span>»</span> используется типовой стиль <strong class="userinput"><code>BuiltIn</code></strong> (или dsBuiltIn). В этом атрибуте будет перезаписано только значение <strong class="userinput"><code>text-color</code></strong> — новым цветом <span class="quote">«<span class="quote">#6431b3</span>»</span>. </p><pre class="programlisting">"custom-styles": {
    "ISO C++": {
        "Standard Classes": {
            "text-color": "#6431b3"
        },
        "Type Modifiers": {
            "bold": true,
            "selected-text-color": "#009183",
            "text-color": "#00b5cf"
        }
    }
}
</pre><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примечание</h3><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Следует учитывать, что эти стили текста связаны с названиями атрибутов в файлах <acronym class="acronym">XML</acronym> подсветки синтаксиса. Если файл XML будет обновлён и некоторые атрибуты будут переименованы или удалены, нестандартный стиль, определённый в этой схеме, станет неприменимым.</p></li><li class="listitem"><p>Определения подсветки синтаксических конструкций часто включают другие определения. Например, определение подсветки <span class="quote">«<span class="quote">QML</span>»</span> включает определение подсветки <span class="quote">«<span class="quote">JavaScript</span>»</span>, поскольку они содержатобщие функциональные возможности подсветки.</p></li></ul></div></div><p>В <a class="link" href="color-themes.html#color-themes-gui" title="Графический интерфейс цветовых схем">графическом интерфейсе управления схемами KTextEditor</a> эти атрибуты можно изменить на вкладке<strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Для отдельных форматов</span></span></code></strong>. Обычно редактор предварительно выбирает подсветку для текущего документа. Многие определения подсветок содержат другие определения подсветок, обозначаемые группами в списке стилей. Например, большинство определений подсветок импортируют подсветку <span class="quote">«<span class="quote">Alert</span>»</span>, а многие форматы исходного кода импортируютподсветку <span class="quote">«<span class="quote">Doxygen</span>»</span>. </p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="color-themes-gui"></a>Графический интерфейс цветовых схем</h3></div></div></div><p>Проще всего создавать и редактировать цветовые схемы с помощью графического интерфейса — диалогового окна <a class="link" href="config-dialog.html" title="Глава 7. Настройка KatePart"><span class="quote">«<span class="quote">Настройка</span>»</span></a> <a class="ulink" href="https://api.kde.org/frameworks/ktexteditor/html/" target="_top">KTextEditor</a>. Чтобы открыть это окно, выберите в меню текстового редактора пункт <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Настройка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Настроить <span class="replaceable"><em class="replaceable"><code>имя_программы</code></em></span>...</span></span>. В открывшемся окне <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Настройка</span></span> следует выбрать расположенный на боковой панели пункт <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Цветовые схемы</span></span>. </p><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="color-themes-gui-default-text-styles.png" alt="Диалог настройки Kate с параметрами цветовой схемы."><div class="caption"><p>Диалог настройки <span class="application">Kate</span> с параметрами цветовой схемы.</p></div></div><p>В этом <a class="link" href="config-dialog.html" title="Глава 7. Настройка KatePart">диалоге</a> возможно настроить все цвета любой схемы, а также создать или скопировать схему, удалить её, экспортировать в файл <strong class="userinput"><code>.theme</code></strong> в <a class="link" href="color-themes.html#color-themes-json" title="Формат JSON цветовых схем">формате <acronym class="acronym">JSON</acronym></a> или импортировать из внешнего файла <strong class="userinput"><code>.theme</code></strong>. В каждой схеме предусмотрены параметры для цветов и стилей текста. </p><p>Встроенные схемы нельзя изменить напрямую. Чтобы внести изменения, следует скопировать их и сохранить под новым именем.</p><p>Чтобы установить схему для постоянного использования в текстовом редакторе, необходимо выбрать её с помощью расположенного в нижней части окна раскрывающегося списка <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Схема по умолчанию для <span class="replaceable"><em class="replaceable"><code>имя_программы</code></em></span></span></span> и нажать кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Применить</span></span> или <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">ОК</span></span>. По умолчанию активен вариант<strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Автоматический выбор</span></span></code></strong>. Использование этого варианта приводит к выбору цветовой схемы, которая лучше подходит к <span class="emphasis"><em>цветовой схеме <span class="orgname">KDE</span> <span class="productname">Plasma</span></em></span> для редактирования текста.Обычно выбор осуществляется между <span class="quote">«<span class="quote">Breeze, светлый вариант</span>»</span> и <span class="quote">«<span class="quote">Breeze, тёмный вариант</span>»</span>. Выбор зависит от того, какой является схема среды — светлой или тёмной. </p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Подсказка</h3><p>Глобальную цветовую схему <span class="orgname">KDE</span> возможно настроить в модуле <a class="ulink" href="help:/kcontrol/colors/" target="_top"><span class="quote">«<span class="quote">Цвета</span>»</span> приложения «Параметры системы»</a>. Также возможно сменить её в некоторых программах, таких как <span class="application">Kate</span> или <span class="application">KDevelop</span>, с помощью пункта меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Настройка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Цветовая схема</span></span>. </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="color-themes-gui-new-theme"></a>Создание новой схемы</h4></div></div></div><p>Чтобы создать новую схему, необходимо сначала скопировать существующую. Выберите существующую схему, которую следует использовать в качестве основы (например, <span class="quote">«<span class="quote">Breeze, светлый вариант</span>»</span> или <span class="quote">«<span class="quote">Breeze, тёмный вариант</span>»</span>), и нажмите кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Копировать…</span></span>. Затем укажите название новой схемы. </p><p>Чтобы изменить встроенную или доступную только для чтения схему, необходимо сначала скопировать её, указав для копии другое название.</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="color-themes-gui-import-export"></a>Импорт или экспорт файлов схем <acronym class="acronym">JSON</acronym></h4></div></div></div><p>Выбранную тему (включая встроенные) возможно экспортировать в <a class="link" href="color-themes.html#color-themes-json" title="Формат JSON цветовых схем">файл <acronym class="acronym">JSON</acronym></a> с расширением <strong class="userinput"><code>.theme</code></strong> путём нажатия кнопки <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Экспорт</span></span>. Будет открыт диалог сохранения файла. Чтобы добавить цветовую схему из внешнего <a class="link" href="color-themes.html#color-themes-json" title="Формат JSON цветовых схем">файла <acronym class="acronym">JSON</acronym></a>, просто нажмите кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Импорт</span></span> и выберите в диалоге файл <strong class="userinput"><code>.theme</code></strong>. </p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Подсказка</h3><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Как уже <a class="link" href="color-themes.html#color-themes-json-overview" title="Обзор">упоминалось выше</a>, настроенные пользователями схемы хранятся в каталоге <code class="filename">org.kde.syntax-highlighting/themes/</code>. Когда тема копируется или создаётся, она автоматически появляется там.Кроме того, импорт или добавление темы эквивалентны копированию внешнего файла <strong class="userinput"><code>.theme</code></strong> в этот каталог. KSyntaxHighlighting автоматически выбирает файлы цветовых схем из указанного каталога.</p></li><li class="listitem"><p>Перед публикацией созданной темы необходимо проверить корректность объекта<a class="link" href="color-themes.html#color-themes-json-metadata" title="Метаданные">metadata</a> в <a class="link" href="color-themes.html#color-themes-json" title="Формат JSON цветовых схем">файле <acronym class="acronym">JSON</acronym></a>, добавив в него соответствующие условия лицензирования и указав номер версии.</p></li></ul></div></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="color-themes-gui-editing"></a>Редактирование цветовых схем</h4></div></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="prefcolors-colors"></a>Цвета</h5></div></div></div><p>Здесь настраиваются цвета области редактирования текста. Подробное описание параметров приводится в разделе <a class="xref" href="color-themes.html#color-themes-editor-colors" title="Цвета редактора">«Цвета редактора»</a>.</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="prefcolors-normal-text-styles"></a>Стиль текста</h5></div></div></div><p>Типовые стили текста наследуют свои свойства от стилейподсвеченного текста, что дает редактору возможность показывать текст согласованным образом. Например, для текста комментариев используется один и тот же стиль почти во всех форматах текста, которые может подсвечиватьKSyntaxHighlighting.</p><p>Для названия в списке стилей используется стиль для соответствующей записи. Это позволяет сразу увидеть результат применения стиля. </p><p>Для каждого стиля возможно выбрать общие атрибуты, а также цвета текста и фона. Чтобы сбросить цвет фона, щёлкните правой кнопкой мыши и воспользуйтесь контекстным меню.</p><p>Подробное описание атрибутов этой области приводится в разделе <a class="xref" href="color-themes.html#color-themes-text-styles" title="Стиль текста">«Стиль текста»</a>.</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="prefcolors-highlighting-text-styles"></a>Для отдельных форматов</h5></div></div></div><p>Здесь возможно изменить стили текста, которые будут использоваться конкретным определением подсветки. В редакторе будет предварительно выбрана подсветка, котораяиспользуется в текущем документе. Чтобы работать с другой подсветкой, выберите её в раскрывающемся списке <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Подсветка</span></span>, расположенном над списком стилей. </p><p>Для названия в списке стилей используется стиль для соответствующей записи. Это позволяет сразу увидеть результат применения стиля. </p><p>Для каждого стиля возможно выбрать общие атрибуты, а также цвета текста и фона. Чтобы отменить установку цвета фона, щёлкните правой кнопкой мыши для вызова контекстного меню. Кроме того, можно посмотреть, совпадает стиль с типовым стилем, который используется для элемента, и установить его в случае несовпадения.</p><p>Обратите внимание, многие подсветки содержат другие подсветки, представленные группами в списке стилей. Например, многие подсветки импортируют подсветку «Alert», а многие форматы исходного кода — подсветку «Doxygen». Изменение цветов в таких группах влияет на стили только при использовании в редактируемом формате подсветки. </p></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="color-themes-tips-and-tricks"></a>Советы и рекомендации</h3></div></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="color-themes-contrast"></a>Контраст цветов текста</h4></div></div></div><p>Важным аспектом работы с цветовыми схемами является выбор контрастного цветатекста, который упростит чтение, особенно в сочетании с цветом фона.</p><p>Приложение <strong class="userinput"><code>Kontrast</code></strong> предназначено для проверки контрастности цветов. Эта программа позволяет проверить, является ли сочетание цвета текста и цвета фона хорошо читаемым, что облегчает создание цветовых схем.</p><p>Программу <strong class="userinput"><code>Kontrast</code></strong> возможно загрузить <a class="ulink" href="https://apps.kde.org/en/kontrast" target="_top">на веб-сайте приложений <span class="orgname">KDE</span></a> или установить из <a class="ulink" href="https://flathub.org/apps/details/org.kde.kontrast" target="_top">пакета Flatpak на Flathub</a> (только в GNU/Linux).</p><p>Приложение GNOME <strong class="userinput"><code>Contrast</code></strong> работает аналогичным образом. Возможно загрузить <a class="ulink" href="https://flathub.org/apps/details/org.gnome.design.Contrast" target="_top">пакет Flatpak на Flathub</a> (только в GNU/Linux).</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="color-themes-tips-and-tricks-consistency"></a>Предложения по согласованности подсветки синтаксиса</h4></div></div></div><p>KSyntaxHighlighting включает <a class="ulink" href="https://kate-editor.org/syntax/" target="_top">более 300 определений подсветки синтаксиса</a>; желательно убедиться, что новая схема выглядит хорошо во всех определениях подсветки синтаксиса. Во встроенных цветовых темах использованы следующие принципы, которыми рекомендуется (но не обязательно) пользоваться для корректного отображения всех определений подсветки синтаксиса:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Использовать полужирный шрифт для <a class="link" href="color-themes.html#color-themes-text-styles" title="Стиль текста">стилей текста</a> <span class="quote">«<span class="quote">Keyword</span>»</span> and <span class="quote">«<span class="quote">ControlFlow</span>»</span>.</p></li><li class="listitem"><p>Не использовать цвет фона в <a class="link" href="color-themes.html#color-themes-text-styles" title="Стиль текста">стилях текста</a>, за исключением <span class="quote">«<span class="quote">Alert</span>»</span> и <span class="quote">«<span class="quote">RegionMarker</span>»</span>.</p></li></ul></div><p>Большинство подсветок синтаксиса хорошо выглядят в типовых схемах <span class="quote">«<span class="quote">Breeze, светлый вариант</span>»</span> и <span class="quote">«<span class="quote">Breeze, тёмный вариант</span>»</span>. Следовательно, ещё одним способом обеспечения согласованности является использование похожих цветов в <a class="link" href="color-themes.html#color-themes-text-styles" title="Стиль текста">стилях текста</a>. Например, <span class="emphasis"><em>зелёного</em></span> для <span class="quote">«<span class="quote">Preprocessor</span>»</span> и <span class="quote">«<span class="quote">Others</span>»</span>, <span class="emphasis"><em>синего</em></span> для <span class="quote">«<span class="quote">DataType</span>»</span> и <span class="quote">«<span class="quote">Attribute</span>»</span> или <span class="emphasis"><em>фиолетового</em></span> для <span class="quote">«<span class="quote">Function</span>»</span>.</p><p>Обратите внимание, что эти рекомендации не обязательно соблюдать при создании и публикации схемы.</p></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="highlight.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="dev-scripting.html">След.</a></td></tr><tr><td class="prevCell">Подсветка синтаксиса </td><td class="upCell">Расширение функциональных возможностей <span class="application">KatePart</span></td><td class="nextCell"> Написание сценариев <span class="application">JavaScript</span></td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="dev-scripting.html"><html><head><title>Написание сценариев JavaScript</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="dev.html" title="Глава 6. Расширение функциональных возможностей KatePart"><link rel="prev" href="color-themes.html" title="Работа с цветовыми схемами"><link rel="next" href="config-dialog.html" title="Глава 7. Настройка KatePart"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Написание сценариев <span class="application">JavaScript</span></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="color-themes.html">Пред.</a></td><td class="upCell">Расширение функциональных возможностей <span class="application">KatePart</span></td><td class="nextCell"><a accesskey="n" href="config-dialog.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="dev-scripting"></a>Написание сценариев <span class="application">JavaScript</span></h2></div></div></div><p>Функциональность компонента редактирования <span class="application">KatePart</span> возможно расширить с помощью написания сценариев. Для этого используется язык ECMAScript (широко известен как <span class="application">JavaScript</span>). <span class="application">KatePart</span> поддерживает два вида сценариев: сценарии расстановки отступов и сценарии командной строки. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="dev-scripting-indentation"></a>Сценарии расстановки отступов</h3></div></div></div><p>Сценарии расстановки отступов — также их называют средствами расстановки отступов — выполняют автоматическую расстановку отступов в исходном коде по мере набора текста. Например, после нажатия клавиши Enter программа обычно увеличивает отступ в следующей строке. </p><p>В следующих разделах приведены пошаговые инструкции по созданию основы простого средства расстановки отступов. На первом этапе следует создать файл <code class="filename">*.js</code> с названием, например, <code class="filename">javascript.js</code> в локальной домашней папке <code class="filename">$<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="envar"><code class="envar">XDG_DATA_HOME</code></span>/katepart5/script/indentation</code>. Здесь переменная среды <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="envar"><code class="envar">XDG_DATA_HOME</code></span> обычно имеет значение <code class="filename">~/.local</code> или <code class="filename">~/.local/share</code>. </p><p>В <span class="trademark">Windows</span>® эти файлы расположены в каталоге <code class="filename">%USERPROFILE%\AppData\Local\katepart5\script\indentation</code>. <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>%USERPROFILE%</code></em></span> обычно имеет значение <code class="filename">C:\\Users\\<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>пользователь</code></em></span></code>.</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="dev-scripting-indentation-header"></a>Заголовок сценария расстановки отступов</h4></div></div></div><p>Заголовок файла <code class="filename">javascript.js</code> внедряется как <acronym class="acronym">JSON</acronym> в начало документа и имеет следующую форму: </p><pre class="programlisting">
var katescript = {
    "name": "JavaScript",
    "author": "Example Name &lt;example.name@some.address.org&gt;",
    "license": "BSD License",
    "revision": 1,
    "kate-version": "5.1",
    "required-syntax-style": "javascript",
    "indent-languages": ["javascript"],
    "priority": 0,
}; // kate-script-header, must be at the start of the file without comments
</pre><p> Далее приводится подробное описание каждой из записей заголовка: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="literal">name</code> [обязательная запись]: название средства расстановки отступов, которое будет показано в меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Расстановка отступов</span></span> и диалоге настройки. </p></li><li class="listitem"><p><code class="literal">author</code> [необязательная запись]: имя и контактные данные автора. </p></li><li class="listitem"><p><code class="literal">license</code> [необязательная запись]: краткая форма условий лицензирования, например BSD или LGPLv3. </p></li><li class="listitem"><p><code class="literal">revision</code> [обязательная запись]: версия сценария. Не забывайте увеличивать номер версии при каждом внесении изменений в файл. </p></li><li class="listitem"><p><code class="literal">kate-version</code> [обязательная запись]: минимальное значение версии <span class="application">KatePart</span>, необходимой для работы сценария. </p></li><li class="listitem"><p><code class="literal">required-syntax-style</code> [необязательная запись]: нужный стиль синтаксиса, который соответствует указанному значению <code class="literal">style</code> в файлах определения подсветки синтаксических конструкций. Эта запись важна для средств расстановки отступов, которые работают на основе определённых данных о подсветке в документе. Если указан стиль синтаксиса, средством расстановки отступов будет возможно воспользоваться только в том случае, если будет задействовано соответствующее средство подсветки текста. Это позволяет предотвратить <span class="quote">«<span class="quote">неопределённое поведение</span>»</span>, вызванное использованием средства расстановки отступов без необходимой для его работы схемы подсветки. Например, таким образом настроено средство расстановки отступов в файлах <code class="filename">ruby.js</code> и <code class="filename">ruby.xml</code>. </p></li><li class="listitem"><p><code class="literal">indent-languages</code> [необязательная запись]: массив <acronym class="acronym">JSON</acronym>  стилей синтаксических конструкций, которые может обрабатывать средство расстановки отступов, например: <code class="literal">["c++", "java"]</code>. </p></li><li class="listitem"><p><code class="literal">priority</code> [необязательная запись]: если какому-либо файлу с определённой подсветкой соответствуют несколько средств расстановки отступов, значение приоритета определяет, какое средство расстановки отступов будет использоваться по умолчанию. </p></li></ul></div><p>
</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="dev-scripting-indentation-body"></a>Исходный код средства расстановки отступов</h4></div></div></div><p>Выше был рассмотрен формате заголовка. Теперь возможно перейти к изучению того, как же работает сам сценарий расстановки отступов. Основа подобного сценария выглядит так: </p><pre class="programlisting">
// необходимые библиотеки JS katepart, например range.js, если используется Range
require ("range.js");

triggerCharacters = "{}/:;";
function indent(line, indentWidth, ch)
{
    // сценарий будет вызываться при обработке каждого символа новой строки (ch == '\n') и всех символов, указанных в
    // глобальной переменной triggerCharacters. При выборе пункта меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Выровнять</span></span>
    // переменная ch будет иметь пустое значение, то есть ch == ''.
    //
    // смотрите также раздел: «Программный интерфейс (API) работы со сценариями»
    return -2;
}
</pre><p> В функции <code class="function">indent()</code> предусмотрено три параметра: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="literal">line</code>: строка, в которой следует установить отступ</p></li><li class="listitem"><p><code class="literal">indentWidth</code>: ширина отступа (в пробелах)</p></li><li class="listitem"><p><code class="literal">ch</code>: символ новой строки (<code class="literal">ch == '\n'</code>), символ переключения, указанный в <code class="literal">triggerCharacters</code>, или пустая строка, если пользователем был выбран пункт меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Выравнивание</span></span>.</p></li></ul></div><p> Значение, возвращённое функцией <code class="function">indent()</code>, определяет способ установки отступа в строке. Если возвращённое функцией значение является простым целым числом, оно обрабатывается следующим образом: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>возвращено значение <code class="literal">-2</code>: ничего не делать</p></li><li class="listitem"><p>возвращено значение <code class="literal">-1</code>: сохранить отступ (он будет определён на основе предыдущей непустой строки)</p></li><li class="listitem"><p>возвращено значение <code class="literal"> 0</code>: числа &gt;= 0 определяют глубину отступа в пробелах</p></li></ul></div><p> Либо может быть возвращён массив из двух элементов: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="literal">возвращено [ отступ, выравнивание ];</code></p></li></ul></div><p> Первым элементом такого массива является глубина отступа, похожая на значение, о котором говорилось ранее. Другой же элемент является абсолютным значением, которое соответствует столбцу <span class="quote">«<span class="quote">выравнивания</span>»</span>. Если это значение превышает значение отступа, то после создания отступа согласно первому параметру к этому отступу будет добавлена разница между ними (в пробелах). В ином случае второе число игнорируется. Одновременное использование символов табуляции и пробелов для расстановки отступов часто называют <span class="quote">«<span class="quote">смешанным режимом</span>»</span>. </p><p>Рассмотрим следующий пример: предположим, что для создания отступов используются символы табуляции и значение ширины табуляции равняется 4. Здесь &lt;tab&gt; — символ табуляции, а '.' — пробел: </p><pre class="programlisting">
1: &lt;tab&gt;&lt;tab&gt;foobar("привет",
2: &lt;tab&gt;&lt;tab&gt;......."мир");
</pre><p> При создании отступа для строки 2 функция <code class="function">indent()</code> возвращает [8, 15]. В результате два символа табуляции будут вставлены для создания отступа в столбце 8, а затем будет добавлено 7 пробелов для выравнивания по второму параметру, следовательно, строка останется выровненной во время просмотра файла при любой ширине табуляции. </p><p>По умолчанию в пакете <span class="application">KatePart</span> <span class="orgname">KDE</span> поставляются несколько средств расстановки отступов. Код этих средств на языке <span class="application">JavaScript</span> расположен в каталоге <code class="filename">$<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="envar"><code class="envar">XDG_DATA_DIRS</code></span>/katepart5/script/indentation</code>.</p><p>В <span class="trademark">Windows</span>® эти файлы расположены в каталоге <code class="filename">%USERPROFILE%\AppData\Local\katepart5\script\indentation</code>. <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>%USERPROFILE%</code></em></span> обычно имеет значение <code class="filename">C:\\Users\\<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>пользователь</code></em></span></code>. </p><p>При разработке средства расстановки отступов сценарии требуется перезагружать для проверки корректности поведения во время установки отступов. Вместо перезапуска приложения достаточно просто перейти в командную строку и выполнить команду <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>reload-scripts</strong></span></span>. </p><p>Чтобы сообщить о созданном полезном сценарии разработчикам <span class="application">KatePart</span>, <a class="ulink" href="mailto:kwrite-devel@kde.org" target="_top">отправьте письмо в список рассылки</a>. </p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="dev-scripting-command-line"></a>Сценарии командной строки</h3></div></div></div><p>Поскольку у всех пользователей разные потребности, в <span class="application">KatePart</span> предусмотрена поддержка небольших вспомогательных инструментов для ускорения работы с фрагментами текста с помощью <a class="link" href="advanced-editing-tools-commandline.html" title="Командная строка компонента редактирования">встроенной командной строки</a>. Например, команда <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>sort</strong></span></span> (упорядочить) реализована именно с помощью такого инструмента. В этом разделе содержится описание способа создания файлов <code class="filename">*.js</code>, которые позволят расширить возможности <span class="application">KatePart</span> путём добавления вспомогательных сценариев. </p><p>Сценарии командной строки расположены в той же папке, что и сценарии расстановки отступов. Поэтому на первом этапе следует создать файл <code class="filename">*.js</code> с именем <code class="filename">myutils.js</code> в локальной домашней папке <code class="filename">$<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="envar"><code class="envar">XDG_DATA_HOME</code></span>/katepart5/script/commands</code>. Здесь переменная среды <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="envar"><code class="envar">XDG_DATA_HOME</code></span> обычно имеет значение <code class="filename">~/.local</code> или <code class="filename">~/.local/share</code>.</p><p>В <span class="trademark">Windows</span>® эти файлы расположены в каталоге <code class="filename">%USERPROFILE%\AppData\Local\katepart5\script\commands</code>. <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>%USERPROFILE%</code></em></span> обычно имеет значение <code class="filename">C:\\Users\\<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>пользователь</code></em></span></code>. </p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="dev-scripting-command-line-header"></a>Заголовок сценария командной строки</h4></div></div></div><p>Заголовок каждого сценария командной строки встраивается в <acronym class="acronym">JSON</acronym> в начале сценария следующим образом: </p><pre class="programlisting">
var katescript = {
    "author": "Example Name &lt;example.name@some.address.org&gt;",
    "license": "LGPLv2+",
    "revision": 1,
    "kate-version": "5.1",
    "functions": ["sort", "moveLinesDown"],
    "actions": [
        {   "function": "sort",
            "name": "Sort Selected Text",
            "category": "Editing",
            "interactive": "false"
        },
        {   "function": "moveLinesDown",
            "name": "Move Lines Down",
            "category": "Editing",
            "shortcut": "Ctrl+Shift+Down",
            "interactive": "false"
        }
    ]
}; // kate-script-header, must be at the start of the file without comments
</pre><p> Далее приводится подробное описание каждой из записей заголовка: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="literal">author</code> [необязательная запись]: имя и контактные данные автора.</p></li><li class="listitem"><p><code class="literal">license</code> [необязательная запись]: краткая форма условий лицензирования, например BSD или LGPLv2.</p></li><li class="listitem"><p><code class="literal">revision</code> [обязательная запись]: версия сценария. Не забывайте увеличивать номер версии при каждом внесении изменений в файл.</p></li><li class="listitem"><p><code class="literal">kate-version</code> [обязательная запись]: минимальное значение версии <span class="application">KatePart</span>, необходимой для работы сценария.</p></li><li class="listitem"><p><code class="literal">functions</code> [обязательная запись]: массив <acronym class="acronym">JSON</acronym> команд сценария.</p></li><li class="listitem"><p><code class="literal">actions</code> [необязательная запись]: массив <acronym class="acronym">JSON</acronym> объектов <acronym class="acronym">JSON</acronym>, определяющий действия, которые будут доступны в меню приложения. Подробные сведения доступны в разделе <a class="link" href="advanced-editing-tools-commandline.html" title="Командная строка компонента редактирования">Привязки клавиш</a>.</p></li></ul></div><p>
</p><p>Так как значением <code class="literal">functions</code> является массив <acronym class="acronym">JSON</acronym>, отдельный сценарий может содержать произвольное количество команд командной строки. Доступ к каждой из функций возможно получить с помощью <a class="link" href="advanced-editing-tools-commandline.html" title="Командная строка компонента редактирования">встроенной командной строки</a> <span class="application">KatePart</span>. </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="dev-scripting-command-line-body"></a>Исходный код сценария</h4></div></div></div><p>Все функции, указанные в заголовке, должны быть реализованы в сценарии. Таким образом, файл сценария из вышеприведённого примера должен реализовывать две функции: <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>sort</strong></span></span> и <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>moveLinesDown</strong></span></span>. Все функции должны быть записаны в следующем виде: </p><pre class="programlisting">// необходимые библиотеки JS katepart, например range.js, если используется Range
require ("range.js");

function &lt;name&gt;(параметр1, параметр2, ...)
{
    // ... реализация, смотрите также раздел: «Программный интерфейс (API) работы со сценариями»
}
</pre><p>
</p><p>Параметры в командной строке передаются функции как <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>параметр1</code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>параметр2</code></em></span> и так далее. Чтобы документировать каждую команду, просто реализуйте функцию '<code class="function">help</code>' следующим образом: </p><pre class="programlisting">
function help(cmd)
{
    if (cmd == "sort") {
        return i18n("Sort the selected text.");
    } else if (cmd == "...") {
        // ...
    }
}
</pre><p> После этого выполнение команды <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>help sort</strong></span></span> приведёт к вызову соответствующей функции справки (help) с параметром <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>cmd</code></em></span> в значении названия указанной команды, то есть <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>cmd == "sort"</code></em></span>. В ответ на команду в <span class="application">KatePart</span> будет показан заданный текст справки. Обязательно <a class="link" href="dev-scripting.html#dev-scripting-api-i18n" title="Перевод">выполните перевод строк</a>. </p><p>При разработке сценария командной строки этот сценарий требуется перезагружать для проверки корректности поведения. Вместо перезапуска приложения достаточно просто перейти в командную строку и выполнить команду <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>reload-scripts</strong></span></span>. </p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="dev-scripting-command-line-shortcuts"></a>Привязки клавиш</h5></div></div></div><p>Чтобы доступ к сценарию было возможно осуществлять с помощью меню приложения и с помощью комбинаций клавиш, он должен содержать соответствующий заголовок. В приведённом выше примере обе функции — <code class="literal">sort</code> и <code class="literal">moveLinesDown</code> — отображаются как соответствующие пункты меню благодаря этой части заголовка сценария: </p><pre class="programlisting">
var katescript = {
    ...
    "actions": [
        {   "function": "sort",
            "name": "Sort Selected Text",
            "icon": "",
            "category": "Editing",
            "interactive": "false"
        },
        {   "function": "moveLinesDown",
            "name": "Move Lines Down",
            "icon": "",
            "category": "Editing",
            "shortcut": "Ctrl+Shift+Down",
            "interactive": "false"
        }
    ]
};
</pre><p> Поля для одного действия таковы: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="literal">function</code> [обязательная запись]: функция, пункт которой должен отображаться в меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Сценарии</span></span>.</p></li><li class="listitem"><p><code class="literal">name</code> [обязательная запись]: текст пункта, который показан в меню сценариев.</p></li><li class="listitem"><p><code class="literal">icon</code> [необязательная запись]: значок, который отображается рядом с текстом в меню. Возможно указать название одного из значков <span class="orgname">KDE</span>.</p></li><li class="listitem"><p><code class="literal">category</code> [необязательная запись]: если указана категория, сценарий будет отображаться в соответствующем вложенном меню.</p></li><li class="listitem"><p><code class="literal">shortcut</code> [необязательная запись]: здесь указывается комбинация клавиш, которая будет использоваться по умолчанию. Например: <code class="literal">Ctrl+Alt+t</code>. Дополнительные сведения доступны в <a class="ulink" href="https://doc.qt.io/qt-5/qt.html#Key-enum" target="_top">документации <span class="trademark">Qt</span>™</a>.</p></li><li class="listitem"><p><code class="literal">interactive</code> [необязательная запись]: если для работы сценария требуются введённые пользователем данные, установите этот параметр в значение <code class="literal">true</code>.</p></li></ul></div><p>
</p><p>Чтобы сообщить о созданном полезном сценарии разработчикам <span class="application">KatePart</span>, <a class="ulink" href="mailto:kwrite-devel@kde.org" target="_top">отправьте письмо в список рассылки</a>. </p></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="dev-scripting-api"></a>Программный интерфейс (API) работы со сценариями</h3></div></div></div><p>Программный интерфейс работы со сценариями, основы которого представлены здесь, возможно использовать для любых сценариев, в том числе сценариев расстановки отступов и сценариев командной строки. Классы <code class="classname">Cursor</code> и <code class="classname">Range</code> определяются библиотечными файлами в <code class="filename">$<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="envar"><code class="envar">XDG_DATA_DIRS</code></span>/katepart5/libraries</code>. Если требуется воспользоваться ими в определённом сценарии, чтобы задействовать какие-либо функции <code class="classname">Document</code> или <code class="classname">View</code>, включите в сценарий необходимую библиотеку с помощью следующей команды: </p><pre class="programlisting">// необходимые библиотеки JS katepart, например range.js, если используется Range
require ("range.js");
</pre><p>
</p><p>Чтобы расширить стандартный программный интерфейс (API) работы со сценариями собственными функциями и прототипами, просто создайте файл в локальной папке файлов настройки <span class="orgname">KDE</span> <code class="filename">$<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="envar"><code class="envar">XDG_DATA_HOME</code></span>/katepart5/libraries</code> и включите его в файл сценария с помощью следующего кода:  </p><pre class="programlisting">require ("myscriptnamehere.js");
</pre><p>

</p><p>В <span class="trademark">Windows</span>® эти файлы расположены в каталоге <code class="filename">%USERPROFILE%\AppData\Local\katepart5\libraries</code>. <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>%USERPROFILE%</code></em></span> обычно имеет значение <code class="filename">C:\\Users\\<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>пользователь</code></em></span></code>.</p><p>Рекомендованным способом расширения возможностей существующих прототипов, например <code class="classname">Cursor</code> или <code class="classname">Range</code>, <span class="emphasis"><em>не</em></span> является внесение изменений в глобальные файлы <code class="filename">*.js</code>. Вместо этого следует изменить прототип <code class="classname">Cursor</code> в <span class="application">JavaScript</span> после включения <code class="filename">cursor.js</code> в сценарий с помощью команды <code class="literal">require</code>. </p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="dev-scripting-api-prototypes"></a>Курсоры и диапазоны</h4></div></div></div><p>Поскольку <span class="application">KatePart</span> является текстовым редактором, весь программный интерфейс по возможности основан на курсорах и диапазонах текста. Объект «Cursor» (курсор) является простым кортежем <code class="literal">(line, column)</code> (строка, столбец), который определяет позицию в тексте документа. Объект «Range» (диапазон) — это фрагмент текста от начальной до конечной позиции курсора. Подробное описание программного интерфейса приводится в следующих разделах. </p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="dev-scripting-api-cursors"></a>Прототип Cursor (курсор)</h5></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><pre class="synopsis">Cursor();
</pre></span></dt><dd><p>Конструктор. Возвращает объект «Cursor» (курсор) в позиции <code class="literal">(0, 0)</code>.</p><p>Пример: <code class="function">var cursor = new Cursor();</code> </p></dd><dt><span class="term"><pre class="synopsis">Cursor(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Конструктор. Возвращает объект «Cursor» (курсор) в позиции (строка, столбец). </p><p>Пример: <code class="function">var cursor = new Cursor(3, 42);</code> </p></dd><dt><span class="term"><pre class="synopsis">Cursor(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>другой</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Конструктор копирования. Возвращает копию курсора <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>другой</code></em></span>. </p><p>Пример: <code class="function">var copy = new Cursor(другой);</code> </p></dd><dt><span class="term"><pre class="synopsis">Cursor Cursor.clone();
</pre></span></dt><dd><p>Возвращает клон курсора.</p><p>Пример: <code class="function">var clone = cursor.clone();</code> </p></dd><dt><span class="term"><pre class="synopsis">Cursor.setPosition(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Устанавливает курсор в место, указанное параметрами <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>строка</code></em></span> и <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>столбец</code></em></span>.</p><p>Начиная с <span class="orgname">KDE</span> 4.11 </p></dd><dt><span class="term"><pre class="synopsis">bool Cursor.isValid();
</pre></span></dt><dd><p>Проверка корректности курсора. Курсор является некорректным, если строка и/или столбец установлены в значение <code class="literal">-1</code>. </p><p>Пример: <code class="function">var valid = cursor.isValid();</code> </p></dd><dt><span class="term"><pre class="synopsis">Cursor Cursor.invalid();
</pre></span></dt><dd><p>Возвращает новый некорректный курсор, размещённый в позиции <code class="literal">(-1, -1)</code>. </p><p>Пример: <code class="function">var invalidCursor = cursor.invalid();</code> </p></dd><dt><span class="term"><pre class="synopsis">int Cursor.compareTo(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>другой</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Сравнивает текущий курсор с курсором <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>другой</code></em></span>. Возвращает </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="literal">-1</code>, если текущий курсор расположен перед курсором <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>другой</code></em></span></p></li><li class="listitem"><p><code class="literal">0</code>, если курсоры находятся в одинаковых позициях</p></li><li class="listitem"><p><code class="literal">+1</code>, если текущий курсор расположен после курсора <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>другой</code></em></span></p></li></ul></div><p>
</p></dd><dt><span class="term"><pre class="synopsis">bool Cursor.equals(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>другой</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если текущий курсор и курсор <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>другой</code></em></span> находятся в одинаковых позициях, в ином случае — <code class="literal">false</code>. </p></dd><dt><span class="term"><pre class="synopsis">String Cursor.toString();
</pre></span></dt><dd><p>Возвращает курсор как строку вида <span class="quote">«<span class="quote"><code class="literal">Cursor(строка, столбец)</code></span>»</span>. </p></dd></dl></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="dev-scripting-api-ranges"></a>Прототип Range (диапазон)</h5></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><pre class="synopsis">Range();
</pre></span></dt><dd><p>Конструктор. Вызов <code class="literal">new Range()</code> возвращает диапазон в позиции (0, 0) - (0, 0). </p></dd><dt><span class="term"><pre class="synopsis">Range(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>начало</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>конец</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Конструктор. Вызов <code class="literal">new Range(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>начало</code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>конец</code></em></span>)</code> возвращает диапазон (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>начало</code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>конец</code></em></span>). </p></dd><dt><span class="term"><pre class="synopsis">Range(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>начальнаяСтрока</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>начальныйСтолбец</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>конечнаяСтрока</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>конечныйСтолбец</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Конструктор. Вызов <code class="literal">new Range(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>начальнаяСтрока</code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>начальныйСтолбец</code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>конечнаяСтрока</code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>конечныйСтолбец</code></em></span>)</code> возвращает диапазон с позиции (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>начальнаяСтрока</code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>начальныйСтолбец</code></em></span>) до позиции (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>конечнаяСтрока</code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>конечныйСтолбец</code></em></span>). </p></dd><dt><span class="term"><pre class="synopsis">Range(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Range <span class="replaceable"><em class="replaceable"><code>другой</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Конструктор копирования. Возвращает копию диапазона <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>другой</code></em></span>. </p></dd><dt><span class="term"><pre class="synopsis">Range Range.clone();
</pre></span></dt><dd><p>Возвращает клон диапазона. </p><p>Пример: <code class="function">var clone = range.clone();</code> </p></dd><dt><span class="term"><pre class="synopsis">bool Range.isEmpty();
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если начальная и конечная позиции курсора совпадают. </p><p>Пример: <code class="function">var empty = range.isEmpty();</code> </p><p>Начиная с <span class="orgname">KDE</span> 4.11 </p></dd><dt><span class="term"><pre class="synopsis">bool Range.isValid();
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если начальная и конечная позиции курсора являются корректными, в ином случае — <code class="literal">false</code>. </p><p>Пример: <code class="function">var valid = range.isValid();</code> </p></dd><dt><span class="term"><pre class="synopsis">Range Range.invalid();
</pre></span></dt><dd><p>Возвращает диапазон от (-1, -1) до (-1, -1). </p></dd><dt><span class="term"><pre class="synopsis">bool Range.contains(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если позиция курсора находится в этом диапазоне, в ином случае — <code class="literal">false</code>. </p></dd><dt><span class="term"><pre class="synopsis">bool Range.contains(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Range <span class="replaceable"><em class="replaceable"><code>другой</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если текущий диапазон содержит диапазон <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>другой</code></em></span>, в ином случае — <code class="literal">false</code>. </p></dd><dt><span class="term"><pre class="synopsis">bool Range.containsColumn(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>столбец</code></em></span> принадлежит полуоткрытому интервалу <code class="literal">[начальный.столбец, конечный.столбец)</code>, в ином случае — <code class="literal">false</code>. </p></dd><dt><span class="term"><pre class="synopsis">bool Range.containsLine(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>строка</code></em></span> принадлежит полуоткрытому интервалу <code class="literal">[начальная.строка, конечная.строка)</code>, в ином случае — <code class="literal">false</code>. </p></dd><dt><span class="term"><pre class="synopsis">bool Range.overlaps(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Range <span class="replaceable"><em class="replaceable"><code>другой</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если текущий диапазон и диапазон <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>другой</code></em></span> имеют ненулевое пересечение, в ином случае — <code class="literal">false</code>. </p></dd><dt><span class="term"><pre class="synopsis">bool Range.overlapsLine(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>строка</code></em></span> принадлежит интервалу <code class="literal">[начальная.строка, конечная.строка]</code>, в ином случае — <code class="literal">false</code>. </p></dd><dt><span class="term"><pre class="synopsis">bool Range.overlapsColumn(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>столбец</code></em></span> принадлежит интервалу <code class="literal">[начальный.столбец, конечный.столбец]</code>, в ином случае — <code class="literal">false</code>. </p></dd><dt><span class="term"><pre class="synopsis">bool Range.onSingleLine();
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если диапазон начинается и заканчивается в одной и той же строке, то есть если <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>Range.начальная.строка == Range.конечная.строка</code></em></span>. </p><p>Начиная с <span class="orgname">KDE</span> 4.9 </p></dd><dt><span class="term"><pre class="synopsis">bool Range.equals(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Range <span class="replaceable"><em class="replaceable"><code>другой</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если текущий диапазон и диапазон <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>другой</code></em></span> совпадают, в ином случае — <code class="literal">false</code>. </p></dd><dt><span class="term"><pre class="synopsis">String Range.toString();
</pre></span></dt><dd><p>Возвращает диапазон как строку вида <span class="quote">«<span class="quote"><code class="literal">Range(Cursor(строка, столбец), Cursor(строка, столбец))</code></span>»</span>. </p></dd></dl></div></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="dev-scripting-api-global"></a>Глобальные функции</h4></div></div></div><p>В этом разделе перечислены все глобальные функции.</p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="dev-scripting-api-includes"></a>Чтение и включение файлов</h5></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><pre class="synopsis">String read(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>название файла</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Найти указанный <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>файл</code></em></span> в каталоге <code class="literal">katepart5/script/files</code> и вернуть его содержимое в виде строки. </p></dd></dl></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><pre class="synopsis">void require(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>название файла</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Найти указанный <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>файл</code></em></span> в каталоге <code class="literal">katepart5/script/libraries</code> и обработать его код. В <code class="literal">require</code> предусмотрена встроенная защита от повторного включения одного и того же <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>файла</code></em></span>. </p><p>Начиная с <span class="orgname">KDE</span> 4.10 </p></dd></dl></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="dev-scripting-api-debug"></a>Отладка</h5></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><pre class="synopsis">void debug(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>текст</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Вывести <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>текст</code></em></span> в <code class="literal">stdout</code> в консоль, с помощью которой запущено приложение. </p></dd></dl></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="dev-scripting-api-i18n"></a>Перевод</h5></div></div></div><p>Полноценная локализация станет возможной только при использовании нескольких функций, предназначенных для перевода строк, а именно: <code class="literal">i18n</code>, <code class="literal">i18nc</code>, <code class="literal">i18np</code> и <code class="literal">i18ncp</code>. Поведение этих функций в точности соответствует поведению <a class="ulink" href="https://techbase.kde.org/Development/Tutorials/Localization/i18n" target="_top">функций перевода строк <span class="orgname">KDE</span></a>. </p><p>С помощью функций перевода и системы перевода <span class="orgname">KDE</span> встроенные в сценарий строки сообщений возможно перевести на язык интерфейса приложения. Строки в сценариях, которые являются частью официальной сборки <span class="application">KatePart</span>, автоматически извлекаются и представляются для перевода командам переводчиков <span class="orgname">KDE</span>. Другими словами, разработчикам основной ветви <span class="application">KatePart</span> не приходится заниматься извлечением сообщений и их переводом. Впрочем, следует отметить, что перевод будет работать только в пределах инфраструктуры <span class="orgname">KDE</span>, то есть перевод новых строк сценариев, разработанных за пределами <span class="orgname">KDE</span>, невозможен. Поэтому созданные сценарии следует отправлять в основную ветвь разработки <span class="application">Kate</span>, чтобы сделать возможным надлежащий перевод. </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><pre class="synopsis">void i18n(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>текст</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>параметр1</code></em></span>, ...);
</pre></span></dt><dd><p>Перевести <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>текст</code></em></span> на язык интерфейса приложения. Параметры <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>параметр1</code></em></span>, ... являются необязательными. Они позволяют заменить строки <code class="literal">%1</code>, <code class="literal">%2</code> и так далее.</p></dd><dt><span class="term"><pre class="synopsis">void i18nc(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>контекст</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>текст</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>параметр1</code></em></span>, ...);
</pre></span></dt><dd><p>Перевести <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>текст</code></em></span> на язык интерфейса приложения. При этом переводчикам будет показана строка <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>контекст</code></em></span>, что облегчает перевод. Параметры <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>параметр1</code></em></span>, ... являются необязательными. Они позволяют заменить строки <code class="literal">%1</code>, <code class="literal">%2</code> и так далее.</p></dd><dt><span class="term"><pre class="synopsis">void i18np(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>единственное</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>множественное</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>количество</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>параметр1</code></em></span>, ...);
</pre></span></dt><dd><p>Перевести <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>единственное</code></em></span> или <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>множественное</code></em></span> число сообщения на язык интерфейса приложения, в зависимости от указанного значения параметра <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>количество</code></em></span>. Параметры <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>параметр1</code></em></span>, ... являются необязательными. Они позволяют заменить строки <code class="literal">%1</code>, <code class="literal">%2</code> и так далее.</p></dd><dt><span class="term"><pre class="synopsis">void i18ncp(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>контекст</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>единственное</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>множественное</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>количество</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>параметр1</code></em></span>, ...);
</pre></span></dt><dd><p>Перевести <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>единственное</code></em></span> или <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>множественное</code></em></span> число сообщения на язык интерфейса приложения, в зависимости от указанного значения параметра <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>количество</code></em></span>. При этом переводчикам будет показана строка <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>контекст</code></em></span>, что облегчает перевод. Параметры <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>параметр1</code></em></span>, ... являются необязательными. Они позволяют заменить строки <code class="literal">%1</code>, <code class="literal">%2</code> и так далее.</p></dd></dl></div></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="dev-scripting-api-view"></a>Программный интерфейс (API) View</h4></div></div></div><p>Каким бы образом ни был запущен сценарий, он всегда будет использовать глобальную переменную <span class="quote">«<span class="quote"><code class="literal">view</code></span>»</span>, которая соответствует текущей активной области просмотра. Далее приводится список всех доступных функций объекта «View». </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><pre class="synopsis"><code class="function">void view.copy()</code>
</pre></span></dt><dd><p>Копировать выбранный фрагмент, если таковой имеется. Когда ничего не выбрано, копировать текущую строку, если указан параметр <strong class="userinput"><code>[ ] Вырезать или копировать текущую строку, если ничего не выделено</code></strong>.</p><p>Начиная с <span class="productname"><span class="orgname">KDE</span> Frameworks</span> 5.79</p></dd><dt><span class="term"><pre class="synopsis"><code class="function">void view.cut()</code>
</pre></span></dt><dd><p>Вырезать выбранный фрагмент, если таковой имеется. Когда ничего не выбрано, вырезать текущую строку, если указан параметр <strong class="userinput"><code>[ ] Вырезать или копировать текущую строку, если ничего не выделено</code></strong>.</p><p>Начиная с <span class="productname"><span class="orgname">KDE</span> Frameworks</span> 5.79</p></dd><dt><span class="term"><pre class="synopsis"><code class="function">void view.paste()</code>
</pre></span></dt><dd><p>Вставить содержимое буфера обмена.</p><p>Начиная с <span class="productname"><span class="orgname">KDE</span> Frameworks</span> 5.79</p></dd><dt><span class="term"><pre class="synopsis"><code class="function">Cursor view.cursorPosition()</code>
</pre></span></dt><dd><p>Возвращает текущую позицию курсора в области просмотра.</p></dd><dt><span class="term"><pre class="synopsis">void view.setCursorPosition(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
void view.setCursorPosition(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Устанавливает для текущего курсора позицию (строка, столбец) или позицию указанного курсора. </p></dd><dt><span class="term"><pre class="synopsis">Cursor view.virtualCursorPosition();
</pre></span></dt><dd><p>Возвращает позицию виртуального курсора. Все символы табуляции будут учтены с помощью соответствующего количества пробелов, которое будет зависеть от текущей ширины табуляции. </p></dd><dt><span class="term"><pre class="synopsis">void view.setVirtualCursorPosition(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
void view.setVirtualCursorPosition(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Устанавливает для текущего виртуального курсора позицию (строка, столбец) или позицию указанного курсора. </p></dd><dt><span class="term"><pre class="synopsis">String view.selectedText();
</pre></span></dt><dd><p>Возвращает выделенный фрагмент текст. Если выделенного фрагмента текста нет, возвращается пустая строка. </p></dd><dt><span class="term"><pre class="synopsis">bool view.hasSelection();
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если выделенный фрагмент текст находится в области просмотра, в ином случае — <code class="literal">false</code>. </p></dd><dt><span class="term"><pre class="synopsis">Range view.selection();
</pre></span></dt><dd><p>Возвращает диапазон выделенного фрагмента текста. Если выделенного фрагмента текста нет, возвращается некорректный диапазон. </p></dd><dt><span class="term"><pre class="synopsis">void view.setSelection(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Range <span class="replaceable"><em class="replaceable"><code>диапазон</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Устанавливает выделение текста по указанному диапазону. </p></dd><dt><span class="term"><pre class="synopsis">void view.removeSelectedText();
</pre></span></dt><dd><p>Удаляет выделенный текст. Если в области просмотра отстутствует выделенный текст, никаких действий не выполняется. </p></dd><dt><span class="term"><pre class="synopsis">void view.selectAll();
</pre></span></dt><dd><p>Выделяет весь текст в документе. </p></dd><dt><span class="term"><pre class="synopsis">void view.clearSelection();
</pre></span></dt><dd><p>Снимает выделение с текста, не удаляя сам текст. </p></dd><dt><span class="term"><pre class="synopsis">object view.executeCommand(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>команда</code></em></span></code></em></span>,
                           <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>параметры</code></em></span></code></em></span>,
                           <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Range <span class="replaceable"><em class="replaceable"><code>диапазон</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Выполняет <a class="link" href="advanced-editing-tools-commandline.html" title="Командная строка компонента редактирования">команду командной строки</a> <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>команда</code></em></span> с дополнительными параметрами <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>параметры</code></em></span> и необязательным диапазоном <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>диапазон</code></em></span>. Возвращённый объект <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>object</code></em></span> имеет логическое свойство <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>object.ok</code></em></span>, которое указывает на то, было ли успешным выполнение команды <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>команда</code></em></span>. В случае ошибки строка <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>object.status</code></em></span> будет содержать сообщение об ошибке. </p><p>Начиная с <span class="productname"><span class="orgname">KDE</span> Frameworks</span> 5.50</p></dd></dl></div><p>
</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="dev-scripting-api-document"></a>Программный интерфейс (API) Document</h4></div></div></div><p>Каким бы образом ни был запущен сценарий, он всегда будет использовать глобальную переменную <span class="quote">«<span class="quote"><code class="literal">document</code></span>»</span>, которая соответствует текущему активному документу. Далее приводится список всех доступных функций объекта «Document». </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><pre class="synopsis">String document.fileName();
</pre></span></dt><dd><p>Возвращает название файла документа или пустую строку для несохранённых буферов с текстом. </p></dd><dt><span class="term"><pre class="synopsis">String document.url();
</pre></span></dt><dd><p>Возвращает полный <acronym class="acronym">URL</acronym>-адрес документа или пустую строку для несохранённых буферов с текстом. </p></dd><dt><span class="term"><pre class="synopsis">String document.mimeType();
</pre></span></dt><dd><p>Возвращает тип <acronym class="acronym">MIME</acronym> документа или тип <acronym class="acronym">MIME</acronym> <code class="literal">application/octet-stream</code>, если не удалось найти соответствующий тип <acronym class="acronym">MIME</acronym>. </p></dd><dt><span class="term"><pre class="synopsis">String document.encoding();
</pre></span></dt><dd><p>Возвращает текущую кодировку, которая будет использована для сохранения файла . </p></dd><dt><span class="term"><pre class="synopsis">String document.highlightingMode();
</pre></span></dt><dd><p>Возвращает глобальный режим подсветки, используемый во всём документе. </p></dd><dt><span class="term"><pre class="synopsis">String document.highlightingModeAt(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>позиция</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает режим подсветки, используемый в указанной позиции в документе. </p></dd><dt><span class="term"><pre class="synopsis">Array document.embeddedHighlightingModes();
</pre></span></dt><dd><p>Возвращает массив режимов подсветки, встроенных в текущий документ. </p></dd><dt><span class="term"><pre class="synopsis">bool document.isModified();
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если в документе имеются несохранённые изменения, в ином случае — <code class="literal">false</code>. </p></dd><dt><span class="term"><pre class="synopsis">String document.text();
</pre></span></dt><dd><p>Возвращает всё содержимое документа в виде единой текстовой строки. Разрывы строк обозначаются символом перехода на новую строку <span class="quote">«<span class="quote"><code class="literal">\n</code></span>»</span>. </p></dd><dt><span class="term"><pre class="synopsis">String document.text(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>соСтроки</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>соСтолбца</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>доСтроки</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>доСтолбца</code></em></span></code></em></span>);
String document.text(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>с</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>до</code></em></span></code></em></span>);
String document.text(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Range <span class="replaceable"><em class="replaceable"><code>диапазон</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает текст в указанном диапазоне. Чтобы код было легче читать, рекомендуется использовать основанную на объектах Cursor и Range версию функции. </p></dd><dt><span class="term"><pre class="synopsis">String document.line(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает строку по её номеру в тексте. Если указанный номер находится вне диапазона номеров строк документа, возвращается пустая строка. </p></dd><dt><span class="term"><pre class="synopsis">String document.wordAt(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
String document.wordAt(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает слово в указанной позиции курсора. </p></dd><dt><span class="term">
<pre class="synopsis">Range document.wordRangeAt(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
Range document.wordRangeAt(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
</pre>
</span></dt><dd><p>Возвращает диапазон слова в указанной позиции курсора. Возвращённое значение диапазона будет некорректным (смотрите Range.isValid()), если текст находится за концом строки. Если в указанной позиции курсора отсутствует слово, возвращается пустой диапазон. </p><p>Начиная с <span class="orgname">KDE</span> 4.9 </p></dd><dt><span class="term"><pre class="synopsis">String document.charAt(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
String document.charAt(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает символ в указанной позиции курсора. </p></dd><dt><span class="term"><pre class="synopsis">String document.firstChar(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает первый отличный от пробела символ в указанной <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>строке</code></em></span>. Первым символом строки считается символ в столбце 0. Если строка является пустой или состоит только из пробелов, функция возвращает пустую строку. </p></dd><dt><span class="term"><pre class="synopsis">String document.lastChar(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает последний отличный от пробела символ в указанной <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>строке</code></em></span>. Если строка является пустой или состоит только из пробелов, функция возвращает пустую строку. </p></dd><dt><span class="term"><pre class="synopsis">bool document.isSpace(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
bool document.isSpace(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если символ в указанной позиции курсора является пробелом, в ином случае — <code class="literal">false</code>. </p></dd><dt><span class="term"><pre class="synopsis">bool document.matchesAt(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>текст</code></em></span></code></em></span>);
bool document.matchesAt(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>текст</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если указанный <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>текст</code></em></span> расположен в соответствующей позиции курсора, в ином случае — <code class="literal">false</code>. </p></dd><dt><span class="term"><pre class="synopsis">bool document.startsWith(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>текст</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>bool <span class="replaceable"><em class="replaceable"><code>skipWhiteSpaces</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если строка с указанным номером начинается с фрагмента текста <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>текст</code></em></span>, в ином случае — <code class="literal">false</code>. Параметр <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>skipWhiteSpaces</code></em></span> позволяет указать программе, следует ли игнорировать пробелы в начале строки. </p></dd><dt><span class="term"><pre class="synopsis">bool document.endsWith(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>текст</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>bool <span class="replaceable"><em class="replaceable"><code>skipWhiteSpaces</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если строка с указанным номером заканчивается фрагментом текста <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>текст</code></em></span>, в ином случае — <code class="literal">false</code>. Параметр <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>skipWhiteSpaces</code></em></span> позволяет указать программе, следует ли игнорировать пробелы в конце строки. </p></dd><dt><span class="term"><pre class="synopsis">bool document.setText(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>текст</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Заменяет всё содержимое документа на указанный текст. </p></dd><dt><span class="term"><pre class="synopsis">bool document.clear();
</pre></span></dt><dd><p>Удаляет весь текст в документе. </p></dd><dt><span class="term"><pre class="synopsis">bool document.truncate(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
bool document.truncate(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Обрезает строку с указанным номером на указанном столбце или в указанной позиции курсора. Возвращает <code class="literal">true</code> в случае успеха или <code class="literal">false</code>, если строка с указанным номером находится вне диапазона номеров строк документа. </p></dd><dt><span class="term"><pre class="synopsis">bool document.insertText(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>текст</code></em></span></code></em></span>);
bool document.insertText(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>текст</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Вставляет указанный <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>текст</code></em></span> в указанной позиции курсора. Возвращает <code class="literal">true</code> в случае успеха или <code class="literal">false</code>, если документ доступен только для чтения. </p></dd><dt><span class="term"><pre class="synopsis">bool document.removeText(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>соСтроки</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>соСтолбца</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>доСтроки</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>доСтолбца</code></em></span></code></em></span>);
bool document.removeText(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>с</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>до</code></em></span></code></em></span>);
bool document.removeText(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Range <span class="replaceable"><em class="replaceable"><code>диапазон</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Удаляет текст в указанном диапазоне. Возвращает <code class="literal">true</code> в случае успеха или <code class="literal">false</code>, если документ доступен только для чтения. </p></dd><dt><span class="term"><pre class="synopsis">bool document.insertLine(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>текст</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Вставляет текст в указанной строке. Возвращает <code class="literal">true</code> в случае успеха или <code class="literal">false</code>, если документ доступен только для чтения или указанная строка находится вне диапазона номеров строк документа. </p></dd><dt><span class="term"><pre class="synopsis">bool document.removeLine(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Удаляет строку с указанным номером. Возвращает <code class="literal">true</code> в случае успеха или <code class="literal">false</code>, если документ доступен только для чтения или указанная строка находится вне диапазона номеров строк документа. </p></dd><dt><span class="term"><pre class="synopsis">bool document.wrapLine(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
bool document.wrapLine(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Переносит строку по указанной позиции курсора. Возвращает <code class="literal">true</code> в случае успеха или <code class="literal">false</code> (например, если номер строки &lt; 0). </p><p>Начиная с <span class="orgname">KDE</span> 4.9 </p></dd><dt><span class="term"><pre class="synopsis">void document.joinLines(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>начальнаяСтрока</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>конечнаяСтрока</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Соединяет строки в диапазоне от <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>начальнаяСтрока</code></em></span> до <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>конечнаяСтрока</code></em></span>. Две последовательные текстовые строки всегда разделяются одиночным пробелом. </p></dd><dt><span class="term"><pre class="synopsis">int document.lines();
</pre></span></dt><dd><p>Возвращает число строк в документе. </p></dd><dt><span class="term"><pre class="synopsis">bool document.isLineModified(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>строка</code></em></span> в настоящее время содержит несохранённые данные. </p><p>Начиная с <span class="orgname">KDE</span> 5.0 </p></dd><dt><span class="term"><pre class="synopsis">bool document.isLineSaved(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>строка</code></em></span> была изменена и затем документ был сохранён. Следовательно, в настоящее время строка не содержит какие-либо несохранённые данные. </p><p>Начиная с <span class="orgname">KDE</span> 5.0 </p></dd><dt><span class="term"><pre class="synopsis">bool document.isLineTouched(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>строка</code></em></span> в настоящее время содержит несохранённые данные или была изменена ранее. </p><p>Начиная с <span class="orgname">KDE</span> 5.0 </p></dd><dt><span class="term"><pre class="synopsis">bool document.findTouchedLine(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>начальнаяСтрока</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>bool <span class="replaceable"><em class="replaceable"><code>down</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Поиск следующей изменённой строки, начиная со строки <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>начальнаяСтрока</code></em></span>. Поиск выполняется в направлении «вверх» (к началу документа) или «вниз» (к концу документа), в зависимости от значения параметра <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>down</code></em></span>. </p><p>Начиная с <span class="orgname">KDE</span> 5.0 </p></dd><dt><span class="term"><pre class="synopsis">int document.length();
</pre></span></dt><dd><p>Возвращает число символов в документе. </p></dd><dt><span class="term"><pre class="synopsis">int document.lineLength(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает длину строки с номером <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>строка</code></em></span>. </p></dd><dt><span class="term"><pre class="synopsis">void document.editBegin();
</pre></span></dt><dd><p>Начинает группу редактирования для упорядочения операций отмены или повтора действий. Не забывайте, что вызывать <code class="function">editEnd()</code> следует именно столько раз, сколько вызывается <code class="function">editBegin()</code>. Вызовы <code class="function">editBegin()</code> используют встроенный счётчик, следовательно, их возможно вкладывать один в другой. </p></dd><dt><span class="term"><pre class="synopsis">void document.editEnd();
</pre></span></dt><dd><p>Завершает группу редактирования. Последний вызов <code class="function">editEnd()</code> (то есть соответствие первого вызова <code class="function">editBegin()</code>) завершает шаг по редактированию. </p></dd><dt><span class="term"><pre class="synopsis">int document.firstColumn(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает первый отличный от пробела столбец в указанной с помощью параметра <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>строка</code></em></span> строке. Если в строке будут только пробелы, функция вернёт значение <code class="literal">-1</code>. </p></dd><dt><span class="term"><pre class="synopsis">int document.lastColumn(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает последний отличный от пробела столбец в указанной с помощью параметра <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>строка</code></em></span> строке. Если в строке будут только пробелы, функция вернёт значение <code class="literal">-1</code>. </p></dd><dt><span class="term"><pre class="synopsis">int document.prevNonSpaceColumn(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
int document.prevNonSpaceColumn(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает номер столбца с символом, отличным от пробела. Поиск будет выполнен в направлении начала документа, начиная с указанной позиции курсора. </p></dd><dt><span class="term"><pre class="synopsis">int document.nextNonSpaceColumn(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
int document.nextNonSpaceColumn(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает номер столбца с символом, отличным от пробела. Поиск будет выполнен в направлении конца документа, начиная с указанной позиции курсора. </p></dd><dt><span class="term"><pre class="synopsis">int document.prevNonEmptyLine(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает следующую непустую строку, содержащую отличные от пробелов символы. Поиск будет выполнен в направлении начала документа. </p></dd><dt><span class="term"><pre class="synopsis">int document.nextNonEmptyLine(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает следующую непустую строку, содержащую отличные от пробелов символы. Поиск будет выполнен в направлении конца документа. </p></dd><dt><span class="term"><pre class="synopsis">bool document.isInWord(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>символ</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>атрибут</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если указанный <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>символ</code></em></span> с указанным параметром <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>атрибут</code></em></span> может быть частью слова, в ином случае — <code class="literal">false</code>. </p></dd><dt><span class="term"><pre class="synopsis">bool document.canBreakAt(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>символ</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>атрибут</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если указанный <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>символ</code></em></span> с указанным параметром <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>атрибут</code></em></span> может быть использован как место переноса строки, в ином случае — <code class="literal">false</code>. </p></dd><dt><span class="term"><pre class="synopsis">bool document.canComment(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>начальныйАтрибут</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>конечныйАтрибут</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если диапазон, начало и конец которого определяются на основе указанных атрибутов, может быть закомментирован, в ином случае — <code class="literal">false</code>. </p></dd><dt><span class="term"><pre class="synopsis">String document.commentMarker(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>атрибут</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает метку комментария для однострочных комментариев для указанного параметра <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>атрибут</code></em></span>. </p></dd><dt><span class="term"><pre class="synopsis">String document.commentStart(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>атрибут</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает метку комментария для начала многострочных комментариев для указанного параметра <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>атрибут</code></em></span>. </p></dd><dt><span class="term"><pre class="synopsis">String document.commentEnd(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>атрибут</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает метку комментария для завершения многострочных комментариев для указанного параметра <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>атрибут</code></em></span>. </p></dd><dt><span class="term"><pre class="synopsis">Range document.documentRange();
</pre></span></dt><dd><p>Возвращает диапазон, который включает весь документ. </p></dd><dt><span class="term"><pre class="synopsis">Cursor documentEnd();
</pre></span></dt><dd><p>Возвращает курсор, расположенный в последнем столбце последней строки в документе.  </p></dd><dt><span class="term"><pre class="synopsis">bool isValidTextPosition(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
bool isValidTextPosition(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если курсор находится в корректной позиции в тексте. Позиция в тексте является корректной, только если курсор находится в начале, в середине или в конце корректной строки текста. Кроме того, позиция в тексте является некорректной, если курсор находится в заменителе символа Юникода. </p><p>Начиная с <span class="orgname">KDE</span> 5.0 </p></dd><dt><span class="term"><pre class="synopsis">int document.attribute(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
int document.attribute(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает атрибут в указанной позиции курсора. </p></dd><dt><span class="term"><pre class="synopsis">bool document.isAttribute(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>атрибут</code></em></span></code></em></span>);
bool document.isAttribute(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>атрибут</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если атрибут в указанной позиции курсора совпадает со значением параметра <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>атрибут</code></em></span>, в ином случае — <code class="literal">false</code>. </p></dd><dt><span class="term"><pre class="synopsis">String document.attributeName(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
String document.attributeName(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает название атрибута как удобочитаемый текст. Соответствует названию <code class="literal">itemData</code> в файлах подсветки синтаксиса. </p></dd><dt><span class="term"><pre class="synopsis">bool document.isAttributeName(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>название</code></em></span></code></em></span>);
bool document.isAttributeName(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>название</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если название атрибута в определённой позиции курсора соответствует указанному значению параметра <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>название</code></em></span>, в ином случае — <code class="literal">false</code>. </p></dd><dt><span class="term"><pre class="synopsis">String document.variable(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>ключ</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает значение запрашиваемой переменной документа <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>ключ</code></em></span>. Если переменной документа с указанным названием не существует, возвращается пустая строка. </p></dd><dt><span class="term"><pre class="synopsis">void document.setVariable(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>ключ</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>значение</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Устанавливает значение соответствующей переменной документа <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>ключ</code></em></span>. </p><p>Смотрите также <a class="link" href="config-variables.html" title="Настройка с помощью переменных документа">переменные документа Kate</a> </p><p>Начиная с <span class="orgname">KDE</span> 4.8 </p></dd><dt><span class="term"><pre class="synopsis">int document.firstVirtualColumn(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает виртуальный столбец первого отличного от пробела символа в указанной строке или <code class="literal">-1</code>, если строка является пустой или содержит только пробелы. </p></dd><dt><span class="term"><pre class="synopsis">int document.lastVirtualColumn(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает виртуальный столбец последнего отличного от пробела символа в указанной строке или <code class="literal">-1</code>, если строка является пустой или содержит только пробелы. </p></dd><dt><span class="term"><pre class="synopsis">int document.toVirtualColumn(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
int document.toVirtualColumn(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
Cursor document.toVirtualCursor(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Преобразует указанную <span class="quote">«<span class="quote">реальную</span>»</span> позицию курсора в виртуальную позицию курсора, возвращая либо целое значение (int), либо объект «Cursor». </p></dd><dt><span class="term"><pre class="synopsis">int document.fromVirtualColumn(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>виртуальныйСтолбец</code></em></span></code></em></span>);
int document.fromVirtualColumn(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>виртуальныйКурсор</code></em></span></code></em></span>);
Cursor document.fromVirtualCursor(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>виртуальныйКурсор</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Преобразует указанную виртуальную позицию курсора в <span class="quote">«<span class="quote">реальную</span>»</span> позицию курсора, возвращая либо целое значение (int), либо объект «Cursor». </p></dd><dt><span class="term"><pre class="synopsis">Cursor document.anchor(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Char <span class="replaceable"><em class="replaceable"><code>символ</code></em></span></code></em></span>);
Cursor document.anchor(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Char <span class="replaceable"><em class="replaceable"><code>символ</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Выполняет поиск указанного символа в направлении начала документа, начиная в указанной позиции курсора. Например, если функции будет передан символ «(», она вернёт позицию открывающей скобки «(». Выполняется подсчёт ссылок, то есть другие «(...)» будут проигнорированы. </p></dd><dt><span class="term"><pre class="synopsis">Cursor document.rfind(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>текст</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>атрибут</code></em></span> = -1</code></em></span>);
Cursor document.rfind(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>текст</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>атрибут</code></em></span> = -1</code></em></span>);
</pre></span></dt><dd><p>Выполняет поиск указанного текста с соответствующим значением параметра <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>атрибут</code></em></span> в направлении начала текста. Параметр <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>атрибут</code></em></span> игнорируется, если он установлен в значение <code class="literal">-1</code>. Возвращает некорректный курсор, если текст не удалось найти. </p></dd><dt><span class="term"><pre class="synopsis">int document.defStyleNum(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
int document.defStyleNum(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает стиль по умолчанию, используемый в указанной позиции курсора. </p></dd><dt><span class="term"><pre class="synopsis">bool document.isCode(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
bool document.isCode(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если атрибут в указанной позиции курсора не совпадает ни с одним из следующих значений стилей: <code class="literal">dsComment</code>, <code class="literal">dsString</code>, <code class="literal">dsRegionMarker</code>, <code class="literal">dsChar</code>, <code class="literal">dsOthers</code>. </p></dd><dt><span class="term"><pre class="synopsis">bool document.isComment(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
bool document.isComment(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если значением атрибута символа в позиции курсора является <code class="literal">dsComment</code>, в ином случае — <code class="literal">false</code>. </p></dd><dt><span class="term"><pre class="synopsis">bool document.isString(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
bool document.isString(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если значением атрибута символа в позиции курсора является <code class="literal">dsString</code>, в ином случае — <code class="literal">false</code>. </p></dd><dt><span class="term"><pre class="synopsis">bool document.isRegionMarker(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
bool document.isRegionMarker(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если значением атрибута символа в позиции курсора является <code class="literal">dsRegionMarker</code>, в ином случае — <code class="literal">false</code>. </p></dd><dt><span class="term"><pre class="synopsis">bool document.isChar(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
bool document.isChar(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если значением атрибута символа в позиции курсора является <code class="literal">dsChar</code>, в ином случае — <code class="literal">false</code>. </p></dd><dt><span class="term"><pre class="synopsis">bool document.isOthers(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>строка</code></em></span></code></em></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>int <span class="replaceable"><em class="replaceable"><code>столбец</code></em></span></code></em></span>);
bool document.isOthers(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>Cursor <span class="replaceable"><em class="replaceable"><code>курсор</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Возвращает <code class="literal">true</code>, если значением атрибута символа в позиции курсора является <code class="literal">dsOthers</code>, в ином случае — <code class="literal">false</code>. </p></dd></dl></div><p>
</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="dev-scripting-api-editor"></a>Программный интерфейс (API) редактора</h4></div></div></div><p>Кроме программного интерфейса документа и области просмотра, существует и общий программный интерфейс редактора, который предоставляет доступ к общим функциям управления редактором с помощью сценариев. </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><pre class="synopsis">String editor.clipboardText();
</pre></span></dt><dd><p>Возвращает текст, который в настоящее время находится в глобальном буфере обмена. </p><p>Начиная с <span class="productname"><span class="orgname">KDE</span> Frameworks</span> 5.50</p></dd><dt><span class="term"><pre class="synopsis">String editor.clipboardHistory();
</pre></span></dt><dd><p>Редактор сохраняет журнал буфера обмена, который содержит до 10 записей. Эта функция возвращает все записи, которые в настоящее время находятся в журнале буфера обмена. </p><p>Начиная с <span class="productname"><span class="orgname">KDE</span> Frameworks</span> 5.50</p></dd><dt><span class="term"><pre class="synopsis">void editor.setClipboardText(<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="parameter"><em class="parameter"><code>String <span class="replaceable"><em class="replaceable"><code>текст</code></em></span></code></em></span>);
</pre></span></dt><dd><p>Устанавливает для содержимого буфера обмена значение <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>текст</code></em></span>. Запись <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>текст</code></em></span> будет добавлена в журнал буфера обмена. </p><p>Начиная с <span class="productname"><span class="orgname">KDE</span> Frameworks</span> 5.50</p></dd></dl></div><p>
</p></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="color-themes.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="config-dialog.html">След.</a></td></tr><tr><td class="prevCell">Работа с цветовыми схемами </td><td class="upCell">Расширение функциональных возможностей <span class="application">KatePart</span></td><td class="nextCell"> Настройка <span class="application">KatePart</span></td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="advanced-editing-tools-code-folding.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="highlight.html">След.</a></td></tr><tr><td class="prevCell">Использование сворачивания кода </td><td class="upCell"> </td><td class="nextCell"> Подсветка синтаксиса</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="config-dialog.html"><html><head><title>Глава 7. Настройка KatePart</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="index.html" title="Руководство пользователя KatePart"><link rel="prev" href="dev-scripting.html" title="Написание сценариев JavaScript"><link rel="next" href="config-variables.html" title="Настройка с помощью переменных документа"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Настройка <span class="application">KatePart</span></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="dev-scripting.html">Пред.</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="config-variables.html">След.</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="config-dialog"></a>Глава 7. Настройка <span class="application">KatePart</span></h1></div></div></div><p>Выберите пункт меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Настройка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Настроить <span class="replaceable"><em class="replaceable"><code>редактор</code></em></span>...</span></span>: будет открыто окно <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Настройка</span></span>. Здесь возможно изменять различные параметры программы. Параметры сгруппированы по разделам, которые перечислены в списке слева. Независимо от выбранного раздела в нижней части окна присутствуют три стандартные кнопки управления процессом настройки. </p><p>Кнопка <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Справка</span></span> позволяет вызвать справочную систему, кнопка <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">OK</span></span> — сохранить текущие параметры и закрыть диалог, кнопка <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Отмена</span></span> — закрыть диалог без сохранения изменений. Далее приводится описание разделов настройки (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Внешний вид</span></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Шрифты и цвета</span></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Редактирование</span></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Открытие и сохранение</span></span> и <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Расширения</span></span>). </p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config-dialog-editor"></a>Настройка компонента редактирования</h2></div></div></div><p>Эта группа содержит все страницы, связанные с настройкой компонента редактора <span class="application">KatePart</span>. Большинство представленных параметров установлены в значения по умолчанию, для их переопределения возможно <a class="link" href="config-dialog.html#pref-open-save-modes-filetypes" title="Типы файлов">задать тип файла</a>, использовать <a class="link" href="config-variables.html" title="Настройка с помощью переменных документа">переменные документа</a> или же изменять их отдельно для каждого документа во время сеанса редактирования.</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="appearance"></a>Внешний вид</h3></div></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="appearance-general"></a>Главное</h4></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Шрифт редактора</span></span></span></dt><dd><p>Здесь возможно выбрать шрифт текста редактора. Это может быть любой шрифт, установленный в системе. Также возможно выбрать его размер по умолчанию. В нижней части окна находится поле, в котором показано, как будет выглядеть текст, написанный таким шрифтом. </p><p>Дополнительные сведения о выборе шрифта доступны в разделе <a class="ulink" href="help:/fundamentals/fonts.html" target="_top"><span class="emphasis"><em>Выбор шрифта</em></span> в <span class="emphasis"><em>Основах <span class="orgname">KDE</span></em></span></a>.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Показывать маркеры пробелов</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Никогда</span></span></span></dt><dd><p>В редакторе не будут показаны точки, обозначающие наличие пробелов.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">В конце строки</span></span></span></dt><dd><p>В редакторе будут показаны точки, обозначающие наличие дополнительных пробелов в конце строки.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Всегда</span></span></span></dt><dd><p>В редакторе будут показаны точки, обозначающие наличие пробелов.</p></dd></dl></div></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Размер маркеров пробелов</span></span></span></dt><dd><p>Ползунок позволяет изменять размер видимого маркера.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Показывать маркеры табуляции</span></span></span></dt><dd><p>Если флажок установлен, в редакторе будет показан символ », обозначающий наличие табуляции в тексте.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Показывать рамку фокуса вокруг редактора</span></span></span></dt><dd><p>Если флажок установлен, вокруг основного элемента управления исходным текстом отображается рамка фокуса.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Поиск и подсветка пар скобок </span></span></span></dt><dd><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Выделять пространство между скобками </span></span></span></dt><dd><p>Если этот параметр включён, пространство между выбранными парными скобками будет выделено.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Предварительный просмотр парной открытой скобки </span></span></span></dt><dd><p>Если флажок установлен, в редакторе будет показана подсказка с парной открытой скобкой.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Мигание парной скобки при наведении курсора на другую скобку в паре </span></span></span></dt><dd><p>Если флажок установлен, при переходе между скобками (<span class="keycap"><strong>{</strong></span>, <span class="keycap"><strong>[</strong></span>, <span class="keycap"><strong>]</strong></span>, <span class="keycap"><strong>}</strong></span>,<span class="keycap"><strong>(</strong></span> или <span class="keycap"><strong>)</strong></span>) соответствующая парная скобка будет мигать.</p></dd></dl></div><p>
</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Показать линии отступов </span></span></span></dt><dd><p>Если флажок установлен, в редакторе будут видны вертикальные линии, облегчающие поиск строк с одинаковыми отступами.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Счётчики </span></span></span></dt><dd><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Показать счётчик слов и символов </span></span></span></dt><dd><p>В строке состояния отображается количество слов и символов в документе и в текущем выделенном фрагменте. Этот параметр также доступен в контекстном меню строки состояния.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Показать счётчик строк </span></span></span></dt><dd><p>В строке состояния отображается общее количество строк в документе. Этот параметр также доступен в контекстном меню строки состояния.</p></dd></dl></div><p>
</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Сворачивать блок, начинающийся в первой строке </span></span></span></dt><dd><p>Если этот параметр включён, блок, который начинается в первой строке, будет свёрнут. Это полезно в тех случаях, когда файл начинается с комментария (например, с информации об авторских правах).</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Динамический перенос строк</span></span></span></dt><dd><p>Если флажок установлен, слова, не помещающиеся в видимую часть экрана, будут автоматически перенесены на новую строку.</p><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Динамический перенос строк по маркеру статического переноса </span></span></span></dt><dd><p>Если флажок установлен, редактор будет динамически переносить строки текста на <a class="link" href="config-dialog.html#pref-word-wrap">позиции статического переноса строк</a>.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Игнорировать границы слов для динамического переноса </span></span></span></dt><dd><p>Если флажок установлен, редактор не учитывает границы слов при динамическом переносе строк текста.</p></dd></dl></div><p>
</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Маркеры динамического переноса строк</span></span></span></dt><dd><p>Позволяет выбрать вариант показа маркеров динамического переноса строк: <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Выключить</span></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">За номерами строк</span></span> или <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Видны всегда</span></span>. </p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Сохранять отступ для перенесённых строк, если он не длиннее </span></span></span></dt><dd><p>После включения этого параметра начало динамически перенесённых строк будет выравнено относительно отступа первой строки. Это позволяет улучшить читаемость кода и разметки.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Добавлять отступы для перенесённых строк </span></span></span></dt><dd><p>Кроме того, этот параметр позволяет установить максимальную ширину экрана (в процентах), после превышения которой динамически перенесенные строки не будут выравниваться по отступу. Например, при значении 50% строки с отступом больше 50% ширины экрана больше не будут выравниваться по отступу.</p></dd></dl></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="appearance-borders"></a>Границы</h4></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Сворачивание блоков кода</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Показывать маркеры сворачивания блоков кода </span></span></span></dt><dd><p>Если флажок установлен и сворачивание блоков кода доступно, будут показаны маркеры сворачивания блоков.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Предварительный просмотр свёрнутых блоков при наведении указателя </span></span></span></dt><dd><p>Если флажок установлен, при наведении указателя мыши на свёрнутый блок его содержимое будет показано во всплывающем окне.</p></dd></dl></div></dd></dl></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Левая сторона</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Показывать отметки </span></span></span></dt><dd><p>Включает показ полосы закладок в левой части редактора.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Показывать номера строк </span></span></span></dt><dd><p>Если флажок установлен, номера строк будут показаны в левой части редактора.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Выделять изменённые и несохранённые строки </span></span></span></dt><dd><p>Если флажок установлен, будут показаны маркеры изменённых строк. Дополнительные сведения: <a class="xref" href="kate-part-line-modification.html" title="Маркеры изменённых строк">«Маркеры изменённых строк»</a>. </p></dd></dl></div></dd></dl></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Полосы прокрутки</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Показывать отметки </span></span></span></dt><dd><p>Если флажок установлен, то на вертикальной полосе прокрутки текущего окна будут видны маркеры. Эти маркеры показывают положение закладок в тексте.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Предварительный просмотр при наведении указателя на полосу прокрутки</span></span></span></dt><dd><p>Если флажок установлен, при наведении указателя мыши на полосу прокрутки будет показано всплывающее окно с несколькими строками текущего документа. Это позволяет быстро перейти к другой части документа.</p></dd></dl></div></dd></dl></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Мини-карта</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Показывать мини-карту</span></span></span></dt><dd><p>Если флажок установлен, каждое новое представление будет содержать мини-карту документа на вертикальной полосе прокрутки.</p><p>Дополнительные сведения о мини-карте в полосе прокрутки: <a class="xref" href="kate-part-scrollbar-minimap.html" title="Мини-карта в полосе прокрутки">«Мини-карта в полосе прокрутки»</a>.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Ширина мини-карты</span></span></span></dt><dd><p>Регулирует ширину мини-карты в полосе прокрутки (в пикселах). </p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Видимость полос прокрутки</span></span></span></dt><dd><p>Позволяет включать, отключать или показывать полосы прокрутки только при необходимости. Щёлкните левой кнопкой мыши по голубому прямоугольнику для просмотра диапазона номеров строк документа, которые показаны на экране. Удерживайте левую кнопку мыши нажатой и перемещайте мышь за пределами голубого прямоугольника для автоматической прокрутки документа. </p></dd></dl></div></dd></dl></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Сортировка закладок в меню</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">По дате создания </span></span></span></dt><dd><p>Каждая новая закладка будет добавлена в конец списка, вне зависимости от того, на какой строке документа она установлена.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">По номеру строки </span></span></span></dt><dd><p>Закладки будут отсортированы по номеру строки, на которой они находятся.</p></dd></dl></div></dd></dl></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="prefcolors"></a>Цветовые схемы</h3></div></div></div><p>Этот раздел позволяет настраивать все цвета в любой существующей цветовой схеме, а также создавать новые схемы или удалять существующие. Каждая схема определяет цвета и стили обычного и выделенного текста. </p><p>При входе в диалог <span class="application">KatePart</span> автоматически выбирает текущую активную схему. Если требуется внести изменения в другую схему, возможно выбрать её в раскрывающемся списке <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Схема</span></span>. Кнопки  <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Копировать…</span></span> и <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Удалить</span></span> предназначены, соответственно, для создания новых схем (путём копирования существующих) и удаления существующих схем.</p><p>В нижней части страницы указывается <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Схема по умолчанию для <span class="replaceable"><em class="replaceable"><code>приложения</code></em></span></span></span>.</p><p>Подробнее: <a class="xref" href="color-themes.html#color-themes-gui" title="Графический интерфейс цветовых схем">«Графический интерфейс цветовых схем»</a>.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="pref-edit"></a>Редактирование</h3></div></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="pref-edit-general"></a>Главное</h4></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><a name="pref-word-wrap"></a><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Перенос строк</span></span></span></dt><dd><p><span class="application">KatePart</span> позволяет автоматически переносить курсор и текст на новую строку. Перенос будет осуществляться, как только длина строки превысит указанную в поле <a class="link" href="config-dialog.html#pref-wrap-words-at">Переносить слова на новую строку после</a>.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Переносить слова на фиксированной позиции</span></span></span></dt><dd><p>Включает или отключает статический перенос строк.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Показывать вертикальную линию в позиции переноса строк </span></span></span></dt><dd><p>Если этот параметр включён, на столбце с переносимыми строками будет показана вертикальная линия (настраивается с помощью пункта меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Настройка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Настроить редактор...</span></span> на вкладке «Редактирование»). Обратите внимание, маркер будет виден только в том случае, если используется моноширинный шрифт.</p></dd><dt><span class="term"><a name="pref-wrap-words-at"></a><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Переносить слова на новую строку после:</span></span></span></dt><dd><p>Если флажок <a class="link" href="config-dialog.html#pref-word-wrap">Переносить слова на фиксированной позиции</a> установлен, в этом поле возможно указать длину строки (в символах), по достижении которой курсор и текст будут автоматически перенесены на следующую строку.</p></dd></dl></div></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Режим ввода по умолчанию</span></span></span></dt><dd><p>При открытии нового представления будет включён выбранный режим ввода. Режим ввода Vi для отдельного представления также возможно включить или отключить с помощью меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span>. </p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Скобки</span></span></span></dt><dd><p>Если параметр <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Автоматически закрывать скобки при вводе открывающей скобки</span></span> включён, когда пользователь введёт символ открывающей скобки (<span class="keycap"><strong>[</strong></span>, <span class="keycap"><strong>(</strong></span> или <span class="keycap"><strong>{</strong></span>), <span class="application">KatePart</span> автоматически вставит закрывающую скобку (<span class="keycap"><strong>}</strong></span>, <span class="keycap"><strong>)</strong></span> или <span class="keycap"><strong>]</strong></span>) справа от курсора.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Символы-ограничители</span></span></span></dt><dd><p>Возможно выбрать символы-ограничители с помощью соответствующего раскрывающегося списка.</p><p>Если выбран текст, то при вводе одного из символов он будет заключён между двумя такими символами.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Копирование и вставка</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Перемещать выделенный текст при перетаскивании </span></span></span></dt><dd><p>Этот параметр включает перетаскивание выделенного текста внутри окна редактора.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Вырезать или копировать текущую строку, если ничего не выделено</span></span></span></dt><dd><p>Если этот параметр включён и ничего не выделено, для строки текста в текущей позиции курсора будет выполнено действия копирования или вырезания.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Не перемещать текстовый курсор при вставке с помощью мыши</span></span></span></dt><dd><p>Если этот параметр включён, при вставке какого-либо текста в окно редактора щелчком средней кнопкой мыши <span class="application">KatePart</span> не будет перемещать текстовый курсор в позицию щелчка.</p></dd></dl></div></dd></dl></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="pref-edit-cursor-selection"></a>Навигация по тексту</h4></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Перемещение курсора</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Интеллектуальная навигация клавишами «Home» и «End»</span></span></span></dt><dd><p>Если флажок установлен, при нажатии клавиши <span class="keycap"><strong>Home</strong></span> курсор будет переходить на начало текста в текущей строке, игнорируя пробелы в начале строки.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Клавиши PageUp и PageDown перемещают курсор</span></span></span></dt><dd><p>Этот параметр определяет реакцию курсора на нажатие клавиш <span class="keysym">PgUp</span> и <span class="keysym">PgDn</span>. Если флажок снят, курсор будет сохранять свою относительную позицию в окне. Следовательно, если до нажатия клавиши курсор был в середине окна, он там и останется после нажатия (если, конечно, не достигнут конец или начало документа). Если флажок установлен, первое нажатие клавиши переместит курсор вниз или вверх экрана.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Включить переход курсора к прописным буквам</span></span></span></dt><dd><p>Этот параметр изменяет поведение курсора при нажатии комбинации клавиш <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>стрелка влево</strong></span> или <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>стрелка вправо</strong></span> пользователем. Если флажок снят, текстовый курсор переходит к следующему полному слову. Если флажок установлен, курсор будет останавливаться на прописных буквах в словах, написанных буквамиразных регистров.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Оставлять между курсором и краем строк</span></span></span></dt><dd><p>Устанавливает число строк, которые должны быть видимы выше и ниже курсора (если возможно).</p></dd></dl></div></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Режим выделения текста</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Обычный</span></span></span></dt><dd><p>Выделенная область будет удалена при вводе текста, и выделение будет снято при перемещении курсора.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Не снимать выделение</span></span></span></dt><dd><p>Выделение не изменяется даже после ввода текста и перемещения курсора.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Позволять прокручивать документ ниже его конца</span></span></span></dt><dd><p>С помощью этого параметра возможно прокручивать документ ниже его конца. Это может быть полезно, если требуется центрировать нижнюю часть документа по вертикали или разместить её поверх текущего представления.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Клавиша Backspace удаляет символ совместно с его диакритическим знаком</span></span></span></dt><dd><p>Если флажок установлен, составные символы удаляются вместе с соответствующими диакритическими знаками (то есть не происходит удаление только лишь основного символа). Это полезно, когда в качестве системного используется язык из индийской группы индоевропейских языков.</p></dd></dl></div></dd></dl></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="pref-edit-indent"></a>Отступы</h4></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Режим расстановки отступов по умолчанию</span></span></span></dt><dd><p>Позволяет выбрать используемый по умолчанию автоматический режим расстановки отступов. Настоятельно рекомендуется выбрать <strong class="userinput"><code>Без автоматического отступа</code></strong> или <strong class="userinput"><code>Обычный</code></strong>, а другие пункты выбирать при настройке разных типов файлов, таких как код на C/C++ или файлы в формате <acronym class="acronym">XML</acronym>.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Отступы</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Табуляция</span></span></span></dt><dd><p>Если флажок установлен, при нажатии клавиши <span class="keycap"><strong>Tab</strong></span> или использовании функции <a class="link" href="kate-part-autoindent.html" title="Использование автоматической расстановки отступов">автоматического отступа</a> редактор будет вставлять символы табуляции.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Пробелы</span></span></span></dt><dd><p>Если флажок установлен, при нажатии клавиши <span class="keycap"><strong>Tab</strong></span> или использовании функции <a class="link" href="kate-part-autoindent.html" title="Использование автоматической расстановки отступов">автоматического отступа</a> редактор будет вставлять необходимое количество пробелов в соответствии с положением в тексте и значением параметра <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="option"><code class="option">ширины табуляции</code></span>.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Табуляция и пробелы</span></span></span></dt><dd><p>Если флажок установлен, редактор при создании отступа или нажатии клавиши <span class="keycap"><strong>Tab</strong></span> в начале строки будет вставлять пробелы как описано выше, а при нажатии клавиши <span class="keycap"><strong>Tab</strong></span> в середине или конце строки — символы табуляции.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Ширина табуляции</span></span></span></dt><dd><p>Этот параметр позволяет настроить количество пробелов, которые будут показаны вместо символа табуляции.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Ширина отступа</span></span></span></dt><dd><p>Ширина отступа — это количество пробелов для обозначения отступа строки. Если задано создание отступов с помощью символов табуляции, будет вставлен символ табуляции (при условии, что отступ кратен ширине табуляции).</p></dd></dl></div></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Правила расстановки отступов</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Сохранять лишние пробелы</span></span></span></dt><dd><p>Если флажок снят, при изменении уровня отступа строка будет выровнена согласно значению параметра <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Ширина отступа</span></span>.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Выполнять расстановку отступов для вставляемого из буфера обмена кода</span></span></span></dt><dd><p>Если флажок установлен, во вставленном из буфера обмена тексте будут созданы отступы. Команда <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Отменить действие</span></span> позволяет убрать созданные отступы.</p></dd></dl></div></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Работа с отступами</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Уменьшение отступа клавишей Backspace</span></span></span></dt><dd><p>Если флажок установлен, нажатие клавиши <span class="keysym">Backspace</span> будет уменьшать уровень отступа, когда курсор располагается в пустом пространстве в начале строки.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Действие при нажатии клавиши Tab (если ничего не выделено)</span></span></span></dt><dd><p>Если при нажатии клавиши <span class="keycap"><strong>Tab</strong></span> текущая строка должна выравниваться в текущем блоке кода как в <span class="application">Emacs</span>, следует установить привязку клавиши <span class="keycap"><strong>Tab</strong></span> к действию <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Выровнять</span></span>. </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Всегда добавлять табуляцию (либо эквивалентное количество пробелов)</span></span></span></dt><dd><p>Если флажок установлен, при нажатии клавиши <span class="keycap"><strong>Tab</strong></span> будут автоматически вставлены символы пустого пространства до достижения следующей позиции табуляции. Если параметр <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Отступы пробелами вместо символов табуляции</span></span> (вкладка <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Главное</span></span> на странице <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Редактирование</span></span>) включён, будут вставлены пробелы; в ином случае будет вставлен один символ табуляции.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Всегда увеличивать уровень отступа</span></span></span></dt><dd><p>Если флажок установлен, при нажатии клавиши <span class="keycap"><strong>Tab</strong></span> для текущей строки всегда будет создаваться отступ на количество символов, заданное параметром <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Ширина отступа</span></span>.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Увеличивать уровень отступа, если курсор стоит в начале строки</span></span></span></dt><dd><p>Если флажок установлен, при нажатии клавиши <span class="keycap"><strong>Tab</strong></span> будет либо создан отступ для текущей строки, либо выполнен переход к следующей позиции табуляции. Если точкой вставки является первый непробельный символ строки или какой-либо из предшествующих ему или если имеется выбранный фрагмент, то для текущей строки будет создан отступ на количество символов, заданное параметром <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Ширина отступа</span></span>. Если точка вставки располагается после первого непробельного символа строки и ничего не выбрано, вставляется пустое пространство до достижения следующей позиции табуляции: если параметр <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Отступы пробелами вместо символов табуляции</span></span> (вкладка <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Главное</span></span> на странице <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Редактирование</span></span>) включён, будут вставлены пробелы; в ином случае будет вставлен один символ табуляции.</p></dd></dl></div></dd></dl></div></dd></dl></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="pref-edit-autocompletion"></a>Автодополнение</h4></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Главное</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Включить автодополнение</span></span></span></dt><dd><p>Если флажок установлен, при наборе текста автоматически всплывает окно автодополнения, в котором показан список вариантов завершения текущего слова под курсором.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Автоматически выбирать первую запись дополнения</span></span></span></dt><dd><p>Если флажок установлен, первый пункт списка автодополнения всегда будет предварительно выбран, что позволит вставить его нажатием кнопки <span class="keysym">Enter</span>. Если такое поведение нежелательно (например, если клавиша <span class="keysym">Enter</span> должна использоваться только для вставки новой строки), снимите флажок.</p></dd></dl></div></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Минимальная длина слова для автодополнения</span></span></span></dt><dd><p>При наборе текста средство автодополнения выполняет поиск слов в документе, начиная с уже набранного текста. Этот параметр позволяет настроить минимальное количество символов, которое необходимо ввести для активации функции автодополнения слова и показа соответствующего всплывающего окна.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Удалять окончание при завершении</span></span></span></dt><dd><p>Удалять окончание предыдущего слова при выборе варианта завершения в списке. </p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Автодополнение ключевых слов </span></span></span></dt><dd><p>Если флажок установлен, встроенное автодополнение будет использовать ключевые слова, определённые подсветкой синтаксиса. </p></dd></dl></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="pref-edit-spellcheck"></a>Проверка правописания</h4></div></div></div><p>Описание этих параметров настройки приводится в документации модуля <a class="ulink" href="help:/kcontrol/spellchecking" target="_top">Проверка орфографии</a> программы «Параметры системы».</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="pref-edit-vi-input-mode"></a>Режим ввода Vi</h4></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Главное</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Использовать комбинации клавиш Vi</span></span></span></dt><dd><p>Если флажок установлен, команды Vi будут иметь приоритет над встроенными командами <span class="application">KatePart</span>. Например: при использовании комбинации клавиш <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>R</strong></span> будет выполнена команда «Повторить», а не стандартное действие (вызов диалога поиска и замены).</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Показать относительные номера строк </span></span></span></dt><dd><p>Если флажок установлен, текущая строка всегда будет соответствовать строке 0. Номера расположенных выше или ниже строк отсчитываются относительно нулевой строки.</p></dd></dl></div></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Замена действий клавиш</span></span></span></dt><dd><p>Эта функция изменяет действия клавиш, что позволяет назначать команды другим клавишам или использовать специальные нажатия клавиш для выполнения последовательности команд.</p><p>Пример:</p><p><span class="keycap"><strong>F2</strong></span> -&gt; <strong class="userinput"><code>I--</code></strong> <span class="keycap"><strong>Esc</strong></span></p><p>Добавить <strong class="userinput"><code>I--</code></strong> в начало строки, когда будет нажата клавиша <span class="keycap"><strong>F2</strong></span>. </p></dd></dl></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="pref-open-save"></a>Открытие и сохранение</h3></div></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="pref-open-save-general"></a>Главное</h4></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Формат файла</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Кодировка</span></span></span></dt><dd><p>Стандартная кодировка, которая будет использоваться при открытии и сохранении файлов (если только в диалоге открытия или сохранения или с помощью параметра командной строки не будет выбрана другая кодировка).</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Автоопределение кодировки</span></span></span></dt><dd><p>Выберите один из вариантов в раскрывающемся списке: возможно отключить автоопределение или указать вариант <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Универсальная</span></span>, чтобы включить автоопределение для всех кодировок. Но так как в этом случае получится определить, скорее всего, только utf-8/utf-16, для получения наилучшего результата рекомендуется выбрать региональный вариант со специальными эвристическими методами. Выбранный вариант будет использоваться в том случае, если содержимому файла не соответствует ни кодировка, выбранная в качестве стандартной выше, ни кодировка, заданная в диалоге открытия или сохранения, ни кодировка, указанная в командной строке.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Резервная кодировка</span></span></span></dt><dd><p>Это резервная кодировка, которая будет использоваться для открытия файлов в том случае, если содержимому файла не соответствует ни кодировка, выбранная в качестве стандартной выше, ни кодировка, заданная в диалоге открытия или сохранения, ни кодировка, указанная в командной строке. Перед использованием резервной кодировки будет выполнена попытка определить кодировку по отметке о порядке байтов в начале файлов. Если такая отметка найдена, будет выбрана соответствующая кодировка Юникод, в ином случае будет запущено определение кодировки; если же не удастся ни найти отметку, ни выполнить определение, будет предпринята попытка использовать резервную кодировку.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Конец строки</span></span></span></dt><dd><p>Позволяет выбрать необходимый режим конца строк для документа. Доступные варианты: <span class="trademark">UNIX</span>®, DOS/<span class="trademark">Windows</span>®, Macintosh.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Автоматическое определение символов конца строки</span></span></span></dt><dd><p>Установите флажок, чтобы редактор автоматически определял тип символов конца строки. Первый найденный символ конца строки будет использован для всего файла.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Использовать отметку о порядке байтов (BOM)</span></span></span></dt><dd><p>Отметка о порядке байтов — это специальная последовательность в начале документов в кодировке Юникод. Наличие этой отметки позволяет редакторам открывать текстовые документы в соответствующей кодировке Юникод. Дополнительные сведения: <a class="ulink" href="https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%80%D0%BA%D0%B5%D1%80_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%B1%D0%B0%D0%B9%D1%82%D0%BE%D0%B2" target="_top">Маркер последовательности байтов</a>.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Ограничение на длину строки</span></span></span></dt><dd><p>К сожалению, из-за недоработок в <span class="trademark">Qt</span>™ производительность <span class="application">KatePart</span> резко снижается при работе с очень длинными строками. Поэтому в <span class="application">KatePart</span> выполняется автоматический перенос строк, длина которых превышает указанную здесь. Чтобы убрать ограничение, установите этот параметр в значение <strong class="userinput"><code>0</code></strong>.</p></dd></dl></div></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Автоматическая очистка при сохранении</span></span></span></dt><dd><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Удалять пробелы в конце строк</span></span></span></dt><dd><p>Редактор автоматически удалит пробелы в конце строк при сохранении файла. Доступны следующие варианты: <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">никогда</span></span> (опция будет отключена), <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">у изменённых строк</span></span> (будут удаляться пробелы в конце только тех строк, которые были изменены с момента последнего сохранения документа) и <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">во всём документе</span></span> (будут удаляться пробелы в конце всех строк документа).</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Добавлять перевод строки в конец файла при сохранении</span></span></span></dt><dd><p>Редактор автоматически добавит перевод строки в конец файла (если такой перевод отсутствует) при сохранении этого файла.</p></dd></dl></div></dd></dl></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="pref-open-save-advanced"></a>Дополнительно</h4></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Создавать резервную копию при сохранении</span></span></span></dt><dd><p>Если флажок установлен, <span class="application">KatePart</span> копирует используемый файл в &lt;префикс&gt;&lt;имя_файла&gt;&lt;суффикс&gt; перед сохранением изменений. По умолчанию используется суффикс <span class="bold"><strong>~</strong></span>, а префикс не используется. </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Для локальных файлов</span></span></span></dt><dd><p>Установите флажок, если следует сохранять резервные копии перед сохранением локальных файлов.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Для удалённых файлов</span></span></span></dt><dd><p>Установите флажок, если следует сохранять резервные копии перед сохранением сетевых файлов.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Префикс для файлов резервных копий</span></span></span></dt><dd><p>Введите префикс, используемый для генерации имени файла резервной копии.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Суффикс для файлов резервных копий</span></span></span></dt><dd><p>Введите суффикс, используемый для генерации имени файла резервной копии.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Режим временных файлов</span></span></span></dt><dd><p>Если приложение аварийно завершит работу или произойдёт отключение электроэнергии, будет возможно восстановить (в большинстве своём) текст, который был набран после последнего сохранения. После первого действия по внесению изменений в документ создаётся временный файл (.swp.&lt;filename&gt;). Если внесённые изменения не были сохранены пользователем и произошёл сбой <span class="application">KatePart</span>, этот временный файл остаётся на диске. При открытии файла <span class="application">KatePart</span> проверяет, имеется ли для этого документа временный файл. Если таковой обнаружен, пользователю будет предложено выбрать, следует ли восстановить потерянные данные. Приложение также позволяет просмотреть различия между оригинальным файлом и его восстановленной версией. Временный файл удаляется после каждого сохранения и при обычном завершении работы приложения.</p><p><span class="application">KatePart</span> выполняет синхронизацию находящихся на диске временных файлов каждые 15 секунд, но только в том случае, если имеются изменения с момента последней синхронизации. Синхронизацию временных файлов возможно отключить (для этого выберите <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Отключено</span></span>), но это может привести к потере большего количества данных.</p><p>Если временный файл включён, возможно переключаться между двумя режимами: <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Включено, сохранять в каталоге по умолчанию</span></span> и <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Включено, сохранять в выбранном каталоге</span></span>. </p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Сохранять временные файлы в</span></span></span></dt><dd><p>Если флажок установлен, временные файлы сохраняются в той же папке, что и сам файл. Если выбран вариант режима временных файлов <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Включено, сохранять в выбранном каталоге</span></span>, временные файлы будут создаваться в указанной папке. Это позволяет предотвратить лишний трафик в сетевых файловых системах.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Сохранять временные файлы каждые</span></span></span></dt><dd><p><span class="application">KatePart</span> выполняет синхронизацию находящихся на диске временных файлов каждые 15 секунд, но только в том случае, если имеются изменения с момента последней синхронизации. Интервал синхронизации возможно настроить в соответствии с потребностями пользователя.</p></dd></dl></div></dd></dl></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="pref-open-save-modes-filetypes"></a>Типы файлов</h4></div></div></div><p>Этот раздел позволяет переопределить параметры для документов определённого типа <acronym class="acronym">MIME</acronym>. При загрузке документа редактор проверяет, совпадает ли файл с одной из масок файлов или же с одним из типов <acronym class="acronym">MIME</acronym>. В случае совпадения редактор применяет заданные параметры. Если совпадений несколько, будут применены параметры типа с наивысшим приоритетом. </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Тип файла</span></span></span></dt><dd><p>Тип файла с наивысшим приоритетом показан первым в раскрывающемся списке. Если было найдено несколько типов файлов, они также доступны в списке.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Создать</span></span></span></dt><dd><p>Используется для создания нового типа файла. После нажатия кнопки расположенные ниже поля очищаются, что позволяет указать необходимые параметры для нового типа файла.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Удалить</span></span></span></dt><dd><p>Для удаления существующего типа файла выберите его в раскрывающемся списке и нажмите кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Удалить</span></span>.</p></dd></dl></div></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Свойства <span class="replaceable"><em class="replaceable"><code>выбранного_типа_файла</code></em></span></span></span></span></dt><dd><p>Тип файла с наивысшим приоритетом показан первым в раскрывающемся списке. Если было найдено несколько типов файлов, они также доступны в списке.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Имя</span></span></span></dt><dd><p>Имена типов файлов будут использованы как текст соответствующих пунктов меню. Они отображаются в меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Тип документа</span></span>.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Раздел</span></span></span></dt><dd><p>Название раздела используется для организации типов файлов в пунктах меню. Оно также отображается в меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сервис</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Тип документа</span></span>.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Переменные</span></span></span></dt><dd><p>Эта строка позволяет изменить параметры конфигурации <span class="application">KatePart</span> для выбранного типа файла с помощью переменных. Возможно изменить почти все параметры, включая режим подсветки, режим расстановки отступов и так далее.</p><p>Нажмите кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Показать список возможных переменных</span></span> для просмотра списка всех доступных переменных и их описаний. Чтобы включить переменную, установите флажок слева от её названия, и затем укажите значение этой переменной справа. Для некоторых переменных предусмотрены раскрывающиеся списки с возможными значениями, в то время как для других потребуется ввести корректное значение вручную.</p><p>Все сведения об этих переменных доступны в разделе <a class="link" href="config-variables.html" title="Настройка с помощью переменных документа">Настройка с помощью переменных документа</a>.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Подсветка</span></span></span></dt><dd><p>При создании нового типа файла в этом раскрывающемся списке будет возможно выбрать тип файла для подсветки.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Режим расстановки отступов</span></span></span></dt><dd><p>С помощью этого раскрывающегося списка возможно указать режим расстановки отступов для новых документов.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Расширения файлов</span></span></span></dt><dd><p>Поле <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Расширения файлов</span></span> содержит список масок, разделённых точками с запятой. Маска позволяет определить тип файла по его имени. Обычно в маске используются звёздочка и расширение файла, например <code class="filename">*.txt;*.text</code>.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Типы MIME</span></span></span></dt><dd><p>В поле <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Типы MIME</span></span> возможно указать типы <acronym class="acronym">MIME</acronym>, которые соответствуют текущему типу файла. Кнопка с изображением волшебной палочки справа от поля позволяет вызвать мастер, с помощью которого возможно легко выбрать типы <acronym class="acronym">MIME</acronym>.</p></dd><dt><span class="term"><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Приоритет</span></span></span></dt><dd><p>Последнее поле устанавливает приоритет для данного типа файла. Если для текущего документа доступно больше одного типа файлов, будет использован тип с наивысшим приоритетом.</p></dd></dl></div></dd></dl></div></div></div></div><FILENAME filename="config-variables.html"><html><head><title>Настройка с помощью переменных документа</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="config-dialog.html" title="Глава 7. Настройка KatePart"><link rel="prev" href="config-dialog.html" title="Глава 7. Настройка KatePart"><link rel="next" href="credits.html" title="Глава 8. Авторские права и лицензия"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Настройка с помощью переменных документа</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="config-dialog.html">Пред.</a></td><td class="upCell">Настройка <span class="application">KatePart</span></td><td class="nextCell"><a accesskey="n" href="credits.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config-variables"></a>Настройка с помощью переменных документа</h2></div></div></div><p>Переменные <span class="application">KatePart</span> представляют собой реализацию переменных документа в <span class="application">KatePart</span>, схожую с моделайнами <span class="application">Emacs</span> и Vi. В <span class="application">KatePart</span> строки имеют следующий формат: <strong class="userinput"><code>kate: ИМЯПЕРЕМЕННОЙ ЗНАЧЕНИЕ; [ ИМЯПЕРЕМЕННОЙ ЗНАЧЕНИЕ; ... ]</code></strong> Конечно, строки могут находиться в комментарии, если формат файла предусматривает комментарии. Имена переменных — это отдельные слова (без пробелов), а текст до следующей точки с запятой является значением. Указание точки с запятой обязательно.</p><p>Пример строки переменной для принудительного применения параметров отступа в файле C++, <span class="trademark">Java</span>™ или <span class="application">JavaScript</span>: </p><pre class="programlisting">// kate: replace-tabs on; indent-width 4; indent-mode cstyle;</pre><p>
</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примечание</h3><p>Проверка наличия строк переменных выполняется только для первых и последних 10 строк.</p></div><p>Кроме того, переменные документа возможно сохранить в файл <code class="filename">.kateconfig</code> в любом каталоге, при этом настроенные параметры будут применяться так, как если бы моделайны были добавлены во все файлы каталога и вложенных каталогов. Для переменных документа в файле <code class="filename">.kateconfig</code> используется тот же синтаксис, что и для моделайнов, но с <a class="link" href="config-variables.html#kateconfig-extended-options" title="Расширенные параметры в файлах .kateconfig">расширенными параметрами</a>.</p><p>Существуют переменные для поддержки практически всех вариантов настройки <span class="application">KatePart</span>. Кроме того, переменные могут использоваться модулями (в этом случае в документации модуля должна присутствовать соответствующая информация).</p><p><span class="application">KatePart</span> поддерживает чтение конфигурации из файлов <code class="filename">.editorconfig</code> (если установлена библиотека <a class="ulink" href="https://editorconfig.org/" target="_top">editorconfig</a>). При открытии документа <span class="application">KatePart</span> выполняет автоматический поиск файла <code class="filename">.editorconfig</code>. Но приоритет всё же имеют файлы <code class="filename">.kateconfig</code>. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="config-variables-howto"></a>Как в <span class="application">KatePart</span> используются переменные</h3></div></div></div><p>При чтении конфигурации <span class="application">KatePart</span> выполняет поиск в следующих расположениях (в указанном далее порядке): </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Глобальная конфигурация.</p></li><li class="listitem"><p>Необязательные данные сеанса.</p></li><li class="listitem"><p>Конфигурация «типа файла».</p></li><li class="listitem"><p>Переменные документа в файле <code class="filename">.kateconfig</code>.</p></li><li class="listitem"><p>Переменные документа в самом документе.</p></li><li class="listitem"><p>Параметры, настроенные во время редактирования с помощью меню или командной строки.</p></li></ul></div><p> Следовательно, переменные документа могут быть переопределены только путём внесения изменений во время выполнения. При каждом сохранении документа выполняется повторное чтение переменных документа и перезапись изменений, которые были сделаны с помощью меню или командной строки.</p><p>Те переменные, которые не указаны в приведённом далее списке, хранятся в документе и могут запрашиваться для использования другими объектами (такими, как модули). Например, переменные документа используются для конфигурации соответствующего режима расстановки отступов.</p><p>Переменные, которые указаны в приведённом далее списке, соответствуют <span class="application">KatePart</span> версии 5.38. В дальнейшем могут быть добавлены и другие переменные. Для переменных существуют 3 возможных типа значений со следующими допустимыми выражениями: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>BOOL — on|off|true|false|1|0</p></li><li class="listitem"><p>INTEGER — любое целое число</p></li><li class="listitem"><p>STRING — что-либо ещё</p></li></ul></div><p>
</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="config-variables-list"></a>Доступные переменные</h3></div></div></div><div class="variablelist"><dl class="variablelist"><dt><a name="variable-auto-brackets"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>auto-brackets</strong></span></span> [BOOL]</p></div></span></dt><dd><p>Включить автоматическую вставку скобок.</p></dd><dt><a name="variable-auto-center-lines"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>auto-center-lines</strong></span></span> [INT]</p></div></span></dt><dd><p>Указать количество строк для автоматического центрирования.</p></dd><dt><a name="variable-background-color"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>background-color</strong></span></span> [STRING]</p></div></span></dt><dd><p>Указать цвет фона документа. Значение должно соответствовать допустимому цвету, например: <strong class="userinput"><code>#ff0000</code></strong>. </p></dd><dt><a name="variable-backspace-indents"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>backspace-indents</strong></span></span> [BOOL]</p></div></span></dt><dd><p>Включить или отключить отмену отступа при нажатии клавиши <span class="keysym">Backspace</span>.</p></dd><dt><a name="variable-block-selection"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>block-selection</strong></span></span> [BOOL]</p></div></span></dt><dd><p>Включить или отключить <a class="link" href="kate-part-selection.html#kate-part-selection-block" title="Блочное выделение">выделение блоков</a>.</p></dd><dt><a name="variable-byte-order-mark"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>bom | byte-order-mark | byte-order-marker</strong></span></span> [BOOL]</p></div></span></dt><dd><p>Включить или отключить отметку о порядке байтов (BOM) при сохранении файлов в формате Юникод (utf8, utf16, utf32).</p><p>Работает с версией <span class="application">Kate</span> не ниже 3.4 (<span class="orgname">KDE</span> 4.4)</p></dd><dt><a name="variable-bracket-highlight-color"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>bracket-highlight-color</strong></span></span> [STRING]</p></div></span></dt><dd><p>Указать цвет подсветки скобок. Значение должно соответствовать допустимому цвету, например: <strong class="userinput"><code>#ff0000</code></strong>. </p></dd><dt><a name="variable-current-line-color"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>current-line-color</strong></span></span> [STRING]</p></div></span></dt><dd><p>Указать цвет текущей строки. Значение должно соответствовать допустимому цвету, например: <strong class="userinput"><code>#ff0000</code></strong>. </p></dd><dt><a name="variable-default-dictionary"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>default-dictionary</strong></span></span> [STRING]</p></div></span></dt><dd><p>Указать словарь по умолчанию, который будет использоваться для проверки орфографии.</p><p>Работает с версией <span class="application">Kate</span> не ниже 3.4 (<span class="orgname">KDE</span> 4.4)</p></dd><dt><a name="variable-dynamic-word-wrap"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>dynamic-word-wrap</strong></span></span> [BOOL]</p></div></span></dt><dd><p>Включить или отключить <a class="link" href="kate-part-auto-wrap.html" title="Автоматический перенос по словам">динамический перенос строк</a>.</p></dd><dt><a name="variable-end-of-line"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>eol | end-of-line</strong></span></span> [STRING]</p></div></span></dt><dd><p>Указать режим конца строк. Допустимые параметры: <strong class="userinput"><code>unix</code></strong>, <strong class="userinput"><code>mac</code></strong> и <strong class="userinput"><code>dos</code></strong>.</p></dd><dt><a name="variable-folding-markers"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>folding-markers</strong></span></span> [BOOL]</p></div></span></dt><dd><p>Включить или отключить показ <a class="link" href="advanced-editing-tools-code-folding.html" title="Использование сворачивания кода">полосы сворачивания блоков кода</a>. </p></dd><dt><a name="variable-folding-preview"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>folding-preview</strong></span></span> [BOOL]</p></div></span></dt><dd><p>Включить предварительный просмотр свёрнутых блоков кода.</p></dd><dt><a name="variable-font-size"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>font-size</strong></span></span> [INT]</p></div></span></dt><dd><p>Указать размер шрифта документа.</p></dd><dt><a name="variable-font"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>font</strong></span></span> [STRING]</p></div></span></dt><dd><p>Указать шрифт документа. Значением должно быть корректное название шрифта, например: <strong class="userinput"><code>courier</code></strong>.</p></dd><dt><a name="variable-syntax"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>hl | syntax</strong></span></span> [STRING]</p></div></span></dt><dd><p>Указать подсветку синтаксиса. Допустимые строки — все названия, доступные в меню. Например, для подсветки C++ следует просто ввести <strong class="userinput"><code>C++</code></strong>.</p></dd><dt><a name="variable-icon-bar-color"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>icon-bar-color</strong></span></span> [STRING]</p></div></span></dt><dd><p>Указать цвет полосы отметок. Значение должно соответствовать допустимому цвету, например: <strong class="userinput"><code>#ff0000</code></strong>.</p></dd><dt><a name="variable-icon-border"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>icon-border</strong></span></span> [BOOL]</p></div></span></dt><dd><p>Включить или отключить показ полосы отметок.</p></dd><dt><a name="variable-indent-mode"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>indent-mode</strong></span></span> [STRING]</p></div></span></dt><dd><p>Указать режим автоматической расстановки отступов. Возможные параметры: <strong class="userinput"><code>none</code></strong>, <strong class="userinput"><code>normal</code></strong>, <strong class="userinput"><code>cstyle</code></strong>, <strong class="userinput"><code>haskell</code></strong>, <strong class="userinput"><code>lilypond</code></strong>, <strong class="userinput"><code>lisp</code></strong>, <strong class="userinput"><code>python</code></strong>, <strong class="userinput"><code>ruby</code></strong> и <strong class="userinput"><code>xml</code></strong>. Подробные сведения: <a class="xref" href="kate-part-autoindent.html" title="Использование автоматической расстановки отступов">«Использование автоматической расстановки отступов»</a>.</p></dd><dt><a name="variable-indent-pasted-text"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>indent-pasted-text</strong></span></span> [BOOL]</p></div></span></dt><dd><p>Включить или отключить расстановку отступов во вставленном из буфера обмена тексте.</p><p>Работает с версией <span class="application">Kate</span> не ниже 3.11 (<span class="orgname">KDE</span> 4.11)</p></dd><dt><a name="variable-indent-width"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>indent-width</strong></span></span> [INT]</p></div></span></dt><dd><p>Указать ширину отступа.</p></dd><dt><a name="variable-keep-extra-spaces"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>keep-extra-spaces</strong></span></span> [BOOL]</p></div></span></dt><dd><p>Указать, следует ли сохранять лишние пробелы при расчёте ширины отступа.</p></dd><dt><a name="variable-line-numbers"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>line-numbers</strong></span></span> [BOOL]</p></div></span></dt><dd><p>Включить или отключить показ номеров строк.</p></dd><dt><a name="variable-newline-at-eof"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>newline-at-eof</strong></span></span> [BOOL]</p></div></span></dt><dd><p>Добавлять пустую строку в конце файла (EOF) при сохранении документа.</p><p>Работает с версией <span class="application">Kate</span> не ниже 3.9 (<span class="orgname">KDE</span> 4.9)</p></dd><dt><a name="variable-overwrite-mode"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>overwrite-mode</strong></span></span> [BOOL]</p></div></span></dt><dd><p>Включить или отключить режим перезаписи.</p></dd><dt><a name="variable-persistent-selection"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>persistent-selection</strong></span></span> [BOOL]</p></div></span></dt><dd><p>Включить или отключить <a class="link" href="kate-part-selection.html#kate-part-selection-persistent" title="Постоянное выделение">постоянное выделение</a>.</p></dd><dt><a name="variable-replace-tabs-save"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>replace-tabs-save</strong></span></span> [BOOL]</p></div></span></dt><dd><p>Включить или отключить преобразование знаков табуляции в пробелы при сохранении документа.</p></dd><dt><a name="variable-replace-tabs"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>replace-tabs</strong></span></span> [BOOL]</p></div></span></dt><dd><p>Включить или отключить динамическое преобразование знаков табуляции в пробелы.</p></dd><dt><a name="variable-remove-trailing-spaces"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>remove-trailing-spaces</strong></span></span> [STRING]</p></div></span></dt><dd><p>Удалять пробелы в конце строк при сохранении документа. Допустимые параметры:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><strong class="userinput"><code>none</code></strong>, <strong class="userinput"><code>-</code></strong> или <strong class="userinput"><code>0</code></strong>: никогда не удалять пробелы в конце строк.</p></li><li class="listitem"><p><strong class="userinput"><code>modified</code></strong>, <strong class="userinput"><code>mod</code></strong>, <strong class="userinput"><code>+</code></strong> или <strong class="userinput"><code>1</code></strong>: удалять пробелы в конце только тех строк, которые были изменены. Изменённые строки отмечаются системой изменения строк.</p></li><li class="listitem"><p><strong class="userinput"><code>all</code></strong>, <strong class="userinput"><code>*</code></strong> или <strong class="userinput"><code>2</code></strong>: удалять пробелы в конце строк во всём документе.</p></li></ul></div></dd><dt><a name="variable-scrollbar-minimap"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>scrollbar-minimap</strong></span></span> [BOOL]</p></div></span></dt><dd><p>Показывать мини-карту в полосе прокрутки.</p></dd><dt><a name="variable-scrollbar-preview"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>scrollbar-preview</strong></span></span> [BOOL]</p></div></span></dt><dd><p>Показывать предварительный просмотр текста в полосе прокрутки.</p></dd><dt><a name="variable-scheme"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>scheme</strong></span></span> [STRING]</p></div></span></dt><dd><p>Указать цветовую схему. Чтобы команда сработала, строка должна содержать название существующей в конфигурации цветовой схемы.</p></dd><dt><a name="variable-selection-color"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>selection-color</strong></span></span> [STRING]</p></div></span></dt><dd><p>Указать цвет выделения. Значение должно соответствовать допустимому цвету, например: <strong class="userinput"><code>#ff0000</code></strong>.</p></dd><dt><a name="variable-show-tabs"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>show-tabs</strong></span></span> [BOOL]</p></div></span></dt><dd><p>Включить или отключить показ знака табуляции.</p></dd><dt><a name="variable-smart-home"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>smart-home</strong></span></span> [BOOL]</p></div></span></dt><dd><p>Включить или отключить <a class="link" href="config-dialog.html#pref-edit-cursor-selection" title="Навигация по тексту">интеллектуальную навигацию клавишей «Home»</a>.</p></dd><dt><a name="variable-tab-indents"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>tab-indents</strong></span></span> [BOOL]</p></div></span></dt><dd><p>Включить или отключить создание отступа по нажатию клавиши <span class="keycap"><strong>Tab</strong></span>.</p></dd><dt><a name="variable-tab-width"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>tab-width</strong></span></span> [INT]</p></div></span></dt><dd><p>Указать количество пробелов, которые будут показаны вместо знака табуляции.</p></dd><dt><a name="variable-undo-steps"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>undo-steps</strong></span></span> [INT]</p></div></span></dt><dd><p>Указать количество действий, которые возможно отменить.</p><p>Примечание: не используется, начиная с <span class="application">Kate</span> 3 в <span class="orgname">KDE</span>4. Эта переменная игнорируется. Максимальное количество действий, которые возможно отменить, не ограничено.</p></dd><dt><a name="variable-word-wrap-column"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>word-wrap-column</strong></span></span> [INT]</p></div></span></dt><dd><p>Указать длину строки, по достижении которой будет выполняться <a class="link" href="kate-part-auto-wrap.html" title="Автоматический перенос по словам">статический перенос</a>. </p></dd><dt><a name="variable-word-wrap-marker-color"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>word-wrap-marker-color</strong></span></span> [STRING]</p></div></span></dt><dd><p>Указать цвет маркера переноса строк. Значение должно соответствовать допустимому цвету, например: <strong class="userinput"><code>#ff0000</code></strong>.</p></dd><dt><a name="variable-word-wrap"></a><span class="term"><div class="cmdsynopsis"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>word-wrap</strong></span></span> [BOOL]</p></div></span></dt><dd><p>Включить или отключить статический перенос строк.</p></dd></dl></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="kateconfig-extended-options"></a>Расширенные параметры в файлах <code class="filename">.kateconfig</code></h3></div></div></div><p><span class="application">KatePart</span> всегда выполняет поиск файла <code class="filename">.kateconfig</code> при открытии локальных файлов (не сетевых). Кроме того, возможно указать параметры на основе масок (расширений файлов) следующим образом:</p><pre class="programlisting">kate: tab-width 4; indent-width 4; replace-tabs on;
kate-wildcard(*.xml): indent-width 2;
kate-wildcard(Makefile): replace-tabs off;
</pre><p>В этом примере для всех файлов используется ширина табуляции, равная 4 пробелам, и знаки табуляции заменяются пробелами. Но для всех файлов с расширением <code class="filename">*.xml</code> задана ширина табуляции, равная 2 пробелам. А для файлов Makefile используются знаки табуляции, то есть они не заменяются пробелами.</p><p>Маски разделяются точкой с запятой. Возможно указать несколько расширений файлов: </p><pre class="programlisting">kate-wildcard(*.json;*.xml): indent-width 2;</pre><p>Более того, возможно использовать тип <acronym class="acronym">MIME</acronym>. Например, чтобы проставить во всех исходных файлах C++ отступы шириной 4 пробела: </p><pre class="programlisting">kate-mimetype(text/x-c++src): indent-width 4;</pre><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примечание</h3><p>Переменные документа возможно использовать не только задействуя файлы <code class="filename">.kateconfig</code>, маски и типы <acronym class="acronym">MIME</acronym>, но и сам документ (в нём они представлены в виде комментариев). </p></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="config-dialog.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="credits.html">След.</a></td></tr><tr><td class="prevCell">Настройка <span class="application">KatePart</span> </td><td class="upCell">Настройка <span class="application">KatePart</span></td><td class="nextCell"> Авторские права и лицензия</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="dev-scripting.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="config-variables.html">След.</a></td></tr><tr><td class="prevCell">Написание сценариев <span class="application">JavaScript</span> </td><td class="upCell"> </td><td class="nextCell"> Настройка с помощью переменных документа</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="credits.html"><html><head><title>Глава 8. Авторские права и лицензия</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="index.html" title="Руководство пользователя KatePart"><link rel="prev" href="config-variables.html" title="Настройка с помощью переменных документа"><link rel="next" href="vi-input-mode-chapter.html" title="Глава 9. Режим ввода Vi"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Авторские права и лицензия</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="config-variables.html">Пред.</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="vi-input-mode-chapter.html">След.</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="credits"></a>Глава 8. Авторские права и лицензия</h1></div></div></div><p>Авторские права на <span class="application">KatePart</span> и <span class="application">KWrite</span>: (c) Команда разработчиков <span class="application">Kate</span>, 2001—2022.</p><p>Программа основана на первоначальной версии <span class="application">KWrite</span>, авторские права на которую принадлежат Jochen Wilhelmy <code class="email">(digisnap AT cs.tu-berlin.de)</code>, 2000. </p><p>Участники проекта:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="firstname">Christoph</span> <span class="surname">Cullmann</span> <code class="email">(cullmann AT kde.org)</code></p></li><li class="listitem"><p>Michael Bartl <code class="email">(michael.bartl1 AT chello.at)</code></p></li><li class="listitem"><p>Phlip <code class="email">(phlip_cpp AT my-deja.com)</code></p></li><li class="listitem"><p><span class="firstname">Anders</span> <span class="surname">Lund</span> <code class="email">(anders AT alweb.dk)</code></p></li><li class="listitem"><p>Matt Newell <code class="email">(newellm AT proaxis.com)</code></p></li><li class="listitem"><p><span class="firstname">Joseph</span> <span class="surname">Wenninger</span> <code class="email">(kde AT jowenn.at)</code></p></li><li class="listitem"><p>Jochen Wilhelmy <code class="email">(digisnap AT cs.tu-berlin.de)</code></p></li><li class="listitem"><p><span class="firstname">Michael</span> <span class="surname">Koch</span> <code class="email">(koch AT kde.org)</code></p></li><li class="listitem"><p><span class="firstname">Christian</span> <span class="surname">Gebauer</span> <code class="email">(gebauer AT kde.org)</code></p></li><li class="listitem"><p><span class="firstname">Simon</span> <span class="surname">Hausmann</span> <code class="email">(hausmann AT kde.org)</code></p></li><li class="listitem"><p>Glen Parker <code class="email">(glenebob AT nwlink.com)</code></p></li><li class="listitem"><p>Scott Manson <code class="email">(sdmanson AT altel.net)</code></p></li><li class="listitem"><p><span class="firstname">John</span> <span class="surname">Firebaugh</span> <code class="email">(jfirebaugh AT kde.org)</code></p></li><li class="listitem"><p>Nibaldo González <code class="email">(nibgonz AT gmail.com)</code></p></li></ul></div><p>Документация <span class="application">KatePart</span> основана на оригинальной документации <span class="application">KWrite</span> и содержит изменения, которые делают её актуальной для всех пользователей <span class="application">KatePart</span>. </p><p>Автор оригинальной документации <span class="application">KWrite</span> — <span class="firstname">Thad</span> <span class="surname">McGinnis</span> <code class="email">(ctmcginnis AT compuserve.com)</code>, при этом большое количество изменений внесено <span class="firstname">Christian</span> <span class="surname">Tibirna</span> <code class="email">(tibirna AT kde.org)</code>. Преобразование в формат .docbook и вычитку выполнено <span class="firstname">Lauri</span> <span class="surname">Watts</span> <code class="email">(lauri AT kde.org)</code>, а обновление — <span class="firstname">Anne-Marie</span> <span class="surname">Mahfouf</span> <code class="email">(annma AT kde.org)</code> и <span class="firstname">Anders</span> <span class="surname">Lund</span> <code class="email">(anders AT alweb.dk)</code> </p><p>Сопровождающий текущей документации <span class="application">KatePart</span> — <span class="firstname">T.C.</span> <span class="surname">Hollingsworth</span> <code class="email">(tchollingsworth AT gmail.com)</code>. Направляйте комментарии и предложения по развитию <span class="application">KatePart</span> в список рассылки: <code class="email">(kwrite-devel AT kde.org)</code>. Сообщение об ошибке возможно отправить с помощью <a class="ulink" href="https://bugs.kde.org/" target="_top">системы отслеживания ошибок <span class="orgname">KDE</span></a>.</p><p>Перевод на русский язык: Екатерина С. Пыжова <code class="email">(haleth AT yandex.ru)</code></p><p>Обновление перевода: Олег Баталов<code class="email">(olegbatalov AT mail.ru)</code> и Виктор В. Ерёмин <code class="email">(ErV2005 AT rambler.ru)</code>, <code class="email">(erv AT box.vsi.ru)</code></p><p>Редактирование перевода: Олеся Герасименко<code class="email">(translation-team AT basealt.ru)</code></p><p><a name="gnu-fdl"></a>Этот документ
распространяется на условиях <a class="ulink" href="help:/kdoctools5-common/fdl-license.html" target="_top">GNU
Free Documentation License</a>.</p><p>Программа распространяется на условиях лицензии <a class="ulink" href="help:/kdoctools5-common/gpl-license.html" target="_top">GNU General Public License</a>.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="config-variables.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="vi-input-mode-chapter.html">След.</a></td></tr><tr><td class="prevCell">Настройка с помощью переменных документа </td><td class="upCell"> </td><td class="nextCell"> Режим ввода Vi</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="vi-input-mode-chapter.html"><html><head><title>Глава 9. Режим ввода Vi</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="index.html" title="Руководство пользователя KatePart"><link rel="prev" href="credits.html" title="Глава 8. Авторские права и лицензия"><link rel="next" href="regular-expressions.html" title="Приложение A. Регулярные выражения"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Режим ввода Vi</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="credits.html">Пред.</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="regular-expressions.html">След.</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="vi-input-mode-chapter"></a>Глава 9. Режим ввода Vi</h1></div><div><div class="authorgroup"><p class="author"><span class="firstname">Erlend</span> <span class="surname">Hamberg</span> <code class="email">&lt;ehamberg@gmail.com&gt;</code></p><span class="othercredit"><span class="contrib">Перевод на русский язык</span>: <span class="firstname">Олеся</span> <span class="surname">Герасименко</span><br></span></div></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="vi-mode-sect1"></a>Режим ввода Vi</h2></div></div></div><p>Задача режима ввода Vi состоит не в том, чтобы полностью заменить Vim, обеспечив поддержку всех возможностей Vim. Она заключается в том, чтобы в программах, которые используют текстовый редактор <span class="application">KatePart</span> в качестве встроенного, было возможно выполнять редактирование в <span class="quote">«<span class="quote">стиле Vim</span>»</span> и применять изученные приёмы работы с Vim.</p><p>Режим ввода Vi прекрасно интегрируется в сторонние программы и отклоняется от поведения Vim там, где это имеет смысл. Например, команда <strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>:w</strong></span></span></code></strong> в режиме Vi <span class="application">KatePart</span> позволяет открыть диалог сохранения.</p><p>Включить режим ввода Vi для всех новых областей просмотра возможно с помощью пункта меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Настройка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Настроить <span class="application">KatePart</span>...</span></span>+<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Редактирование</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Режим ввода Vi</span></span>. На этой вкладке возможно установить параметры режима ввода Vi, а также определить и отредактировать привязки клавиш. Также режим ввода Vi возможно включать или отключать с помощью пункта <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Режим ввода Vi</span></span> в меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Правка</span></span>. (Комбинация клавиш по умолчанию: <span class="keysym">Meta</span>+<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>V</strong></span>, где <span class="keysym">Meta</span> обычно представляет собой клавишу <span class="keysym">Windows</span>.)</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примечание</h3><p>В отличие от большинства комбинаций клавиш <span class="orgname">KDE</span>, многие клавиатурные команды режима Vi зависят от регистра символов. Это означает, что команды <strong class="userinput"><code>y</code></strong> и <strong class="userinput"><code>Y</code></strong> имеют совершенно разное назначение. Чтобы ввести команду <strong class="userinput"><code>y</code></strong> (копировать), убедитесь, что режим <span class="keysym">Caps Lock</span> отключён, и нажмите клавишу <span class="keycap"><strong>Y</strong></span>. Чтобы ввести команду <strong class="userinput"><code>Y</code></strong> (копировать до конца строки), воспользуйтесь комбинацией клавиш <span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>Y</strong></span>.</p><p>Вышеприведённое замечание не касается команд, в которых используется клавиша <span class="keycap"><strong>Ctrl</strong></span>. Эти команды возможно вводить независимо от состояния режима <span class="keycap"><strong>Caps Lock</strong></span> и без нажатия клавиши <span class="keycap"><strong>Shift</strong></span>. Тем не менее, для ввода некоторых команд требуется использовать <span class="keycap"><strong>Ctrl</strong></span>-комбинацию, за которой следует другая клавиша, регистр которой следует принимать во внимание. Например, чтобы ввести <span class="quote">«<span class="quote"><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>W</strong></span>, <strong class="userinput"><code>h</code></strong></span>»</span> (переключиться на левую створку в разделённой области просмотра), убедитесь, что режим <span class="keycap"><strong>Caps Lock</strong></span> отключён, используйте комбинацию клавиш <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>W</strong></span>, затем отпустите эти клавиши и нажмите клавишу <span class="keycap"><strong>H</strong></span>.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="vi-incompatibilities"></a>Расхождения с Vim</h3></div></div></div><p>C Vim несовместимы лишь несколько функций режима ввода Vi <span class="application">KatePart</span> (не принимая во внимание различные функции, которые просто не реализованы). Их перечень (с указанием соответствующих причин несовместимости) приводится далее.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="application">KatePart</span>: <strong class="userinput"><code>U</code></strong> и <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>R</strong></span> — повторное выполнение отменённой команды.</p><p>Vim: <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>R</strong></span> — обычное повторение действия, <span class="keycap"><strong>U</strong></span> — отмена всех последних изменений в одной строке. </p><p>Клавиша <span class="keycap"><strong>U</strong></span> привязана к повторению отменённого действия в режиме Vi <span class="application">KatePart</span>, потому что комбинация клавиш <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>R</strong></span> по умолчанию используется для функции замены <span class="application">KatePart</span> (поиск и замена). По умолчанию режим Vi не переопределяет комбинации клавиш <span class="application">KatePart</span> (это возможно сделать вручную: <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Настройка</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Настроить <span class="application">KatePart</span>...</span></span>+<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Редактирование</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Режим ввода Vi</span></span>), следовательно, возврат действия должен быть доступен в <span class="quote">«<span class="quote">обычном</span>»</span> режиме нажатия комбинаций клавиш. Кроме того, поведение команды <strong class="userinput"><code>U</code></strong> в Vim не очень хорошо совпадает с внутренней системой отмены <span class="application">KatePart</span>, поэтому её поддержка была бы довольно сложной задачей.</p></li><li class="listitem"><p><span class="application">KatePart</span>: <strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>print</strong></span></span></code></strong> — открытие диалога <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Печать</span></span>.</p><p>Vim: <strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>print</strong></span></span></code></strong> — печать строк указанного диапазона (как в ed).</p><p>Такие команды, как <strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>:print</strong></span></span></code></strong>, доступны не только в режиме Vi, но и в <span class="quote">«<span class="quote">обычном</span>»</span> режиме ввода <span class="application">KatePart</span>. Следовательно, при использовании команды <strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>:print</strong></span></span></code></strong> будет открыт диалог печати (соблюдается принцип однородности, а не имитируется поведение Vim).</p></li><li class="listitem"><p><span class="application">KatePart</span>: <strong class="userinput"><code>Y</code></strong> — копирование данных до конца строки.</p><p>Vim: <strong class="userinput"><code>Y</code></strong> — копирование всей строки, аналогично <strong class="userinput"><code>y</code></strong><strong class="userinput"><code>y</code></strong>.</p><p>Поведение команды <strong class="userinput"><code>Y</code></strong> в режиме Vi на самом деле является внутренней ошибкой. Для обеих команд, изменения и удаления, <strong class="userinput"><code>c</code></strong><strong class="userinput"><code>c</code></strong>/ <strong class="userinput"><code>d</code></strong><strong class="userinput"><code>d</code></strong> выполняет действие над текущей строкой, а <strong class="userinput"><code>C</code></strong>/<strong class="userinput"><code>D</code></strong> выполняет действие над данными от позиции курсора до конца строки. Но обе команды, <strong class="userinput"><code>y</code></strong><strong class="userinput"><code>y</code></strong> и <strong class="userinput"><code>Y</code></strong>, копируют текущую строку. В режиме Vi <span class="application">KatePart</span> <strong class="userinput"><code>Y</code></strong> копирует данные до конца строки. Такое поведение описывается как <span class="quote">«<span class="quote">более логичное</span>»</span> в <a class="ulink" href="http://vimdoc.sourceforge.net/htmldoc/change.html#Y" target="_top">документации</a> Vim. </p></li><li class="listitem"><p><span class="application">KatePart</span>: <strong class="userinput"><code>O</code></strong> и <strong class="userinput"><code>o</code></strong> — открытие [<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>количество</code></em></span>] новых строк и переход в режим вставки.</p><p>Vim: <strong class="userinput"><code>O</code></strong> и <strong class="userinput"><code>o</code></strong> — открытие новой строки и вставка текста [<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>количество</code></em></span>] раз при выходе из режима вставки.</p><p>Так сделано в результате обобщения опыта многих людей, которые выражали удивление поведением Vim на соответствующем канале в <acronym class="acronym">IRC</acronym> (#vim на Libera Chat).</p></li></ul></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="vi-switching-modes"></a>Переключение режимов</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>В <span class="emphasis"><em>обычном режиме</em></span> возможно вводить команды для навигации по документу или его редактирования. Этот режим используется по умолчанию. Чтобы вернуться в этот режим из любого другого, нажмите клавишу <span class="keycap"><strong>Esc</strong></span>. </p></li><li class="listitem"><p><span class="emphasis"><em>Визуальный режим</em></span> позволяет выделять цветом текст в документе. В этом режиме также возможно применять большинство команд обычного режима. Чтобы перейти в этот режим, нажмите клавишу <strong class="userinput"><code>v</code></strong> (для выбора символов) или <strong class="userinput"><code>V</code></strong> (для выбора строк). </p></li><li class="listitem"><p><span class="emphasis"><em>Режим вставки</em></span> позволяет выполнять непосредственное редактирование документа. Чтобы перейти в этот режим, нажмите клавишу <strong class="userinput"><code>i</code></strong> или введите одну из нескольких перечисленных далее команд. </p></li><li class="listitem"><p><span class="emphasis"><em>Режим команд</em></span> позволяет вызвать командную строку  <span class="application">KatePart</span> для выполнения значительной части команд, доступных в реализациях Vi, а также некоторых специфичных для <span class="application">KatePart</span> команд. Более подробные сведения об этих командах: <a class="xref" href="advanced-editing-tools-commandline.html" title="Командная строка компонента редактирования">«Командная строка компонента редактирования»</a>. Чтобы перейти в этот режим, нажмите клавишу <span class="keycap"><strong>:</strong></span>, введите команду и нажмите клавишу <span class="keysym">Enter</span>.</p></li></ul></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="vi-integration"></a>Интеграция с командами <span class="application">Kate</span></h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Визуальный режим автоматически включается при выборе текста с помощью мыши. Переход в этот режим также выполняется при использовании команд выбора текста <span class="application">Kate</span>, например, «Выделить все» (при выборе соответствующего пункта меню или нажатии комбинации клавиш <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>A</strong></span>).</p></li><li class="listitem"><p>Предусмотрена поддержка отметок Vi и <a class="link" href="kate-part-bookmarks.html" title="Использование закладок">закладок <span class="application">Kate</span></a>. Когда в режиме Vi создаётся отметка, также создаётся и соответствующая закладка <span class="application">Kate</span>, доступная в меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Закладки</span></span>. И наоборот: при создании закладки <span class="application">Kate</span> создаётся соответствующая отметка Vi в нулевой позиции строки.</p></li></ul></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="vi-normal-visual-mode-commands"></a>Поддерживаемые команды обычного/визуального режимов</h3></div></div></div><div class="informaltable"><table class="informaltable" border="1"><colgroup><col><col></colgroup><tbody><tr><td><p><strong class="userinput"><code>a</code></strong></p></td><td><p>Перейти в режим вставки, добавлять символы после курсора</p></td></tr><tr><td><p><strong class="userinput"><code>A</code></strong></p></td><td><p>Перейти в режим вставки, добавлять символы после строки</p></td></tr><tr><td><p><strong class="userinput"><code>i</code></strong></p></td><td><p>Перейти в режим вставки, добавлять символы перед курсором</p></td></tr><tr><td><p><span class="keycap"><strong>Ins</strong></span></p></td><td><p>Перейти в режим вставки, добавлять символы перед курсором</p></td></tr><tr><td><p><strong class="userinput"><code>I</code></strong></p></td><td><p>Перейти в режим вставки, вставлять символы перед первым непустым символом строки</p></td></tr><tr><td><p><strong class="userinput"><code>gi</code></strong></p></td><td><p>Перейти в режим вставки, вставлять символы перед местом, в котором был совершён последний выход из режима вставки</p></td></tr><tr><td><p><strong class="userinput"><code>v</code></strong></p></td><td><p>Перейти в визуальный режим, обозначить символы</p></td></tr><tr><td><p><strong class="userinput"><code>V</code></strong></p></td><td><p>Перейти в визуальный режим, обозначить строки</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>v</strong></span></p></td><td><p>Перейти в визуальный режим, обозначить блоки</p></td></tr><tr><td><p><strong class="userinput"><code>gb</code></strong></p></td><td><p>Перейти в визуальный режим, повторно обозначить последний обозначенный фрагмент</p></td></tr><tr><td><p><strong class="userinput"><code>o</code></strong></p></td><td><p>Открыть новую строку под текущей</p></td></tr><tr><td><p><strong class="userinput"><code>O</code></strong></p></td><td><p>Открыть новую строку над текущей</p></td></tr><tr><td><p><strong class="userinput"><code>J</code></strong></p></td><td><p>Объединить строки</p></td></tr><tr><td><p><strong class="userinput"><code>c</code></strong></p></td><td><p>Изменить: с определением позиции для удаления и переходом в режим вставки</p></td></tr><tr><td><p><strong class="userinput"><code>C</code></strong></p></td><td><p>Изменить до конца строки: удалить текст до конца строки и перейти в режим вставки</p></td></tr><tr><td><p><strong class="userinput"><code>cc</code></strong></p></td><td><p>Изменить строку: удалить строку и перейти в режим вставки</p></td></tr><tr><td><p><strong class="userinput"><code>s</code></strong></p></td><td><p>Заменить символ</p></td></tr><tr><td><p><strong class="userinput"><code>S</code></strong></p></td><td><p>Заменить строку</p></td></tr><tr><td><p><strong class="userinput"><code>dd</code></strong></p></td><td><p>Удалить строку</p></td></tr><tr><td><p><strong class="userinput"><code>d</code></strong></p></td><td><p>С определением позиции для удаления</p></td></tr><tr><td><p><strong class="userinput"><code>D</code></strong></p></td><td><p>Удалить до конца строки</p></td></tr><tr><td><p><strong class="userinput"><code>x</code></strong></p></td><td><p>Удалить символ справа от курсора</p></td></tr><tr><td><p><span class="keycap"><strong>Del</strong></span></p></td><td><p>Удалить символ справа от курсора</p></td></tr><tr><td><p><strong class="userinput"><code>X</code></strong></p></td><td><p>Удалить символ слева от курсора</p></td></tr><tr><td><p><strong class="userinput"><code>gu</code></strong></p></td><td><p>С определением позиции для перевода в нижний регистр</p></td></tr><tr><td><p><strong class="userinput"><code>guu</code></strong></p></td><td><p>Перевести текущую строку в нижний регистр</p></td></tr><tr><td><p><strong class="userinput"><code>gU</code></strong></p></td><td><p>С определением позиции для перевода в верхний регистр</p></td></tr><tr><td><p><strong class="userinput"><code>gUU</code></strong></p></td><td><p>Перевести текущую строку в верхний регистр</p></td></tr><tr><td><p><strong class="userinput"><code>y</code></strong></p></td><td><p>С определением позиции для <span class="quote">«<span class="quote">копирования</span>»</span></p></td></tr><tr><td><p><strong class="userinput"><code>yy</code></strong></p></td><td><p>Копировать строку</p></td></tr><tr><td><p><strong class="userinput"><code>Y</code></strong></p></td><td><p>Копировать строку</p></td></tr><tr><td><p><strong class="userinput"><code>p</code></strong></p></td><td><p>Вставить после курсора</p></td></tr><tr><td><p><strong class="userinput"><code>P</code></strong></p></td><td><p>Вставить перед курсором</p></td></tr><tr><td><p><strong class="userinput"><code>]p</code></strong></p></td><td><p>Вставить после курсора с отступом</p></td></tr><tr><td><p><strong class="userinput"><code>[p</code></strong></p></td><td><p>Вставить перед курсором с отступом</p></td></tr><tr><td><p><strong class="userinput"><code>r</code></strong></p></td><td><p>С определением символа, который должен заменить символ, следующий за курсором</p></td></tr><tr><td><p><strong class="userinput"><code>R</code></strong></p></td><td><p>Перейти в режим замены</p></td></tr><tr><td><p><strong class="userinput"><code>:</code></strong></p></td><td><p>Перейти в режим команд</p></td></tr><tr><td><p><strong class="userinput"><code>/</code></strong></p></td><td><p>Поиск</p></td></tr><tr><td><p><strong class="userinput"><code>u</code></strong></p></td><td><p>Отменить</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>R</strong></span></p></td><td><p>Повторить</p></td></tr><tr><td><p><strong class="userinput"><code>U</code></strong></p></td><td><p>Повторить</p></td></tr><tr><td><p><strong class="userinput"><code>m</code></strong></p></td><td><p>Установить отметку (возможно использовать для последующих определений позиции)</p></td></tr><tr><td><p><strong class="userinput"><code>n</code></strong></p></td><td><p>Найти следующее совпадение</p></td></tr><tr><td><p><strong class="userinput"><code>N</code></strong></p></td><td><p>Найти предыдущее совпадение</p></td></tr><tr><td><p><strong class="userinput"><code>&gt;&gt;</code></strong></p></td><td><p>Увеличить отступ строки</p></td></tr><tr><td><p><strong class="userinput"><code>&lt;&lt;</code></strong></p></td><td><p>Уменьшить отступ строки</p></td></tr><tr><td><p><strong class="userinput"><code>&gt;</code></strong></p></td><td><p>Увеличить отступ строк</p></td></tr><tr><td><p><strong class="userinput"><code>&lt;</code></strong></p></td><td><p>Уменьшить отступ строк</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>F</strong></span></p></td><td><p>Страница вниз</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>B</strong></span></p></td><td><p>Страница вверх</p></td></tr><tr><td><p><strong class="userinput"><code>ga</code></strong></p></td><td><p>Вывести <acronym class="acronym">ASCII</acronym>-значение символа</p></td></tr><tr><td><p><strong class="userinput"><code>.</code></strong></p></td><td><p>Повторить последнее изменение</p></td></tr><tr><td><p><strong class="userinput"><code>==</code></strong></p></td><td><p>Команда выравнивания строки</p></td></tr><tr><td><p><strong class="userinput"><code>=</code></strong></p></td><td><p>Команда выравнивания строк</p></td></tr><tr><td><p><strong class="userinput"><code>~</code></strong></p></td><td><p>Изменить регистр текущего символа</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>S</strong></span></p></td><td><p>Разделить область просмотра по горизонтали</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>V</strong></span></p></td><td><p>Разделить область просмотра по вертикали</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>W</strong></span>, <strong class="userinput"><code>w</code></strong></p></td><td><p>Циклический переход к следующей части разделённой области просмотра</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>W</strong></span>, <strong class="userinput"><code>h</code></strong></p>
<p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>W</strong></span> <span class="keycap"><strong>Влево</strong></span></p></td><td><p>Перейти к левой части разделённой области просмотра</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>W</strong></span>, <strong class="userinput"><code>l</code></strong></p>
<p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>W</strong></span> <span class="keycap"><strong>Вправо</strong></span></p></td><td><p>Перейти к правой части разделённой области просмотра</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>W</strong></span>, <strong class="userinput"><code>k</code></strong></p>
<p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>W</strong></span> <span class="keycap"><strong>Вверх</strong></span></p></td><td><p>Перейти к верхней части разделённой области просмотра</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>W</strong></span>, <strong class="userinput"><code>j</code></strong></p>
<p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>W</strong></span> <span class="keycap"><strong>Вниз</strong></span></p></td><td><p>Перейти к нижней части разделённой области просмотра</p></td></tr></tbody></table></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="vi-supported-motions"></a>Поддерживаемые команды перемещения</h3></div></div></div><p>Эти команды возможно использовать для перемещения по документу в обычном или визуальном режимах, а также совместно с какой-либо из вышеприведённых команд. Эти команды могут предваряться числом, которое обозначает количество соответствующих перемещений.</p><div class="informaltable"><table class="informaltable" border="1"><colgroup><col><col></colgroup><tbody><tr><td><p><strong class="userinput"><code>h</code></strong></p></td><td><p>Влево</p></td></tr><tr><td><p><span class="keycap"><strong>Влево</strong></span></p></td><td><p>Влево</p></td></tr><tr><td><p><span class="keysym">Backspace</span></p></td><td><p>Влево</p></td></tr><tr><td><p><strong class="userinput"><code>j</code></strong></p></td><td><p>Вниз</p></td></tr><tr><td><p><span class="keycap"><strong>Вниз</strong></span></p></td><td><p>Вниз</p></td></tr><tr><td><p><strong class="userinput"><code>k</code></strong></p></td><td><p>Вверх</p></td></tr><tr><td><p><span class="keycap"><strong>Вверх</strong></span></p></td><td><p>Вверх</p></td></tr><tr><td><p><strong class="userinput"><code>l</code></strong></p></td><td><p>Вправо</p></td></tr><tr><td><p><span class="keycap"><strong>Вверх</strong></span></p></td><td><p>Вправо</p></td></tr><tr><td><p><span class="keycap"><strong>Пробел</strong></span></p></td><td><p>Вправо</p></td></tr><tr><td><p><strong class="userinput"><code>$</code></strong></p></td><td><p>Конец строки</p></td></tr><tr><td><p><span class="keycap"><strong>End</strong></span></p></td><td><p>Конец строки</p></td></tr><tr><td><p><strong class="userinput"><code>0</code></strong></p></td><td><p>Первый символ в строке (позиция 0)</p></td></tr><tr><td><p><span class="keycap"><strong>Home</strong></span></p></td><td><p>Первый символ в строке</p></td></tr><tr><td><p><strong class="userinput"><code>^</code></strong></p></td><td><p>Первый непустой символ в строке</p></td></tr><tr><td><p><strong class="userinput"><code>f</code></strong></p></td><td><p>С определением символа, к которому следует перейти справа от курсора</p></td></tr><tr><td><p><strong class="userinput"><code>F</code></strong></p></td><td><p>С определением символа, к которому следует перейти слева от курсора</p></td></tr><tr><td><p><strong class="userinput"><code>t</code></strong></p></td><td><p>С определением символа, к которому следует перейти справа от курсора, поместив курсор на символ перед ним</p></td></tr><tr><td><p><strong class="userinput"><code>T</code></strong></p></td><td><p>С определением символа, к которому следует перейти слева от курсора, поместив курсор на символ перед ним</p></td></tr><tr><td><p><strong class="userinput"><code>gg</code></strong></p></td><td><p>Первая строка</p></td></tr><tr><td><p><strong class="userinput"><code>G</code></strong></p></td><td><p>Последняя строка</p></td></tr><tr><td><p><strong class="userinput"><code>w</code></strong></p></td><td><p>Следующее слово</p></td></tr><tr><td><p><strong class="userinput"><code>W</code></strong></p></td><td><p>Следующее слово, отделённое пробелом</p></td></tr><tr><td><p><strong class="userinput"><code>b</code></strong></p></td><td><p>Предыдущее слово</p></td></tr><tr><td><p><strong class="userinput"><code>B</code></strong></p></td><td><p>Предыдущее слово, отделённое пробелом</p></td></tr><tr><td><p><strong class="userinput"><code>e</code></strong></p></td><td><p>Конец слова</p></td></tr><tr><td><p><strong class="userinput"><code>E</code></strong></p></td><td><p>Конец слова, отделённого пробелом</p></td></tr><tr><td><p><strong class="userinput"><code>ge</code></strong></p></td><td><p>Конец предыдущего слова</p></td></tr><tr><td><p><strong class="userinput"><code>gE</code></strong></p></td><td><p>Конец предыдущего слова, отделённого пробелом</p></td></tr><tr><td><p><strong class="userinput"><code>|</code></strong></p></td><td><p>С определением номера позиции в строке для перехода</p></td></tr><tr><td><p><strong class="userinput"><code>%</code></strong></p></td><td><p>С определением элемента для перехода</p></td></tr><tr><td><p><strong class="userinput"><code>`</code></strong></p></td><td><p>Отметка</p></td></tr><tr><td><p><strong class="userinput"><code>‘</code></strong></p></td><td><p>Первый непробельный символ строки с отметкой</p></td></tr><tr><td><p><strong class="userinput"><code>[[</code></strong></p></td><td><p>Предыдущая открывающая скобка</p></td></tr><tr><td><p><strong class="userinput"><code>]]</code></strong></p></td><td><p>Следующая открывающая скобка</p></td></tr><tr><td><p><strong class="userinput"><code>[]</code></strong></p></td><td><p>Предыдущая закрывающая скобка</p></td></tr><tr><td><p><strong class="userinput"><code>][</code></strong></p></td><td><p>Следующая закрывающая скобка</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>I</strong></span></p></td><td><p>Перейти к следующему расположению</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>O</strong></span></p></td><td><p>Вернуться к предыдущему расположению</p></td></tr><tr><td><p><strong class="userinput"><code>H</code></strong></p></td><td>Перейти к первой строке на экране</td></tr><tr><td><p><strong class="userinput"><code>M</code></strong></p></td><td>Перейти к строке в середине экрана</td></tr><tr><td><p><strong class="userinput"><code>L</code></strong></p></td><td>Перейти к последней строке на экране</td></tr><tr><td><p><strong class="userinput"><code>%<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code> (значение в процентах)</code></em></span></code></strong></p></td><td><p>Перейти к указанной в процентах позиции в документе</p></td></tr><tr><td><p><strong class="userinput"><code>gk</code></strong></p></td><td><p>Перейти на строку выше визуально (в случае использования динамического переноса строк)</p></td></tr><tr><td><p><strong class="userinput"><code>gj</code></strong></p></td><td><p>Перейти на строку ниже визуально (в случае использования динамического переноса строк)</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Влево</strong></span></p></td><td><p>Перейти на слово влево</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Вправо</strong></span></p></td><td><p>Перейти на слово вправо</p></td></tr></tbody></table></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="vi-supported-text-objects"></a>Поддерживаемые текстовые объекты</h3></div></div></div><p>Текстовые объекты возможно использовать для выбора определённых частей документа.</p><div class="informaltable"><table class="informaltable" border="1"><colgroup><col><col></colgroup><tbody><tr><td><p><strong class="userinput"><code>iw</code></strong></p></td><td><p>Блок слова: слово с пробелами</p></td></tr><tr><td><p><strong class="userinput"><code>aw</code></strong></p></td><td><p>Слово: слово без пробелов</p></td></tr><tr><td><p><strong class="userinput"><code>i"</code></strong></p></td><td><p>От предыдущих двойных кавычек (<strong class="userinput"><code>"</code></strong>) до следующих, включая сами кавычки</p></td></tr><tr><td><p><strong class="userinput"><code>a”</code></strong></p></td><td><p>От предыдущих двойных кавычек (<strong class="userinput"><code>"</code></strong>) до следующих, исключая сами кавычки</p></td></tr><tr><td><p><strong class="userinput"><code>i'</code></strong></p></td><td><p>От предыдущих одинарных кавычек (<strong class="userinput"><code>'</code></strong>) до следующих, включая сами кавычки</p></td></tr><tr><td><p><strong class="userinput"><code>a'</code></strong></p></td><td><p>От предыдущих одинарных кавычек (<strong class="userinput"><code>'</code></strong>) до следующих, исключая сами кавычки</p></td></tr><tr><td><p><strong class="userinput"><code>i(</code></strong></p></td><td><p>От предыдущей открывающей круглой скобки [<strong class="userinput"><code>(</code></strong>] до следующей закрывающей круглой скобки [<strong class="userinput"><code>)</code></strong>], включая сами скобки</p></td></tr><tr><td><p><strong class="userinput"><code>a(</code></strong></p></td><td><p>От предыдущей открывающей круглой скобки [<strong class="userinput"><code>(</code></strong>] до следующей закрывающей круглой скобки [<strong class="userinput"><code>)</code></strong>], исключая сами скобки</p></td></tr><tr><td><p><strong class="userinput"><code>i[</code></strong></p></td><td><p>От предыдущей открывающей квадратной скобки (<strong class="userinput"><code>[</code></strong>) до следующей закрывающей квадратной скобки (<strong class="userinput"><code>]</code></strong>), включая сами скобки</p></td></tr><tr><td><p><strong class="userinput"><code>a[</code></strong></p></td><td><p>От предыдущей открывающей квадратной скобки (<strong class="userinput"><code>[</code></strong>) до следующей закрывающей квадратной скобки (<strong class="userinput"><code>]</code></strong>), исключая сами скобки</p></td></tr><tr><td><p><strong class="userinput"><code>i{</code></strong></p></td><td><p>От предыдущей открывающей фигурной скобки (<strong class="userinput"><code>{</code></strong>) до следующей закрывающей фигурной скобки (<strong class="userinput"><code>}</code></strong>), включая сами скобки</p></td></tr><tr><td><p><strong class="userinput"><code>a{</code></strong></p></td><td><p>От предыдущей открывающей фигурной скобки (<strong class="userinput"><code>{</code></strong>) до следующей закрывающей фигурной скобки (<strong class="userinput"><code>}</code></strong>), исключая сами скобки</p></td></tr><tr><td><p><strong class="userinput"><code>i&lt;</code></strong></p></td><td><p>От предыдущей открывающей угловой скобки (<strong class="userinput"><code>&lt;</code></strong>) до следующей закрывающей угловой скобки (<strong class="userinput"><code>&gt;</code></strong>), включая сами скобки</p></td></tr><tr><td><p><strong class="userinput"><code>a&lt;</code></strong></p></td><td><p>От предыдущей открывающей угловой скобки (<strong class="userinput"><code>&lt;</code></strong>) до следующей закрывающей угловой скобки (<strong class="userinput"><code>&gt;</code></strong>), исключая сами скобки</p></td></tr><tr><td><p><strong class="userinput"><code>i`</code></strong></p></td><td><p>От предыдущего обратного апострофа (<strong class="userinput"><code>`</code></strong>) до следующего, включая сами обратные апострофы</p></td></tr><tr><td><p><strong class="userinput"><code>a`</code></strong></p></td><td><p>От предыдущего обратного апострофа (<strong class="userinput"><code>`</code></strong>) до следующего, исключая сами обратные апострофы</p></td></tr></tbody></table></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="vi-insert-mode-commands"></a>Поддерживаемые команды режима вставки</h3></div></div></div><div class="informaltable"><table class="informaltable" border="1"><colgroup><col><col></colgroup><tbody><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>D</strong></span></p></td><td><p>Уменьшить отступ</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>T</strong></span></p></td><td><p>Увеличить отступ</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>E</strong></span></p></td><td><p>Вставить снизу</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Y</strong></span></p></td><td><p>Удалить слово</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>W</strong></span></p></td><td><p>Удалить слово</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>U</strong></span></p></td><td><p>Удалить строку</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>J</strong></span></p></td><td><p>Новая строка</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>H</strong></span></p></td><td><p>Удалить символ в обратном направлении</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Home</strong></span></p></td><td><p>Перейти к первому символу в документе</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>R</strong></span> <strong class="userinput"><code>n</code></strong></p></td><td>Вставить содержимое регистра <code class="literal">n</code></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>O</strong></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>команда</code></em></span></p></td><td><p>Перейти в обычный режим только для одной команды</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>A</strong></span></p></td><td><p>Увеличить текущее выбранное число</p></td></tr><tr><td><p><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>X</strong></span></p></td><td><p>Уменьшить текущее выбранное число</p></td></tr></tbody></table></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="vi-text-object"></a>Текстовый объект, ограниченный запятыми</h3></div></div></div><p>Этого объекта нет в Vim. Текстовый объект, ограниченный запятыми, упрощает изменение списков параметров на C-подобных языках и других списков, разделённых запятыми. Таким текстовым объектом является фрагмент текста между двумя запятыми или между запятой и скобкой. На снимке обозначены красным фоном три диапазона текстовых объектов.</p><div class="screenshot"><a name="screenshot-resources"></a><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="comma-to.png" alt="Пример текстового объекта, ограниченного запятыми"><div class="caption"><p>Диапазоны текстовых объектов. Если курсор находится в пределах <abbr class="abbrev">например</abbr> <span class="replaceable"><em class="replaceable"><code>arg2</code></em></span>, при нажатии клавиш <strong class="userinput"><code>ci</code></strong>, (<span class="quote">«<span class="quote">изменить между запятыми</span>»</span>) текст <span class="replaceable"><em class="replaceable"><code>double arg2</code></em></span> будет удалён, а курсор — помещён между двумя запятыми в режиме вставки. Это очень удобный способ изменения параметров функции.</p></div></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="vi-missing-features"></a>Нереализованные возможности</h3></div></div></div><p>Как было отмечено выше, задачей режима Vi <span class="application">KatePart</span> не является стопроцентная поддержка возможностей Vim.</p></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="credits.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="regular-expressions.html">След.</a></td></tr><tr><td class="prevCell">Авторские права и лицензия </td><td class="upCell"> </td><td class="nextCell"> Регулярные выражения</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="regular-expressions.html"><html><head><title>Приложение A. Регулярные выражения</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="index.html" title="Руководство пользователя KatePart"><link rel="prev" href="vi-input-mode-chapter.html" title="Глава 9. Режим ввода Vi"><link rel="next" href="regex-patterns.html" title="Шаблоны"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Регулярные выражения</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="vi-input-mode-chapter.html">Пред.</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="regex-patterns.html">След.</a></td></tr></table></div><div id="contentBody"><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a name="regular-expressions"></a>Приложение A. Регулярные выражения</h1></div><div><div class="authorgroup"><p class="author"><span class="firstname">Anders</span> <span class="surname">Lund</span> <code class="email">&lt;anders@alweb.dk&gt;</code></p><span class="othercredit"><span class="contrib">Перевод на русский язык</span>: <span class="firstname">Андрей</span> <span class="surname">Балагута</span><br></span><span class="othercredit"><span class="contrib">Обновление перевода</span>: <span class="firstname">Олеся</span> <span class="surname">Герасименко</span><br></span></div></div></div></div><div class="toc"><p><b>Содержание</b></p><dl class="toc"><dt><span class="sect1"><a href="regular-expressions.html#idm9766">Введение</a></span></dt><dt><span class="sect1"><a href="regex-patterns.html">Шаблоны</a></span></dt><dd><dl><dt><span class="sect2"><a href="regex-patterns.html#idm9823">Управляющие последовательности</a></span></dt><dt><span class="sect2"><a href="regex-patterns.html#idm9834">Символьные классы и сокращения</a></span></dt><dt><span class="sect2"><a href="regex-patterns.html#idm10002">Альтернативы: проверка на <span class="quote">«<span class="quote">один из</span>»</span> нескольких шаблонов</a></span></dt><dt><span class="sect2"><a href="regex-patterns.html#idm10011">Вложенные шаблоны</a></span></dt><dt><span class="sect2"><a href="regex-patterns.html#special-characters-in-patterns">Символы со специальным значением в шаблонах</a></span></dt></dl></dd><dt><span class="sect1"><a href="quantifiers.html">Кванторы</a></span></dt><dd><dl><dt><span class="sect2"><a href="quantifiers.html#idm10189">Жадность</a></span></dt><dt><span class="sect2"><a href="quantifiers.html#idm10195">Примеры использования</a></span></dt></dl></dd><dt><span class="sect1"><a href="assertions.html">Утверждения</a></span></dt></dl></div><pre class="synopsis">Это приложение содержит краткое, но достаточно ёмкое описание <span class="emphasis"><em>регулярных выражений</em></span> в той форме, в которой они используются в <span class="application">KatePart</span> (они не совместимы с регулярными выражениями perl и <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>grep</strong></span></span>).</pre><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm9766"></a>Введение</h2></div></div></div><p><span class="emphasis"><em>Регулярные выражения</em></span> — это средство, позволяющее описывать содержание строк в некотором формализованном виде, что позволяет приложениям определять принадлежность той или иной строки определённому формату. В дополнение ко всему некоторые приложения могут сохранять части совпавшей строки для их последующего использования.</p><p>Приведём небольшой пример. Допустим, требуется найти в тексте все абзацы, которые начинаются с фамилий <span class="quote">«<span class="quote">Петров</span>»</span> или <span class="quote">«<span class="quote">Иванов</span>»</span>, за которыми следует любая форма глагола <span class="quote">«<span class="quote">рассказывать</span>»</span> (для чистоты эксперимента возьмём всего две формы: <span class="quote">«<span class="quote">рассказал</span>»</span> и <span class="quote">«<span class="quote">рассказывал</span>»</span>).</p><p>С помощью обычного поиска понадобилось бы сначала найти фамилию  <span class="quote">«<span class="quote">Петров</span>»</span>, возможно, дополненную буквами <span class="quote">«<span class="quote">рассказ</span>»</span>, что-то вроде этого: <strong class="userinput"><code>Петров рассказ</code></strong>. При поиске совпадений пришлось бы пропускать все строки, которые стоят не в начале абзаца. После этого последовал бы повторный поиск для второй фамилии...</p><p>Регулярные выражения позволяют произвести такую операцию поиска за один раз, причём с гораздо большей точностью.</p><p>Регулярные выражения содержат правила, позволяющие точно выразить вид строки для поиска. Приведённый пример возможно выразить словесно: <span class="quote">«<span class="quote">Строка, начинающаяся со слов <span class="quote">„<span class="quote">Петров</span>“</span> или <span class="quote">„<span class="quote">Иванов</span>“</span>, перед которыми могут стоять до четырёх пробелов или символов табуляции, после фамилии должен стоять пробел, за пробелом — <span class="quote">„<span class="quote">рассказ</span>“</span>, после чего может (необязательно!) стоять суффикс <span class="quote">„<span class="quote">ыв</span>“</span>, и, наконец, суффикс <span class="quote">„<span class="quote">ал</span>“</span></span>»</span>. Это возможно записать в форме регулярного выражения:</p><p><strong class="userinput"><code>^[ \t]{0,4}(Петров|Иванов) рассказ(ыв)?ал</code></strong></p><p>Этот пример демонстрирует четыре основных понятия современных регулярных выражений:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Шаблоны</p></li><li class="listitem"><p>Утверждения</p></li><li class="listitem"><p>Кванторы</p></li><li class="listitem"><p>Обратные ссылки</p></li></ul></div><p>Знак <code class="literal">^</code>, с которого начинается выражение, — это утверждение, которое подтверждает совпадение только в том случае, если совпавшая цепочка символов начинается с новой строки.</p><p><code class="literal">[ \t]</code> и <code class="literal">(Петров|Иванов) рассказ(ыв)?ал</code> — это шаблоны. Первый представляет собой <span class="emphasis"><em>символьный класс</em></span>, который совпадает либо с пробелом, либо с символом табуляции. Второй содержит вложенный шаблон, совпадающий со словами <code class="literal">Петров</code> <span class="emphasis"><em>или</em></span> <code class="literal">Иванов</code>, затем идёт проверка на точное совпадение со строкой <code class="literal"> рассказ</code>, потом ещё один вложенный шаблон, который определяет вхождение символов <code class="literal">ыв</code>, и, в самом конце, проверка на точное совпадение с символами <code class="literal">ал</code></p><p>Строка <code class="literal">{0,4}</code> и символ вопроса после вложенного шаблона <code class="literal">(ыв)</code> — это кванторы. Первый интерпретируется следующим образом: <span class="quote">«<span class="quote">возможен повтор предыдущего символа от 0 до 4 раз</span>»</span>. Второй квантор действует аналогично, позволяя повторить стоящий перед ним вложенный шаблон 0 или 1 раз.</p><p>Все приложения, работающие с регулярными выражениями и поддерживающие <span class="emphasis"><em>обратные ссылки</em></span>, при совпадении сохраняют всю строку и вложенные шаблоны в некоторой области памяти и предоставляют средства для получения этих значений. Поэтому возможно получить всю совпавшую строку (при поиске в редакторе она обычно выделяется цветом) или, например, только фамилию.</p><p>Как было показано в предыдущем примере, регулярные выражения — это очень эффективное средство поиска, позволяющее найти именно то, что требуется, без особых усилий.</p><p>В следующих разделах подробно рассмотрены шаблоны, символьные классы, утверждения, кванторы и обратные ссылки. В конце этой главы приведено несколько полезных примеров.</p></div><FILENAME filename="regex-patterns.html"><html><head><title>Шаблоны</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="regular-expressions.html" title="Приложение A. Регулярные выражения"><link rel="prev" href="regular-expressions.html" title="Приложение A. Регулярные выражения"><link rel="next" href="quantifiers.html" title="Кванторы"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Шаблоны</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="regular-expressions.html">Пред.</a></td><td class="upCell">Регулярные выражения</td><td class="nextCell"><a accesskey="n" href="quantifiers.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="regex-patterns"></a>Шаблоны</h2></div></div></div><p>Шаблоны состоят из символов и символьных классов. Допускается вложенность, в этом случае вложенные шаблоны заключаются в круглые скобки.</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm9823"></a>Управляющие последовательности</h3></div></div></div><p>И в шаблонах, и в символьных классах некоторые символы имеют специальное значение. Если требуется использовать эти символы при поиске именно как символы, необходимо записать их определённым образом, чтобы анализатор регулярных выражений интерпретировал их как обычные символы.</p><p>Делается это очень просто, необходимо всего лишь поставить перед таким символом обратную черту (<code class="literal">\</code>).</p><p>Анализатор регулярных выражений игнорирует обратную черту перед символами, которые не имеют специального значения в контексте; например, если вместо обычного символа <span class="quote">«<span class="quote">j</span>»</span> ввести <strong class="userinput"><code>\j</code></strong>, анализатор будет интерпретировать его просто как <span class="quote">«<span class="quote">j</span>»</span>. Таким образом, если неизвестно, имеет ли символ специальное значение, возможно без опасений предварить его обратной чертой.</p><p>Для указания собственно обратной черты (в качестве обычного символа) необходимо продублировать её: <strong class="userinput"><code>\\</code></strong>.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm9834"></a>Символьные классы и сокращения</h3></div></div></div><p><span class="emphasis"><em>Символьный класс</em></span> — это выражение, которое позволяет проверить один символ на принадлежность определённому набору символов. Чтобы использовать его в регулярных выражениях, требуется в квадратных скобках записать все верные символы или сокращённые классы, описание которых приводится далее.</p><p>Простые символьные классы содержат один или несколько символов, например, <strong class="userinput"><code>[abc]</code></strong> (проверка на любой из символов <span class="quote">«<span class="quote">a</span>»</span>, <span class="quote">«<span class="quote">b</span>»</span> или <span class="quote">«<span class="quote">c</span>»</span>) или <strong class="userinput"><code>[0123456789]</code></strong> (проверка на любую цифру).</p><p>Поскольку буквы и цифры упорядочены логически, возможно сокращать классы, используя диапазоны: <strong class="userinput"><code>[a-c]</code></strong> аналогично <strong class="userinput"><code>[abc]</code></strong>, <strong class="userinput"><code>[0-9]</code></strong> аналогично <strong class="userinput"><code>[0123456789]</code></strong>. Возможно комбинировать диапазоны с обычным перечислением символов: <strong class="userinput"><code>[a-fynot1-38]</code></strong> (проверка на любой из символов <span class="quote">«<span class="quote">a</span>»</span>,<span class="quote">«<span class="quote">b</span>»</span>,<span class="quote">«<span class="quote">c</span>»</span>,<span class="quote">«<span class="quote">d</span>»</span>, <span class="quote">«<span class="quote">e</span>»</span>,<span class="quote">«<span class="quote">f</span>»</span>,<span class="quote">«<span class="quote">y</span>»</span>,<span class="quote">«<span class="quote">n</span>»</span>,<span class="quote">«<span class="quote">o</span>»</span>,<span class="quote">«<span class="quote">t</span>»</span>, <span class="quote">«<span class="quote">1</span>»</span>,<span class="quote">«<span class="quote">2</span>»</span>,<span class="quote">«<span class="quote">3</span>»</span> или <span class="quote">«<span class="quote">8</span>»</span>).</p><p>Чтобы проверить символ без учёта регистра в любом случае (регулярное выражение позволяет учитывать или не учитывать регистр символов), следует написать примерно следующее: <strong class="userinput"><code>[aAbB]</code></strong>.</p><p>Возможно создать <span class="quote">«<span class="quote">исключающий</span>»</span> класс, который проверяет символ на <span class="quote">«<span class="quote">невхождение</span>»</span> в заданный набор символов. Обычный символьный класс превращается в исключающий добавлением символа <span class="quote">«<span class="quote"><code class="literal">^</code></span>»</span> перед набором символов:  </p><p><strong class="userinput"><code>[^abc]</code></strong> — проверка на любой символ, <span class="emphasis"><em>кроме</em></span> <span class="quote">«<span class="quote">a</span>»</span>, <span class="quote">«<span class="quote">b</span>»</span> и <span class="quote">«<span class="quote">c</span>»</span>.</p><p>В дополнение к обычным символам возможно использовать следующие сокращения: </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><strong class="userinput"><code>\a</code></strong></span></dt><dd><p>Проверка на <acronym class="acronym">ASCII</acronym>-символ звонка (BEL, 0x07).</p></dd><dt><span class="term"><strong class="userinput"><code>\f</code></strong></span></dt><dd><p>Проверка на <acronym class="acronym">ASCII</acronym>-символ перевода страницы (FF, 0x0C).</p></dd><dt><span class="term"><strong class="userinput"><code>\n</code></strong></span></dt><dd><p>Проверка на <acronym class="acronym">ASCII</acronym>-символ перевода строки (LF, 0x0A, символ перехода на новую строку в Unix).</p></dd><dt><span class="term"><strong class="userinput"><code>\r</code></strong></span></dt><dd><p>Проверка на <acronym class="acronym">ASCII</acronym>-символ возврата каретки (CR, 0x0D).</p></dd><dt><span class="term"><strong class="userinput"><code>\t</code></strong></span></dt><dd><p>Проверка на <acronym class="acronym">ASCII</acronym>-символ горизонтальной табуляции (HT, 0x09).</p></dd><dt><span class="term"><strong class="userinput"><code>\v</code></strong></span></dt><dd><p>Проверка на <acronym class="acronym">ASCII</acronym>-символ вертикальной табуляции (VT, 0x0B).</p></dd><dt><span class="term"><strong class="userinput"><code>\xhhhh</code></strong></span></dt><dd><p>Проверка на символ Юникода, соответствующий шестнадцатеричному числу hhhh (в пределах 0x0000-0xFFFF). \0ooo (первый символ — ноль) — проверка на символ в кодировке <acronym class="acronym">ASCII</acronym>/Latin-1, соответствующий восьмеричному числу ooo (в пределах 0-0377).</p></dd><dt><span class="term"><strong class="userinput"><code>.</code></strong> (точка)</span></dt><dd><p>Проверка на любой символ (включая переход на новую строку).</p></dd><dt><span class="term"><strong class="userinput"><code>\d</code></strong></span></dt><dd><p>Проверка на цифровой символ. Аналогично классу <code class="literal">[0-9]</code>.</p></dd><dt><span class="term"><strong class="userinput"><code>\D</code></strong></span></dt><dd><p>Проверка на любой символ, не являющийся цифровым. Аналогично <code class="literal">[^0-9]</code> или <code class="literal">[^\d]</code>.</p></dd><dt><span class="term"><strong class="userinput"><code>\s</code></strong></span></dt><dd><p>Проверка на пробельный символ. Фактически аналогично классу <code class="literal">[ \t\n\r]</code>.</p></dd><dt><span class="term"><strong class="userinput"><code>\S</code></strong></span></dt><dd><p>Проверка на любой символ, не являющийся пробельным. Фактически равнозначно <code class="literal">[^ \t\r\n]</code> и аналогично <code class="literal">[^\s]</code>.</p></dd><dt><span class="term"><strong class="userinput"><code>\w</code></strong></span></dt><dd><p>Проверка на любой <span class="quote">«<span class="quote">словообразующий символ</span>»</span> (все буквы и цифры, а также символ подчёркивания). Аналогично классу <code class="literal">[a-zA-Z0-9_]</code>.</p></dd><dt><span class="term"><strong class="userinput"><code>\W</code></strong></span></dt><dd><p>Проверка на любой символ, не являющийся словообразующим (все символы, кроме букв, цифр и подчёркиваний). Аналогично классу <code class="literal">[^a-zA-Z0-9_]</code> или <code class="literal">[^\w]</code>.</p></dd></dl></div><p>

</p><p><span class="emphasis"><em>Нотация классов POSIX</em></span>, <strong class="userinput"><code>[:&lt;имя класса&gt;:]</code></strong>, также поддерживается. Например, <strong class="userinput"><code>[:digit:]</code></strong> аналогично <strong class="userinput"><code>\d</code></strong>, а <strong class="userinput"><code>[:space:]</code></strong> — <strong class="userinput"><code>\s</code></strong>. Полный перечень символьных классов POSIX доступен <a class="ulink" href="https://www.regular-expressions.info/posixbrackets.html" target="_top">здесь</a>.</p><p>Аббревиатурные классы возможно помещать в обычные классы; например, чтобы выполнить проверку на словообразующий символ, точку или пробел, возможно ввести следующее: <strong class="userinput"><code>[\w \.]</code></strong></p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idm9976"></a>Символы со специальным значением в символьных классах</h4></div></div></div><p>Далее перечислены символы, имеющие специальное значение в определениях символьных классов (<span class="quote">«<span class="quote">[]</span>»</span>). Для использования в качестве обычных символов они должны быть предварены обратной чертой.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><strong class="userinput"><code>]</code></strong></span></dt><dd><p>Закрывает символьный класс. Этот символ должен быть предварён обратной чертой, кроме тех случаев, когда он находится непосредственно в начале класса или сразу после символа <strong class="userinput"><code>^</code></strong>.</p></dd><dt><span class="term"><strong class="userinput"><code>^</code></strong></span></dt><dd><p>Если находится в начале, объявляет исключающий класс. Чтобы использовать этот символ как обычный символ в начале класса, следует предварить его обратной чертой.</p></dd><dt><span class="term"><strong class="userinput"><code>-</code></strong> (дефис)</span></dt><dd><p>Объявляет логический диапазон. При использовании внутри символьного класса этот символ всегда следует предварять обратной чертой.</p></dd><dt><span class="term"><strong class="userinput"><code>\</code></strong> (обратная черта)</span></dt><dd><p>Спецсимвол (escape character). Чтобы использовать его как обычный символ, продублируйте.</p></dd></dl></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm10002"></a>Альтернативы: проверка на <span class="quote">«<span class="quote">один из</span>»</span> нескольких шаблонов</h3></div></div></div><p>Если требуется выполнить проверку на один (любой) шаблон из определённого набора, используйте альтернативы. Чтобы объявить альтернативу, следует все шаблоны набора записать через вертикальную черту (<code class="literal">|</code>).</p><p>Например, чтобы найти любое из имён <span class="quote">«<span class="quote">Вася</span>»</span> и <span class="quote">«<span class="quote">Петя</span>»</span>, необходимо использовать такое выражение: <strong class="userinput"><code>Вася|Петя</code></strong>.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm10011"></a>Вложенные шаблоны</h3></div></div></div><p><span class="emphasis"><em>Вложенными</em></span> называются шаблоны, заключённые в круглые скобки. Они используются в разных целях:</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idm10015"></a>Определение альтернатив</h4></div></div></div><p>С помощью вложенных шаблонов возможно группировать набор альтернатив внутри сложных шаблонов. Альтернативы разделяются символом вертикальной черты (<span class="quote">«<span class="quote">|</span>»</span>).</p><p>Например, чтобы найти одно из слов <span class="quote">«<span class="quote">int</span>»</span>, <span class="quote">«<span class="quote">float</span>»</span> или <span class="quote">«<span class="quote">double</span>»</span>, возможно использовать шаблон <strong class="userinput"><code>int|float|double</code></strong>. Если же требуется найти одно из этих слов, за которым следуют пробелы, а за ними — какие-то символы, то необходимо оформить альтернативу как вложенный шаблон: <strong class="userinput"><code>(int|float|double)\s+\w+</code></strong>.</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="regex-capturing"></a>Захват совпавшего текста (обратные ссылки)</h4></div></div></div><p>Вложенный шаблон <strong class="userinput"><code>(ШАБЛОН)</code></strong> позволяет использовать обратную ссылку благодаря запоминанию нужной части шаблона. Чтобы не выполнялось запоминание вложенного шаблона, необходимо использовать группу без захвата <strong class="userinput"><code>(?:ШАБЛОН)</code></strong>.</p><p>Например, если требуется найти два одинаковых слова, разделённых запятой и, возможно, пробелами, возможно использовать такое выражение: <strong class="userinput"><code>(\w+),\s*\1</code></strong>. Вложенный шаблон <code class="literal">\w+</code> выполняет поиск цепочки словообразующих символов, а всё выражение выполняет поиск той же цепочки, за которой следует запятая, далее могут идти пробелы, а за ними — точно такая же цепочка (строка <code class="literal">\1</code> ссылается на <span class="emphasis"><em>первый вложенный шаблон, заключённый в круглые скобки</em></span>).</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примечание</h3><p>Чтобы избежать неясности при использовании символов <strong class="userinput"><code>\1</code></strong>, за которыми следуют цифры (например, <strong class="userinput"><code>\12</code></strong> может являться двенадцатым вложенным шаблоном или просто первым вложенным шаблоном с цифрой <strong class="userinput"><code>2</code></strong>), вложенные шаблоны, состоящие из нескольких цифр, указываются в формате <strong class="userinput"><code>\{12}</code></strong>.</p><p>Примеры:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><strong class="userinput"><code>\{12}1</code></strong> = <span class="quote">«<span class="quote">использовать вложенный шаблон 12</span>»</span></p></li><li class="listitem"><p><strong class="userinput"><code>\123</code></strong> = <span class="quote">«<span class="quote">запомнить 1, а 23 — обычный текст</span>»</span></p></li></ul></div></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="lookahead-assertions"></a>Утверждения просмотра вперёд</h4></div></div></div><p>Утверждение просмотра вперёд — это вложенный шаблон, который начинается с символов <code class="literal">?=</code> или <code class="literal">?!</code>.</p><p>Например, чтобы найти слово <span class="quote">«<span class="quote">Билл</span>»</span>, за которым может следовать что угодно, кроме слова <span class="quote">«<span class="quote"> Гейтс</span>»</span>, следует составить такое выражение: <strong class="userinput"><code>Билл(?! Гейтс)</code></strong> (оно совпадёт с <span class="quote">«<span class="quote">Билл Клинтон</span>»</span>, <span class="quote">«<span class="quote">Билли хороший мальчик</span>»</span>, но не с именем известного магната).</p><p>Вложенные шаблоны, использующиеся в качестве утверждений, не запоминаются.</p><p>Смотрите также раздел <a class="link" href="assertions.html" title="Утверждения">Утверждения</a>.</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="lookbehind-assertions"></a>Утверждения просмотра назад</h4></div></div></div><p>Утверждение просмотра назад — это вложенный шаблон, который начинается с символов <code class="literal">?&lt;=</code> или <code class="literal">?&lt;!</code>.</p><p>Утверждение просмотра назад работает так же, как и утверждение просмотра вперёд, отличие лишь в направлении просмотра. Например, чтобы найти слово <span class="quote">«<span class="quote">град</span>»</span>, которому не предшествуют символы <span class="quote">«<span class="quote">вино</span>»</span>, следует использовать следующее выражение: <strong class="userinput"><code>(?&lt;!вино)град</code></strong>.</p><p>Вложенные шаблоны, использующиеся в качестве утверждений, не запоминаются.</p><p>Смотрите также раздел <a class="link" href="assertions.html" title="Утверждения">Утверждения</a>.</p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="special-characters-in-patterns"></a>Символы со специальным значением в шаблонах</h3></div></div></div><p>Следующие символы имеют специальное значение в шаблонах, поэтому, чтобы использовать их в качестве обычных символов, необходимо впереди ставить обратную черту: </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><strong class="userinput"><code>\</code></strong> (обратная черта)</span></dt><dd><p>С этого символа должны начинаться все спецсимволы.</p></dd><dt><span class="term"><strong class="userinput"><code>^</code></strong></span></dt><dd><p>Проверка на начало строки.</p></dd><dt><span class="term"><strong class="userinput"><code>$</code></strong></span></dt><dd><p>Проверка на конец строки.</p></dd><dt><span class="term"><strong class="userinput"><code>()</code></strong> (левая и правая круглые скобки)</span></dt><dd><p>Объявление вложенного шаблона.</p></dd><dt><span class="term"><strong class="userinput"><code>{}</code></strong> (левая и правая фигурные скобки)</span></dt><dd><p>Объявление численного квантора.</p></dd><dt><span class="term"><strong class="userinput"><code>[]</code></strong> (левая и правая квадратные скобки)</span></dt><dd><p>Объявление символьного класса.</p></dd><dt><span class="term"><strong class="userinput"><code>|</code></strong> (вертикальная черта)</span></dt><dd><p>Логическое ИЛИ. Используется для разделения альтернатив.</p></dd><dt><span class="term"><strong class="userinput"><code>+</code></strong> (плюс)</span></dt><dd><p>Квантор <span class="quote">«<span class="quote">один или более</span>»</span>.</p></dd><dt><span class="term"><strong class="userinput"><code>*</code></strong> (звёздочка)</span></dt><dd><p>Квантор <span class="quote">«<span class="quote">ноль или более</span>»</span>.</p></dd><dt><span class="term"><strong class="userinput"><code>?</code></strong> (знак вопроса)</span></dt><dd><p>Необязательный символ. Можно считать его квантором <span class="quote">«<span class="quote">ноль или один</span>»</span>.</p></dd></dl></div><p>

</p></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="regular-expressions.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="quantifiers.html">След.</a></td></tr><tr><td class="prevCell">Регулярные выражения </td><td class="upCell">Регулярные выражения</td><td class="nextCell"> Кванторы</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="quantifiers.html"><html><head><title>Кванторы</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="regular-expressions.html" title="Приложение A. Регулярные выражения"><link rel="prev" href="regex-patterns.html" title="Шаблоны"><link rel="next" href="assertions.html" title="Утверждения"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Кванторы</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="regex-patterns.html">Пред.</a></td><td class="upCell">Регулярные выражения</td><td class="nextCell"><a accesskey="n" href="assertions.html">След.</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="quantifiers"></a>Кванторы</h2></div></div></div><p><span class="emphasis"><em>Кванторы</em></span> выполняют проверку на определённое количество повторений символа, шаблона или символьного класса.</p><p>Кванторы записываются в фигурных скобках (<code class="literal">{</code> и <code class="literal">}</code>). Общий вид квантора: <code class="literal">{[минимальное-количество-совпадений][,[максимальное-количество-совпадений]]}</code> </p><p>Использование кванторов лучше пояснить на примерах: </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><strong class="userinput"><code>{1}</code></strong></span></dt><dd><p>Ровно одно появление</p></dd><dt><span class="term"><strong class="userinput"><code>{0,1}</code></strong></span></dt><dd><p>Ноль или одно появление</p></dd><dt><span class="term"><strong class="userinput"><code>{,1}</code></strong></span></dt><dd><p>То же самое, только короче.</p></dd><dt><span class="term"><strong class="userinput"><code>{5,10}</code></strong></span></dt><dd><p>Как минимум 5 повторений, максимум — 10.</p></dd><dt><span class="term"><strong class="userinput"><code>{5,}</code></strong></span></dt><dd><p>Как минимум 5 повторений (без верхней границы).</p></dd></dl></div><p>

</p><p>Также определены несколько сокращений: </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><strong class="userinput"><code>*</code></strong> (звёздочка)</span></dt><dd><p>аналогично <code class="literal">{0,}</code>, найти любое количество повторений (вплоть до нуля повторений).</p></dd><dt><span class="term"><strong class="userinput"><code>+</code></strong> (плюс)</span></dt><dd><p>аналогично <code class="literal">{1,}</code>, как минимум одно появление.</p></dd><dt><span class="term"><strong class="userinput"><code>?</code></strong> (знак вопроса)</span></dt><dd><p>аналогично <code class="literal">{0,1}</code>, ноль или одно появление.</p></dd></dl></div><p>

</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm10189"></a>Жадность</h3></div></div></div><p>Используя кванторы без ограничений максимума, регулярное выражение захватывает строку по максимуму, такое поведение называется <span class="emphasis"><em>жадным</em></span>.</p><p>Современные анализаторы позволяют определять как жадные, так и нежадные регулярные выражения. В основном это проявляется в соответствующих элементах графического интерфейса, например, в диалоге поиска может присутствовать опция <span class="quote">«<span class="quote">Минимальное совпадение</span>»</span>.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm10195"></a>Примеры использования</h3></div></div></div><p>Несколько примеров использования кванторов.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><strong class="userinput"><code>^\d{4,5}\s</code></strong></span></dt><dd><p>Совпадёт с <span class="quote">«<span class="quote">1234 вперед</span>»</span> и <span class="quote">«<span class="quote">12345 стоп</span>»</span>, но не совпадёт ни с <span class="quote">«<span class="quote">567 восемь</span>»</span>, ни с <span class="quote">«<span class="quote">223459 много</span>»</span>.</p></dd><dt><span class="term"><strong class="userinput"><code>\s+</code></strong></span></dt><dd><p>Проверка на один или более пробельных символов.</p></dd><dt><span class="term"><strong class="userinput"><code>(ля){1,}</code></strong></span></dt><dd><p>Совпадёт с <span class="quote">«<span class="quote">ляляля</span>»</span> и с подстрокой <span class="quote">«<span class="quote">ля</span>»</span> в словах <span class="quote">«<span class="quote">кляча</span>»</span> и <span class="quote">«<span class="quote">земля</span>»</span>.</p></dd><dt><span class="term"><strong class="userinput"><code>/?&gt;</code></strong></span></dt><dd><p>Совпадёт с <span class="quote">«<span class="quote">/&gt;</span>»</span> в <span class="quote">«<span class="quote">&lt;closeditem/&gt;</span>»</span>, а также с <span class="quote">«<span class="quote">&gt;</span>»</span> в строке <span class="quote">«<span class="quote">&lt;openitem&gt;</span>»</span>.</p></dd></dl></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="regex-patterns.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="assertions.html">След.</a></td></tr><tr><td class="prevCell">Шаблоны </td><td class="upCell">Регулярные выражения</td><td class="nextCell"> Утверждения</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="assertions.html"><html><head><title>Утверждения</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KatePart, KWrite, текст, редактор"><link rel="home" href="index.html" title="Руководство пользователя KatePart"><link rel="up" href="regular-expressions.html" title="Приложение A. Регулярные выражения"><link rel="prev" href="quantifiers.html" title="Кванторы"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Утверждения</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="quantifiers.html">Пред.</a></td><td class="upCell">Регулярные выражения</td><td class="nextCell"></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="assertions"></a>Утверждения</h2></div></div></div><p><span class="emphasis"><em>Утверждения</em></span> накладывают дополнительные условия на проверку регулярного выражения.</p><p>Утверждение не проверяет символы, скорее, оно анализирует совпавшую строку перед тем как подтвердить совпадение. Например, утверждение <span class="emphasis"><em>граница слова</em></span> не пытается найти символ-разделитель слов, наоборот, оно проверяет, что в данной позиции нет словообразующего символа. Это означает, что утверждение будет верно даже в случае отсутствия символа-разделителя, например, в конце строки поиска.</p><p>Некоторые утверждения являются шаблонами, но они лишь проверяют, есть или нет в данном месте строки соответствие заданному шаблону, не включая его в конечный результат (то есть в «совпавший текст»).</p><p>Регулярные выражения, описанные в этом руководстве, поддерживают следующие утверждения: </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><strong class="userinput"><code>^</code></strong> (начало строки)</span></dt><dd><p>Проверка на начало строки.</p><p>Выражение <strong class="userinput"><code>^Пётр</code></strong> совпадёт с <span class="quote">«<span class="quote">Пётр</span>»</span> в строке <span class="quote">«<span class="quote">Пётр, здравствуйте!</span>»</span>, но не в строке <span class="quote">«<span class="quote">Здравствуйте, Пётр!</span>»</span>. </p></dd><dt><span class="term"><strong class="userinput"><code>$</code></strong> (конец строки)</span></dt><dd><p>Проверка на конец строки поиска.</p><p>Выражение <strong class="userinput"><code>ты\?$</code></strong> совпадёт с последним <span class="quote">«<span class="quote">ты</span>»</span> в строке <span class="quote">«<span class="quote">— Ты не сделаешь этого! — А ты?</span>»</span>, но не совпадёт ни с какой частью строки <span class="quote">«<span class="quote">Ты не сделал этого, так?</span>»</span>.</p></dd><dt><span class="term"><strong class="userinput"><code>\b</code></strong> (граница слова)</span></dt><dd><p>Проверяет, есть ли в данном месте с одной стороны словообразующий символ, а с другой — отличный от словообразующего (необязательно разделитель!).</p><p>Это утверждение используется для поиска границ слов; например, можно использовать два таких утверждения, чтобы найти целое слово. Выражение <strong class="userinput"><code>\bиз\b</code></strong> совпадёт с отдельным словом <span class="quote">«<span class="quote">из</span>»</span> во фразе <span class="quote">«<span class="quote">Он выпал из этого окна, хорошо хоть, что тут низко</span>»</span>, но не совпадёт с <span class="quote">«<span class="quote">из</span>»</span> в слове <span class="quote">«<span class="quote">низко</span>»</span>.</p></dd><dt><span class="term"><strong class="userinput"><code>\B</code></strong> (нет границы слова)</span></dt><dd><p>Действие этого утверждения обратно утверждению <span class="quote">«<span class="quote">\b</span>»</span>.</p><p>Это значит, что данное утверждение будет совпадать, например, в середине слова: выражение <strong class="userinput"><code>\Bце\B</code></strong> совпадёт с <span class="quote">«<span class="quote">це</span>»</span> в строке <span class="quote">«<span class="quote">сцена</span>»</span>, но не в <span class="quote">«<span class="quote">целое</span>»</span>.</p></dd><dt><span class="term"><strong class="userinput"><code>(?=ШАБЛОН)</code></strong> (подтверждающий просмотр вперёд)</span></dt><dd><p>Утверждения просмотра вперёд действуют аналогично обычным шаблонам, с той лишь разницей, что текст, совпавший (или не совпавший, в зависимости от типа просмотра) с утверждением, не будет включен в результирующее совпадение. Подтверждающий просмотр вперёд проверяет текст на предмет совпадения с <span class="emphasis"><em>ШАБЛОНОМ</em></span> утверждения.</p><p>Выражение <strong class="userinput"><code>программ(?=\w)</code></strong> совпадёт с <span class="quote">«<span class="quote">программ</span>»</span> в слове <span class="quote">«<span class="quote">программист</span>»</span>, но не во фразе <span class="quote">«<span class="quote">Он написал много хороших программ!</span>»</span>.</p></dd><dt><span class="term"><strong class="userinput"><code>(?!ШАБЛОН)</code></strong> (отрицающий просмотр вперёд)</span></dt><dd><p>Отрицающий просмотр вперёд проверяет текст на предмет несовпадения с <span class="emphasis"><em>ШАБЛОНОМ</em></span>.</p><p>Выражение  <strong class="userinput"><code>const \w+\b(?!\s*&amp;)</code></strong> совпадёт с <span class="quote">«<span class="quote">const char</span>»</span> в строке <span class="quote">«<span class="quote">const char* foo</span>»</span>, но не совпадёт с <span class="quote">«<span class="quote">const QString</span>»</span> в <span class="quote">«<span class="quote">const QString&amp; bar</span>»</span>, поскольку <span class="quote">«<span class="quote">&amp;</span>»</span> совпадает с шаблоном отрицающего просмотра вперёд.</p></dd><dt><span class="term"><strong class="userinput"><code>(?&lt;=ШАБЛОН)</code></strong> (подтверждающий просмотр назад)</span></dt><dd><p>Утверждения просмотра назад действуют аналогично утверждениям просмотра вперёд, разница заключается только в направлении просмотра. Утверждение просмотра назад проверяет часть строки, которая предшествует возможному совпадению. Подтверждающее утверждение просмотра назад будет совпадать со строкой только в том случае, если ей предшествует <span class="emphasis"><em>ШАБЛОН</em></span> утверждения, но найденное совпадение не будет включено в результат.</p><p>Выражение <strong class="userinput"><code>(?&lt;=цвет)ок</code></strong> совпадёт с <span class="quote">«<span class="quote">ок</span>»</span>, если этим символам предшествуют символы <span class="quote">«<span class="quote">цвет</span>»</span> (в слове <span class="quote">«<span class="quote">цветок</span>»</span>, но не в слове <span class="quote">«<span class="quote">росток</span>»</span> или в отдельном слове <span class="quote">«<span class="quote">ок</span>»</span>).</p></dd><dt><span class="term"><strong class="userinput"><code>(?&lt;!ШАБЛОН)</code></strong> (отрицающий просмотр назад)</span></dt><dd><p>Отрицающий просмотр назад проверяет текст на предмет несовпадения с <span class="emphasis"><em>ШАБЛОНОМ</em></span>.</p><p>Выражение <strong class="userinput"><code>(?&lt;![\w\.])[0-9]+</code></strong> совпадёт с <span class="quote">«<span class="quote">123</span>»</span> в строках <span class="quote">«<span class="quote">=123</span>»</span> и <span class="quote">«<span class="quote">-123</span>»</span>, но не совпадёт с <span class="quote">«<span class="quote">123</span>»</span> в строках <span class="quote">«<span class="quote">.123</span>»</span> и <span class="quote">«<span class="quote">слово123</span>»</span>.</p></dd><dt><span class="term"><strong class="userinput"><code>(ШАБЛОН)</code></strong> (захватываемая группа)</span></dt><dd><p>Вложенный шаблон в круглых скобках будет захвачен и запомнен, что позволяет использовать его в обратных ссылках. Например, выражение <strong class="userinput"><code>(&amp;quot;+)[^&amp;quot;]*\1</code></strong> совпадает с <strong class="userinput"><code>""""текст""""</code></strong> и <strong class="userinput"><code>"текст"</code></strong>.</p><p>Подробные сведения доступны в разделе <a class="link" href="regex-patterns.html#regex-capturing" title="Захват совпавшего текста (обратные ссылки)">Захват совпавшего текста (обратные ссылки)</a>.</p></dd><dt><span class="term"><strong class="userinput"><code>(?:ШАБЛОН)</code></strong> (группа без захвата)</span></dt><dd><p>Вложенный шаблон в круглых скобках не будет захвачен и запомнен. Если захват текста не требуется, рекомендуется всегда использовать группы без захвата.</p></dd></dl></div><p>

</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="quantifiers.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"></td></tr><tr><td class="prevCell">Кванторы </td><td class="upCell">Регулярные выражения</td><td class="nextCell"> </td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="vi-input-mode-chapter.html">Пред.</a></td><td class="upCell"><a accesskey="h" href="index.html">Содержание</a></td><td class="nextCell"><a accesskey="n" href="regex-patterns.html">След.</a></td></tr><tr><td class="prevCell">Режим ввода Vi </td><td class="upCell"> </td><td class="nextCell"> Шаблоны</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="introduction.html">След.</a></td></tr><tr><td class="prevCell"> </td><td class="upCell"> </td><td class="nextCell"> Введение</td></tr></table></div><div id="footer_text">Вам есть что добавить на эту страницу?<br>Напишите <a href="mailto:kde-doc-english@kde.org" class="footer_email">команде документации KDE</a></div></div></div></body></html></FILENAME>

Generated by dwww version 1.15 on Thu Jun 27 16:29:15 CEST 2024.