Я рассматриваю возможность дать Evil Mode шанс. Я много искал, чтобы найти, как вы используете его, и все просто делятся своими настройками.
Что я не могу понять, так это то, что когда вы устанавливаете и активируете Evil Mode, автоматически используются ключи Vim или вам нужно настроить их в соответствии с вашими потребностями? Другими словами, когда я активирую это, я должен изменить что-нибудь, или все будет работать?
Еще кое-что. В Emacs при установке пакетов вы должны использовать определенные ключи для некоторых задач. Например, в AUCTeX вы используете C-c C-c
для компиляции, так что в Evil Mode какие ключи вы используете для пакетов? Вы должны настроить их для каждой упаковки?
evil
. Его использование сразу же отвечает на ваш первый набор вопросов, а в руководстве содержится дополнительная информация о настройке привязок клавиш.evil
и работа с ним на несколько минут достаточно, чтобы показать, что он использует привязки Vim по умолчанию. Более того, сложно представить, чтобы кто-то столкнулся с проблемой написания слоя эмуляции Vim, но не предоставил привязки клавиш Vim по умолчанию.Ответы:
Зло - это, по сути, глобальный второстепенный режим, который позволяет использовать несколько дополнительных комбинаций клавиш поверх Emacs и поставляется с соответствующими командами редактирования, которые вы будете использовать в них. Он специально создан для повторного использования как можно большего количества существующего кода Emacs Lisp для лучшей функциональной совместимости и меньших затрат ресурсов . Например, вы обнаружите, что движение окна было отменено из windmove.el .
После активации
evil-mode
он включается для всех буферов, и выбирается начальное состояние (Vim называет их режимами, но режимы уже означают что-то другое в Emacs, поэтому Зло называет их состояниями). Это состояние является просто картой ключей, поэтому команды, связанные с этой картой ключей, будут работать, а любые другие ключи будут переданы следующей ответственной карте ключей. Злые разработчики сделали ткнуть несколько отверстий нарочно в них, как и дляC-g
,C-x
иC-c
(keybinds с помощью клавиши мета будет просто работать , поскольку Vim не использовать его вообще).По сути, это означает, что использование
gg
в нормальном состоянии будет делать правильные вещи. Это также означает, что использованиеC-c C-c
вызовет соответствующую команду Emacs. Если вы обнаружите полезную команду, которая будет скрыта, вы можете переключиться в состояние Emacs с помощьюC-z
(и переключиться обратно на предыдущую, снова нажав его), а затем настроить Evil для использования другого начального состояния для рассматриваемого режима или изменить его. раскладки клавиш напрямую. Если состояние Emacs выбрано для буфера, в котором вы бы предпочли иметь как минимум движение в стиле Vim, вы можете использовать состояние движения и иметь их. Количество настроек остается таким же небольшим, как вам хотелось бы.Взгляните на мой конфиг, чтобы понять, как может выглядеть более сложная конфигурация.
источник