Neovim: важное изменение в плагине better-escape.nvim
Опубликовано 18.10.2024 в OpenBSD
Когда-то я писал о том, как настроил в любимом редакторе Neovim одну полезняшку: выход из режима вставки по быстрому нажатию сочетания "ii" либо "шш" - чтобы вне зависимости от того, какая раскладка сейчас активна, я не тянулся к клавише Esc для выхода из режима вставки в командный режим, а выходил в оный максимально для себя комфортно (да, это, разумеется, не препятствует написанию слов вроде "ascii" или "шшоки" - ключевое слово там "быстрому", соответствующий таймаут можно подбирать под себя индивидуально).
Использовал я для этого специальный плагин better-escape.nvim, установка и конфигурирование которого сводились к прописыванию в конфиг-файле ~/.config/nvim/init.lua
следующих строк:
-- собственно, для установки я пользуюсь менеджером Lazy, нужно
-- лишь прописать упомянутый плагин вместе с прочими
require("lazy").setup({
{ "max397574/better-escape.nvim" }
})
--- и добавить вот такую примитивную конфигурашку
require('better_escape').setup({
mapping = {"шш", "ii"},
timeout = 200,
})
Все это прекрасно работало, пока однажды Индеец Соколиный Глаз не обратил внимание, что Neovim ругается при старте на этот плагин, мол, Rewrite!, прочекай гитхаб разработчика и все такое. Я прочекал - а там действительно мажорный такой rewrite случился, значительно расширяющий возможности и гибкость конфигурирования плагина, а заодно депрекейтящий ключевое слово "mapping".
Теперь конфигурировать этот несомненно нужный плагин для достижения того же результата я должен вот так:
require("better_escape").setup {
timeout = 200,
default_mappings = false,
mappings = {
i = {
i = {
i = "<Esc>",
},
ш = {
ш = "<Esc>",
},
},
},
}
Более развесистый дефолтный конфиг и примеры использования функций в этом плагине (а теперь и такое возможно) доступны на страничке самого разработчика: https://github.com/max397574/better-escape.nvim, да и код плагина на lua весьма компактен и прост для понимания.
Продолжу с удовольствием пользоваться.