Текстовый редактор Kate. История о переносе настроек

Содержание
  1. О переносе настроек вообще
  2. О переносе настроек Kate
  3. О переносе своих сниппетов
  4. Пятно на солнце
  5. Что дальше? Вместо заключения

Ранее я почти не говорил о базовых настройках Kate, типа панели инструментов, горячих клавиш etc. Однако это не значит, что я ими не занимался, ибо эти настройки зело способствуют производительности сочинительского труда, и со временем образовавшаяся прореха будет заштопана. Пока лишь скажу, что настройки Kate многочисленны, разнообразны и, как только что отмечалось, весьма полезны. Но, хотя в принципе они не сложны, но требуют отнюдь не нулевого времени, да кое-что и забывается.

О переносе настроек вообще

За последний год мне пришлось много раз воспроизводить настройки KDE и штатныж приложений, в том числе и Kate, в системах, установленных на различных носителях реальной машины (она у меня сейчас одна), или в многочисленных виртуалках. И пока я «чего-то помню, и меня ещё не замочили», решил для памяти описать этот процесс. Чему благоприятствовали обстоятельства: два (почти) идентичных M.2’шных накопителя. На одном из них имел место быть MX Linux, в девичестве первой субверсии 21 wildflower, который прослужил мне эти два с лишним года всяческих экспериментов. Он постоянно обновлялся, когда мне, иногда, помимо этого, почему-то, требовалась и практически поработать.

А второй носитель M.2 и был полем для экспериментальных развлечений: на нём побывали и EndeavourOS, и XeroLinux, и CachyOS, и даже Liya с Cinnamon в качестве десктопа (в память о старой любви, которая, как известно, не ржавеет).

Когда же время экспериментов подошло к концу, и я понял, что всё возвращается на круги своя, это устройство послужило полем для установки MX Linux 23 Libretto (в KDE-редакции, разумеется), на котором (в том числе и) отрабатывался процесс переноса конфигов.

Самый простой способ воспроизвести настройки программы материнской системы во всех её реальных и виртуальных клонах — тупо скопировать настроечные файлы из первой (обычно они называются rc-файлами) туда, куда надо в данный момент. Этот способ я 20 лет использовал, например, для Zsh — при всех своих немерянных достоинствах этот шелл, работающий без подходящего конфига, представляет душераздирающее зрелище. Вроде стриптиза в исполнении жены парторга…

О переносе настроек Kate

Как уже говорилось, настройки Kate многочисленны и разнообразны, так что не странно, что переносом одного rc-файла, и даже нескольких, тут не обойдёшся. А поскольку функционал Kate разрастался исторически, то и определяющие его конфиги появлялись постепенно. И теперь файлы, имеющие отношение к настройке Kate, не сосредоточены, как для большинства приложений, в определённых подкаталогах каталога $HOME/.config/: например, конфиги текстового редактора Geany лежат в /home/alv/.config/geany/, все бессчётные настройки браузера Vivaldi собраны в /home/alv/.config/vivaldi/, и так далее.

Конфиги же Kate можно обнаружить в разных частях домашнего каталога пользователя, иногда весьма неожиданных. Так что первой задачей было выявить все файлы, которые могла влиять на внешний вид и поведение редактора. Именно могли — разбираться, как и почему они это делают, я не собирался.

Не смотря на многочисленность таких файлов и их разбросанность, всё оказалось не так страшно. Достаточно оказалось скопировать

  • все файлы вида kate*rc непосредственно из каталога /home/alv/.config/ исходной системы в целевую, и
  • каталог /home/alv/.config/kate/ целиком.

Это — на всякий пожарный, заведомо с избытком. Поэтому копирование лучше всего делать в старом добром потомке лейтенанта Шмидта командира Нортона — в Midnight Commander’е. В нём не надо думать об атрибутах файлов — они при настройках mc по умолчанию всегда наследуются целиком:

Илл. 51. Сохранение атрибутов файлов при копировании через mc
И можно автоматически пропускать файлы при идентичности «исходника» и «целевика»:
Илл. 52. Пропуск идентичных файлов

А сомнительных случаях — и быстро просмотреть их содержимое через F3.

О переносе своих сниппетов

Я перенёс все перечисленные конфиги из старой системы в новую — и остался в целом доволен результатом: Kate в новой системе стал очень похожим на настоящий. За одним очень маленьким исключением: в новой системе из Kate пропали куда-то все мои сниппеты — как честно потибренные и отредактированные непосильным трудом (для ввода тегов HTML), так и собственноручно созданные трудом, ещё более непосильным (для ввода типографских символов).

Повторить этот титанический мне очень не хотелось, и я вспомнил о технологии KParts, в частности, о ktexteditor — той его части, которая отвечает за работу с текстами и в Kate, и в KWrite (и даже в таких средах разработки, как kdevelop).

И тут мои усилия сразу увенчались успехом: в каталоге /home/alv/.local/share/ktexteditor_snippets/ обнаружилсь не только оба моих комплекта сниппетов, но и исходный комплект, над которым я издевался при и изготовлении своего HTML-комплекта (во вложенных подкаталогах data/ и ghns/, соответственно). Скопировав их в соответствующие места новой системы, я с радостью увидел свой любимый Kate, (почти) полностью готовый к употреблению:

Илл. 53. Kate, (почти) готовый к употреблению

В подтверждение чему я и сочинил Историю о переносе настроек Kate.

Пятно на солнце

В ходе сочинения этой Истории обнаружилось, что и на солнце бывают пятна, данном случае, правда (пока?) только одно: во всех сниппетах слетела привязка к ним горячих клавиш. Хотя все клавиатурные комбнации, установленные для сниппетов, прописались в /home/alv/.config/katerc.

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

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

Что дальше? Вместо заключения

Хотя для меня перенос конфигов закончился хорошо, повторить процедуру в описанном виде я бы не хотел. Нельзя или сделать её попроще?

Напрашивающийся ответ — просто скопировать все конфиги из домашнего каталога старой системы в $HOME системы новой. Однако «это было бы, как говорил Остап, — „Низкий сорт. Не чистая работаа”.» Ведь за два года работы в старой системе скопилось немало остатков жизнедеятельности…

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

Автор: alv

Про себя напишу потом

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