Neovim: важное изменение в плагине better-escape.nvim

Снова в рубрику "На третий день индеец Соколиный Глаз заметил..."

Опубликовано: 2024-10-18

Категория: OpenBSD

Теги: nvim хауту neovim

Когда-то я писал о том, как настроил в любимом редакторе Neovim одну полезняшку: выход из режима вставки по быстрому нажатию сочетания "ii" либо "шш" - чтобы вне зависимости от того, какая раскладка сейчас активна, я не тянулся к клавише Esc для выхода из режима вставки в командный режим, а выходил в оный максимально для себя комфортно (да, это, разумеется, не препятствует написанию слов вроде "ascii" или "шшоки" - ключевое слово там "быстрому", соответствующий таймаут можно подбирать под себя индивидуально).

=> Снова об автопереключении раскладки клавиатуры

Использовал я для этого специальный плагин better-escape.nvim,

=> https://github.com/max397574/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 = "",
            },
            ш = {
                ш = "",
            },
        },
    },
}

Более развесистый дефолтный конфиг и примеры использования функций в этом плагине (а теперь и такое возможно) доступны на страничке самого разработчика (ссылка выше по тексту), да и код плагина на lua весьма компактен и прост для понимания.

Продолжу с удовольствием пользоваться.

Proxy Information
Original URL
gemini://muu-online.ru/2024/10/betterescape.gmi
Status Code
Success (20)
Meta
text/gemini;
Capsule Response Time
288.230447 milliseconds
Gemini-to-HTML Time
2.140525 milliseconds

This content has been proxied by September (3851b).