Страницы

Поиск по вопросам

среда, 24 октября 2018 г.

Emacs. Можно ли переназначить “без последствий” часть клавиатурных сокращений?

Можно ли в Emacs переназначить часть операций с текстом/файлами под более привычные(удобные) для себя комбинации клавиш, без конфликтов с другими командами? Или стоит изучить те которые по умолчанию? Пробовал Vim, но там ІМНО не стоит изменять хоткеи по умолчанию, да и там все довольно логично,да и много команд реализуются одной клавишей, так что не увидел особой необходимости в замене.


Ответ

Стандартные сочетания архаичны и загадочны, существует несколько подходов в основе. Хорошие примеры: Evil Mode (vim-аддиктам), Spacemacs, Ergo Emacs, Boon, fingers
Технической проблемы тут нет, это вопрос эргономики и управления сложностью конфигурации.
Вот из Vim на EMACS можно перейти только благодаря Evil-mode, ценой громоздкого конфига, однако с божьей помощью можно отказаться от Evil-mode, сохранив при том модальность. К вопросу, HJKL по-умолчанию в EMACS выполняют несущественные функции (С-h дублируется ), следовательно, такое можно и перемапить. FBNP-навигацию же, естественную для EMACS, и C-x-... M-x-..., C-c-..., повсеместно используемое - проще оставить нетронутым:
(use-package god-mode
:bind ( ( "M-i" . god-local-mode ) ( "" . god-local-mode ) ( "C-j" . next-line ) ( "C-k" . previous-line ) ( "C-h" . backward-char ) ( "C-l" . forward-char ) ( "C-d C-f" . delete-forward-char ) ( "C-d C-b" . backward-delete-char-untabify ) ( "C-d C-e" . kill-line ) ( "C-d C-w" . delete-trailing-whitespace ) ( "C-d C-a" . delete-to-begin ) ) )
В стиле Vi, одну клавишу можно использовать для целого ряда действий. Например, удаление строки dd, до конца строки: de, до начала строки: da, вперёд: df, назад: db etc. См. также Hydras.
Хороший стиль - повторные нажатия одной клавиши + модификатор: v - старт выделения слова, повторное v - expand-region (увеличить выделение), M-v - contract-region (уменьшить выделение), Shift-V - выделение строки, но и стандартный C-Space продолжает работать.
Вариант простого конфига в этом духе
Есть альтернативы god-mode, например Modalka

Комментариев нет:

Отправить комментарий