Истории про редакторы. Kate и KWrite. Часть 1

В первом же абзаце истории про Vivaldi истории про Vivaldi говорится о важности для сочинителя выбора «правильного» браузерв. И это так: прежде чем стать чукчей-писателем, чукче необходимо хоть немного побыть чукчей-читателем. Однако, когда происходит его трансформация из второго состояния в первое, самым главным для него оказывается выбор главного рабочего инструмента. То есть текстового редактора.

Преамбула

Сейчас я не буду вдаваться в рассмотрение вопроса — почему таковым выступает именно редактор, а не word-процессор, как обычно считается. Не буду много говорить и про выбор редактора вообще: этой истории будет посвящена отдельная история. Замечу только, что после отсеивания, по тем или иным причинам, всех консольных редакторов и редакторов новомодных, таких, как Atom и его производные, в «сухом остатке» обнаружились три инструмента, достойные истинного сочинителя. Имена их были: Komodo Edit, Geany и Kate.

У Komodo Edit со временем обнаружилась одна мелкая, но неприятная особенность: он не способен сохранять большие (начиная примерно с 1 МБ) текстовые документы, использующие какой-либо язык разметки, например, HTML — он сохраняет их только в формате plain text.

Напротив, Geany именно в этом случае показывает себя во всём блеске, позволяя отслеживать структуру заранее размеченного текста любого разумного объёма. Однако именно эта его функция начала давать сбои в последних версиях. А для меня она очень важна при сведении различных мелких (и не очень) заметок в единый документ типа е-буки. Так что оставался Kate.

Редактор Kate является одним из штатных приложений среды KDE, начиная с её версии 2.2 (вышедшей в августе 2001 года). Так что, использование его в системах, на KDE основанных, было естественным. Кроме того, Kate показал себя очень удобным инструментом при наборе «из головы» и редактировании текстов любого объёма и содержания.

Хотя от применения Geany мы с Мануалом не отказались — ведь у него тоже есть своя экологическая ниша. Если Kate является главным инструментом для набора текстов, то Geany не имеет себе равных для сведения отдельных, уже набранных фрагментов в нечто единое — монументальное и структурированное. Если, конечно, у него это получается, что в данный исторический момент бывает не всегда…

В штатном комплекте KDE Kate — не единственный текстовый редактор. Кроме него, почти во всех сборках этой среды присутствует ещё и KWrite. И по ряду причин, которые станут ясны в дальнейшем, рассказ об особенностях Kate следует начать с краткого рассмотрения последнего.

Про KWrite

В сборках современных версий KDE для современных же дистрибутивов Linux’а KWrite выступает в роли ну очень младшего брата Kate, и иногда не включается в них вообще. Впрочем, бывает и наоборот — некоторым майнтайнерам дистрибутивов Kate представляется слишком сложным и, подобно плезозаврам, не нужным народу. По крайней мере, народу простому. Однако и те, и другие столь же не правы, как Энгельс с Каутским — каждый из этих редакторов имеет свою сферу применения.

Общие сведения

KWrite не всегда находился на вторых ролях. Сразу после создания KDE, ещё в «до-первых» его версиях, штатным редактором в этой среде был некий KEdit, внешне очень напоминавший приснопамятный «блокнотик» из Windows 3.1/95. Однако уже тогда он супротив последнего был что столяр супротив плотника. А после появления KWrite тот стал считаться «продвинутым», тогда как за KEdit’ом, вплоть до его кончины, сохранялось звание редактора начального уровня. И так было вплоть до появления Kate, который уже KWrite низвёл на роль редактора-«начинальника».

Нынешний редактор KWrite был переписан с использованием технологии KParts — она позволяет программам использовать функциональные возможности других программ. В частности, за «продвинутые» возможности редактирования текстов отвечает модуль KTextEditor (пакет ktexteditor), который составляет основу и KWrite, и Kate.

В результате KWrite стал совсем похож на настоящий, причём продолжает своё развитие — его последняя версия имеет номер 21.12.2 и датируется 3 февраля 2022. Он действительно представляет собой очень облегчённый Kate и функционально аналогичен таким редакторам, как Leafpad и Mousepad. И, подобно им, имеет монодокументный интерфейс (далее SDI — Single Document Inteface). То есть он позволяет одновременно редактировать не более одного файла в каждом окне. Для работы более чем с одним докуменом требуется запуск отдельного экземпляра программы — что обычно не смертельно, но не всегда удобно.

В числе функций KWrite имеются:

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

С прочими функциями редактора можно ознакомиться в Руководстве пользователя, вызываемом или из главного меню (пункт Справка —> Руководство пользователя…), или стандартной клавишей F1. В сети имеется и его русский перевод. Правда, не сказать, что оба они очень отягощены сведениями, которые могли бы представлять интерес для применителя-непрограммиста.

Как и редакторы класса *pad’ов для Linux’а, KWrite хорошо подходит для редактирования пользовательских конфигов — не стрелять же из пушки Kate по воробьям dot-файлов? Впрочем, KWrite может быть запущен с правами администратора. Сделать это можно несколькими способами.

Первый способ — воспользоваться командой kdesu. Для этого не обязательно открывать полноценное терминальное окно — можно комбинацией клавиш Alt+F2 вызвать командную строку минитерминала, и вписать туда конструкцию типа, например, kdesu kwrite /etc/apt/sources.list, и ввести пароль.

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

Второй способ — получить привилегии администратора из файлового менеджера Dolphin. Для этого из контекстного меню по ПКМ на имени файла, требующего редактирования, выбирается пункт Действия root:

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

Так или иначе, в обоих случаях файл (в примере /etc/apt/sources.list) будет открыт с привилегиями суперпользователя, и его можно подвергать любым (разумным) издевательствам:

Кроме того, напрашивающееся применение редактора KWrite — сочинение мелких голо-текстовых заметок, лишённых какой-либо разметки. Однако в процессе сочинения данного материала оказалось, что в KWrite можно не без удобства создавать также довольно объёмные документы с разметкой. И это было немедленно востребовано, о чём пойдёт речь в следующей части истории.

Для чего он понадобился

Я применял Kate очень давно — причём не только в KDE, но и, с выходом 5-й версии этой среды, в системах, основанных на Gtk. в частности, во всех дистрибутивах со средой Cinnamon (см. материалы сайта Cinia). Столь же давно я настраивал этот редактор «с нуля», обычно же просто перетаскивал его конфиги с системы на системы и с машины на машину. Так что порядком подзабыл, как это делается. Тем более, что процесс этот целиком никогда не описывал, ограничиваясь отдельными моментами.

Так что появилась мысль — описать на этом сайте процесс настройки Kate in corpore. Однако делать это в нём самом показалось мне нецелесообразно. Описывать процесс настройки чего бы то ни было надо по ходу дела, иначе чего-нибудь да забудешь. Но и писать в привычном, но ненастроенном редакторе что-либо объёмное мучительно. А материал про настройку Kate обещал быть немаленьким. Так что напрашивалось привлечь к этому делу KWrite.

Конечно, и KWrite тоже нуждался в предварительной настройке, тем более что я и впредь рассчитывал использовать его для мелкомасштабных работ. Однако поскольку возможностей в нём гораздо меньше, нежели в Kate, то и настраивать его должно было быть гораздо проще. Как оно и оказалось, что будет видно из дальнейшего рассказа.

Да, чтобы описывать настройку Kate в KWrite, следовало иметь в своей системе оба эти редактора. Что в минималистических сборках дистрибутивов не гарантируется. Так, начинал я эту историю в дистрибутиве Netrunner Core, где имелся Kate, но отсутствовал KWrite. Вскоре же это дело было продолжено в минимальной сборке дистрибутива PCLOS — Darkstar, где всё оказалось точно наоборот. Правда, в репозиториях они имелись оба, так что проблем с их установкой не было.

А потому в обоих случаях я начал с установки недостающих пакетов. В первой системе, являющейся дериватом Debian stable (и где отсутствовал KWrite), это выглядело так:

# apt install kwrite

PCLinuxOS — rpm dased система, отдалённый потомок древней Mandrake, использующая в качестве менеджера пакетов apt-rpm (ну совсем как наш Altlinux — то есть хронологически скорее наоборот). В её минимальной сборке отсутствует, наоборот, Kate. И там для его обретения требуется конструкция

# apt-get install kate

В обоих случаях указанные команды выполняются от имени администратора — права его получаются по умолчанию разными способами. Однако здесь и далее привилегии суперпользователя в примерах символизируются указанием символа # в приглашении командной строки (команды, таковых не требующие, в примерах будут, по традиции, начинаться со всенародно любимого символа $.

После установки оба редактора оказываются в главном меню KDE. В тех дистрибутивах, которые более или менее следуют апстриму, их можно найти в секции Стандартные. Ну а меню PCLOS’а от апстрима достаточно далёкое, и имеет специальную секцию, которая так и называется — Редакторы.

Настройка KWrite

Возвращаемся, однако, к нашему KWrite и его настройке. Необходимость в коей очевидна из первого на него взгляда после запуска:

Зрелище довольно дущераздирающее, но легко исправимое. Для чего в главном меню редактора существует специальный пункт — Настройка. Кстати, во всех «родных» KDE-приложениях всё их конфигурирование собрано именно там, а не зарыто в глубине пунктов Правка —> Настройки, как в приложениях на базе Gtk, что образовалось под тлетворным влиянием сами знаете какой системы.

Так вот, раскрывая пункт Настройка, мы видим в нём вложенный пункт, который, как ни странно, называется Настроить KWrite. Вызываемое через этот пункт окно включает четыре секции, каждая из которых содержит от двух до шести вкладок. Большинство опций конфигурирования включаются или отключаются установкой установок «птичек» в соответствующих боксах.

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

Первое — это, конечно, конечно, вахта общесистемных настроек среды (в данном случае KDE). А вот со вторым можно было бы и не очень спешить. В KWrite шрифты окна редактирования масштабируются, как это издревле повелось в браузерах — комбинациями клавиш Control++ (увеличение) и Control+ (уменьшение); Control+0 — возвращение размера шрифта к исходному состоянию. Того же результата можно добиться, прокручивая колёсико мыши при нажатом Control‘е от себя (увеличение) или к себе (уменьшение).

Правда, в обоих случаях масштабирование шрифта будет действовать только в текущем сеансе редактирования — увековечить изменение можно лишь сменой шрифта в настройках KWrite.

Рассматривать все опции конфигурирования не буду — их слишком много, и потребности в большинстве я никогда не испытывал. Так что остановлюсь только на тех, которые представляются важными нам с Мануалом. На данной вкладке в этой секции опций, подлежащих включению — две: Показать счётчик слов и символов и Dynamic Word Wrap (то есть динамический перенос слов). А во второй вкладке той же секции убирается включённая по умолчанию опция Show minimap.

В секции Цветовые схемы понимаешь, что KWrite не так прост, как кажется: это действительно редактор в первую очередь для программистов. В нём предусмотрена подсветка синтаксиса для бессчётного количества языков программирования и разметки — у меня не хватило терпения пролистать весь список. Тем более что реально мне нужна только подсветка HTML-разметки:

В секции Редактирование мы с Мануалом ограничиваемся включением автоматической вставки закрывающей скобки (Brackets). Разборки с прочими опциями редактирования (весьма многочисленными) оставляем на усмотрение заинтересованных лиц:

Наконец, в секции Открытие и Сохранение определяются такие вещи, как кодировка, конец строки, сохранение резервных копий файлов при записи и так далее. Во вкладке Типы файлов можно снова убедиться в изобилии оных — о большинстве таких типов я никогда и не слышал:

Может показаться, что я слишком подробно говорю об опциях конфигурирования KWrite. Однако всё сказанное призвано подготовить читателя к настройке Kate, где таких опций будет существенно больше.

Панель инструментов KWrite

Кроме просто настроек KWrite, в том же пункте главного меню можно отключить такие элементы интерфейса, как Показать меню, Показать панель инструментов, Показать строку состояния. По умолчанию все они включены — и пусть таковыми и остаются: нужность панелей меню и инструментов в обосновании не нуждается. Статусная же строка — единственное место, где можно получить информацию о количестве символов в документе. А любая профессиональная гиена пера клавиатуры знает, насколько это важно с точки зрения снискания водки насущной (особенно если с колбасой).

Напротив, пункт Показать путь в заголовке окна отключён по умолчанию. Однако включить его часто бывает полезным — для ориентировки в открытых документах:

Сама по себе панель инструментов также может (а значит, и должна) быть настроена. Что делается через контекстное меню по ПКМ на ней же:

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

Тут можно видеть, что инструментальных панелей действительно как бы две: Основная панель инструментов KWrite и Панель инструментов KatePartView, хотя в итоге они совмещаются в общей Панели инструментов. Первая — это реликт до-kpart’овских времён:

Вторая панель содержит пиктограммы, общие для KWrite, Kate и таких средств разработки, как KDevelop:

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

Теперь мы во всеоружии — можно приступать к настройке Kate, подробно документируя все свои действия. Что будет предметом второй части.

Добавить комментарий