|
|||||||
Что настроить в редакторе Micro, чтобы его интерфейс стал удобнее и привычнее
Время создания: 20.11.2017 13:42
Текстовые метки: micro editor, micro, editor, редактор, настройка, первичная, привязка, клавиши, клавиатура, keys, binding
Раздел: Компьютер - Linux - Редакторы текста - Текстовый редактор micro
Запись: xintrea/mytetra_syncro/master/base/1511174536fwax013mmg/text.html на raw.github.com
|
|||||||
|
|||||||
Общие настройки редактора Общие настройки находятся в файле: /home/<user>/.config/micro/settings.json Желательно установить опции:
Настройки клавиатуры Внимание! Все нижеописанные настройки клавиатуры производились в терминале Konsole. В других терминалах определение и поведение сочетаний клавиш может отличаться. По-умолчанию, в старых версиях редактора micro, файл настройки клавиатуры не создан. Его можно создать вручную: touch ~/.config/micro/bindings.json В более новых версиях, как минимум в 2.0.3, этот файл созадется автоматически. Его содержимое должно быть в формате Json, примерно так: { "CtrlY": "Undo", "CtrlZ": "Redo" } Получить помощь по возможным комбинациям клавиш можно в самом редакторе, нажав Ctrl+E (переход в командный режим), и введя команду: help keybindings Начиная с версии 1.3.2 появилась проблема, которую обещают исправить в версии 1.3.4. Проблема в том, что решили использовать клавишу ESC для ввода магических кодов со стартовым кодом 27. Кому это надо - отдельный вопрос. Факт в том, что в Micro перестали работать:
Для того, чтобы вернуть нормальное поведение ESC, необходимо: установить micro 1.3.1 или ниже (автор статьи использует вообще 1.2.0). И в файле bindings.json надо прописать опцию: "Esc": "Quit" После такой настройки клавиша ESC заработает как положено. Другими словами: в версиях 1.3.2 - 1.3.x данная настройка не работает. UPD: Проверено, что настройка заработала в версии 1.4.0. Еще стоит прописать такие опции для более привычного поведения курсора во время выделения: "ShiftHome": "SelectToStartOfLine", "ShiftEnd": "SelectToEndOfLine", "CtrlShiftRight": "SelectWordRight", "CtrlShiftLeft": "SelectWordLeft", "CtrlRight": "WordRight", "CtrlLeft": "WordLeft" Эти опции заставят работать выделение до конца/начала строки при нажатии Shift-Home/End. А так же заработает перепрыгивание и выделение по словам при нажатой клавише Ctrl. Так же можно настроить выделение больших кусков текста (размером с экранную страницу) по клавишам Shift+PgUp / Shift+PgDown. Для этого необходимо прописать следующие биндинги клавиш: "ShiftPageDown": "SelectPageDown", "ShiftPageUp": "SelectPageUp" Внимание! Если редактор micro используется в консоли Konsole, то нужно произвести дополнительные настройки, так как Konsole имеет застаревший баг, который тянется аж с 2004 года (подробности здесь: https://github.com/zyedidia/micro/issues/1637). Для того, чтобы заставить работать сочетания Shift+PgUp / Shift+PgDown в Konsole, надо открыть меню: "Edit Current Profile..." -> "Keyboard" -> "Edit..." -> "Add" В появившемся списке необходимо добавить сочетания: PgUp+Shift+AppScreen \E[5;2~ PgDown+Shift+AppScreen \E[6;2~ Следует обратить внимание, что в данном списке уже существуют комбинации PgDown+Shift-AppScreen и PgUp+Shift-AppScreen и их трогать не надо, так как это другие сочетания. Для невнимательных: разница в том, что написано перед AppScreen - плюс (+) или минус (-). Настройка поиска По-умолчанию, в micro работает поиск и при нажатии F7 и при нажатии Ctrl+F. Вроде бы удобно, зато продолжение поиска вперед и назад сделано самобытными комбинациями Ctrl+N и Ctrl+P. Видимо, имелись в виду VI-подобные комбинации /n (next) и /p (previous). Мало того, по-дефолту клавиша поиска занимает даже не две, а три комбинации: помимо F7 и Ctrl+F вызвать поиск можно клавишей F3, о чем написано в документации на шорткаты: | F3 | Find | | ... | ... | | F7 | Find | Но зачем нужно такое разнообразие вызова поиска, если при этом не работает по привычным клавишам продолжение поиска вперед и назад? Это исправляется следующим образом. В файле bindings.json надо добавить следующую строчку (надо не забывать следить за запятыми в конце JSON строк), чтобы заработало продолжение поиска вперед: "F3": "FindNext", Продолжение поиска вперед по клавише F3 настроено. А что насчет других комбинаций? А что насчет комбинаций для продолжения поиска назад? Навесить продолжение поиска вперед в старом DOS-стиле не получается вообще: "ShiftF7": "FindNext", - не работает "Shift-F7": "FindNext", - не работает Выходит, что для продолжения поиска вперед остается использовать только кнопку F3. Для поиска назад обычно используется либо комбинация Shift+F3, либо Shift+F7. Коль выше определено, что работает только F3, значит логично сделать и поиск назад по Shift+F3. В явном виде данная комбинация работать не будет. А все потому, что в Konsole при нажатии этой комбинации вместо стандартных скан-кодов генерируется следующая последовательность, которую можно увидеть в RAW-режиме (Ctrl+E > "raw" > Enter): EventKey: Alt-O: "\x1bO" EventKey: 2: "2" EventKey: R: "R" Поэтому, чтобы обойти данную проблему, можно вместо "Shift+F3" написать последовательность "<\x1bO><2><R>". Однако данную последовательность надо писать в виде кодов UTF-символов. Таким образом, строка настройки продолжения поиска назад по Shift+F3 будет выглядеть так: "\u003c\u001bO\u003e\u003c2\u003e\u003cR\u003e": "FindPrevious" Установка редактора Micro в качестве системного Если установить редактор Micro как системный, его подхватит MidnightCommander (mc) и начнет его использовать при редактировании файлов. Нужно только не забыть снять галку "Встроенный редактор" в настройках MC (в англоязычном интерфейсе она называется "Use internal edit"). Чтобы указать редактор как системный, нужно в каталоге пользователя в файле .bashrc прописать строчку: export EDITOR=micro Для принятия изменений надо перезапустить сессию bash. Предполагается, что редактор Micro размещен в директории /usr/bin. |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|