Файл настройки
Настройка переменных
Часто проекты требуют определённого набора настроек. Каждый раз, открывая очередной проект, изменять глобальные настройки всего приложения — нецелесообразно. Повторно настраивать интерфейс через меню, также утомительно.
Редактор Kate позволяет сохранить и использовать настройки для конкретного проекта. Для этого в корневом каталоге проекта необходимо создать файл .kateconfig. После этого параметры, указанные в файле .kateconfig, будут применены ко всем файлам проекта.
Внимание!
Существует ещё способ добавлять переменные непосредственно в файл с исходным кодом в виде комментариев. Но я настоятельно не рекомендую этого делать и описывать этот способ не буду.
Формат файла
Переменные Kate имеют следующий формат:
kate: VARIABLENAME VALUE; [ VARIABLENAME VALUE; ... ]Наименования переменных — отдельные строки без пробелов. Всё, что следует за именем переменной до следующей точки с запятой служит значением переменной. Точка с запятой обязательна.
Пример строки переменной, принудительно устанавливающей отступы для языков C++, Java™ или JavaScript:
// kate: replace-tabs on; indent-width 4; indent-mode cstyle;Использование переменных
При открытии редактор Kate просматривает настройки в следующем порядке:
- общая (глобальная) настройка;
- данные сессии;
- переменные filetype, определяющие типы MIME;
- переменные в файле
.kateconfig; - переменные в самом редактируемом файле;
- настройки заданные посредством меню или командной строки.
При каждом сохранении файла редактор Kate переопределяет и записывает значения переменных.
Переменные использует не только редактор Kate, но и все связанные модули, например плагины.
Для всех переменных существуют три типа значений:
- логическое (BOOL) — on | off | true | false | 1 | 0;
- целочисленное (INT) — любое целое число;
- строка (STRING) — любая строка.
Список доступных переменных
В файле .kateconfig можно указать следующие переменные:
auto-brackets(BOOL) — Включить автоматическую вставку скобок.auto-center-lines(INT) — Установить количество строк автоцентрирования.background-color(STRING) — Установить цвет фона документа. Шестнадцатиричное значение, например, #ff0000.backspace-indents(BOOL) — Включить или отключить отступ при нажатии Backspace.block-selection(BOOL) — Включить или отключить выделение блока.bom|byte-order-mark|byte-order-marker(BOOL) — Включить или отключить метку порядка байтов (BOM) при сохранении файлов в формате Unicode (utf8, utf16, utf32).bracket-highlight-color(STRING) — Установить цвет подсветки скобок. Значение должно быть представлено в виде допустимого цвета, Шестнадцатиричное значение, например, #ff0000.current-line-color(STRING) — Установить цвет текущей строки. Шестнадцатиричное значение, например, #ff0000.default-dictionary(STRING) — Задать словарь по умолчанию для проверки орфографии.dynamic-word-wrap(STRING) — Включить или отключить динамический перенос слов.eol|end-of-line(STRING) — Задать режим переноса конца строки. Допустимые значения: Unix, Mac и DOS.folding-markers(STRING) — Включить или отключить отображение маркеров переноса.folding-preview(STRING) — Включить предварительный просмотр сворачивания в редакторе.font-size(INT) — Задать размер шрифта.font(STRING) — Задать шрифт. Название шрифта.hl|syntax(STRING) — Задать подсветку синтаксиса. Допустимы все имена, доступные в меню. Например, для C++ введите C++.icon-bar-color(STRING) — Установить цвет панели пиктограмм. Шестнадцатиричное значение, например, #ff0000.icon-border[ЛОКОВОЕ] — Включить или отключить отображение контура пиктограммы.indent-mode(STRING) — Установить режим автоматического отступа. Варианты: none, normal, cstyle, haskell, lilypond, lisp, python, ruby и xml.indent-pasted-text[ЛОКОВОЕ] — Включить или отключить настройку отступа текста, вставленного из буфера обмена.indent-width(INT) — Установить ширину отступа.keep-extra-spaces(BOOL) — Сохранять дополнительные пробелы при расчёте ширины отступа?line-numbers(BOOL) — Включить или отключить отображение номеров строк.newline-at-eof(BOOL) — Добавить пустую строку в конец файла (EOF) при сохранении документа.overwrite-mode(BOOL) — Включить или отключить режим перезаписи.persistent-selection(BOOL) — Включить или отключить постоянное выделение.replace-tabs-save(BOOL) — Включить или отключить преобразование табуляции в пробел при сохранении.replace-tabs(BOOL) — Включить или отключить динамическое преобразование табуляции в пробел.remove-trailing-spaces(STRING) — Удалить конечные пробелы при сохранении документа. Допустимые значения:none, - или 0: никогда не удалять конечные пробелы;moded,mod, + или 1: удалять конечные пробелы только в изменённых строках. Изменённые строки помечает система модификации строк.all, * или 2: удалять конечные пробелы во всём документе.
scrollbar-minimap(BOOL) — Показать мини-карту полосы прокрутки.scrollbar-preview(BOOL) — Показать предварительный просмотр полосы прокрутки.scheme(STRING) — Установить цветовую схему. Строка должна содержать название цветовой схемы, существующей в конфигурации.selection-color(STRING) — Установить цвет выделения. Шестнадцатиричное значение, например, #ff0000.show-tabs(BOOL) — Включить или отключить визуальный символ табуляции.smart-home(BOOL) — Включить или отключить переход в начало строки.tab-indents(BOOL) — Включить или отключить отступ клавишей Tab.tab-width(INT) — Установить ширину отображения символа табуляции.word-wrap-column(INT) — Установить ширину строки для переноса слов.word-wrap-marker-color(STRING) — Установить цвет маркера переноса слов. Шестнадцатиричное значение, например, #ff0000.word-wrap(BOOL) — Включить или отключить перенос слов.
Регулярные выражения
В файле настроек .kateconfig доступны регулярные выражения. Как и обычные переменные регулярные выражения можно перечислять, разделяя точкой с запятой. Например, для всех файлов JSON и XML установить отступ в 2 пробела:
kate-wildcard(*.json;*.xml): indent-width 2;С помощью регулярных выражений можно выстраивать сложные правила. Например, необходимо указать следующие настройки:
- для всех файлов: табуляцию заменить на 4 пробела, установить отступ в 4 пробела;
- для файлов XML установить отступ в 2 пробела;
- для файлов Makefiles не заменять табуляцию на пробелы.
kate: tab-width 4; indent-width 4; replace-tabs on;
kate-wildcard(*.xml): indent-width 2;
kate-wildcard(Makefile): replace-tabs off;В файле настроек .kateconfig можно указать MIME тип файла и установить для него значения. Например, установить для файлов с исходным кодом на языке Go отступ в 4 пробела:
kate-mimetype(text/x-go): indent-width 4;