Comments (8)
Сегодня, решив продолжить разбираться, установил совершенно чистую версию init.lua, где только lazy и ваш плагин, случайно это обнаружил - по ESC все нормально, по Ctrl-C не работает. Не знаю, насколько это можно считать багом и можно ли пофиксить, но все-таки было бы хорошо, чтоб работало и по этой клавише. В любом случае, если посчитаете нужным, закрывайте issue.
Если проблема в отсутствии маппинга на Esc
, то это не баг. Багом это будет если вы вернете маппинг, а плагин не будет работать. Но по идее все будет хорошо, так как действия плагина привязаны не к сочетаниям клавиш, а к событиям типа InsertLeave
/ InsertEnter
.
Пользуясь случаем, хочу вам сказать огромное спасибо за ваш плагин, которым пользуюсь уже не менее десятка лет. Благодарю от души!
И вам спасибо за оценку!
PS. Хм... Кстати, решил проверить про config и init - с config не работает, только init подавай. Причем с config, :echo g:XkbSwitchLib показывает правильный путь к библиотеке, а g:loaded_XkbSwitch - 1, но не работает и :EnableXkbSwitch не дает эффекта. Странно, может lazy не так уж и "невиновата".
То что вы описываете работает правильно. Из того что я увидел в lazy.nvim, последовательность загрузки сейчас такова: init()
-> source plugins (загрузка в т.ч. плагина vim-kbswitch)
-> config()
. В плагине предусмотрено, что установка let g:XkbSwitchEnabled = 1
должна проходить до загрузки плагина. Поэтому с config()
это не работает.
В любом случае, я пока на neovim, наверное, переходить в ближайшие дни не буду. Пока поэкспериментирую, когда время будет.
Я сам на neovim уже два года и только положительные впечатления. Не из-за lua (мне все равно какой там язык), а в основном из-за встроенного LSP и tree-sitter, а также из-за огромного выбора новых плагинов. Конфиг адаптировал из старого vim, поэтому он на vim script и находится в файле init.vim. Вот он: https://github.com/lyokha/dotfiles/blob/master/.config/nvim/init.vim. Возможно вам будет интересно, но он большой и на lua там только некоторые настройки.
from vim-xkbswitch.
Вот что я обнаружил в :help i_CTRL-C
:
CTRL-C Quit insert mode, go back to Normal mode. Do not check for
abbreviations. Does not trigger the |InsertLeave| autocommand
event.
Событие InsertLeave
не триггерится, а значит действительно, vim-xkbswitch не сработает и нужен маппинг на Esc
.
from vim-xkbswitch.
А что говорит :echo g:XkbSwitchLib
после установки в lazy?
from vim-xkbswitch.
А так же интересно, что скажет :echo g:loaded_XkbSwitch
.
from vim-xkbswitch.
Lazy сначала сорсит плагин, а только затем выполняется ваш init
в котором выполняется let g:XkbSwitchEnabled = 1
, нужно как-то сделать, чтобы было наоборот, то есть функция init
здесь не подходит.
from vim-xkbswitch.
Похоже что в вашем конфиге надо просто заменить init = ...
на config = ...
.
from vim-xkbswitch.
А нет, видимо я неправ и init()
наоборот, вызывается до загрузки плагина, а config()
после.
init()
is always called during startup, before even loading start plugins. That's not supposed to contain code that depends on any plugin.
(отсюда: folke/lazy.nvim#283).
Тогда возвращаюсь к вопросу что говорят :echo g:XkbSwitchLib
и g:loaded_XkbSwitch
?
from vim-xkbswitch.
Доброго дня.
В общем, покопавшись с утра, обнаружил, что (как обычно) во всем виноват я. До маппингов я еще не дошел, а уже багрепорты строчить начал :). Я никогда ESC не использую для выхода в нормальный режим, привык Ctrl-C, который у меня в моем старом .vimrc замаппен в insert mode на ЕSC (наверное есть какие-то минусы в этом, но вроде нормально).
Сегодня, решив продолжить разбираться, установил совершенно чистую версию init.lua, где только lazy и ваш плагин, случайно это обнаружил - по ESC все нормально, по Ctrl-C не работает. Не знаю, насколько это можно считать багом и можно ли пофиксить, но все-таки было бы хорошо, чтоб работало и по этой клавише. В любом случае, если посчитаете нужным, закрывайте issue.
Понятно, что lazy тут не при чем. Прошу прощения, что ввел в заблуждение (c vim.plug у меня была другая экспериментальная папка конфига для neovim, где маппинги присутствовали).
По init - да, это была уже перестраховка, lazy = false должно было быть, вроде, достаточно.
Пользуясь случаем, хочу вам сказать огромное спасибо за ваш плагин, которым пользуюсь уже не менее десятка лет. Благодарю от души!
PS. Хм... Кстати, решил проверить про config и init - с config не работает, только init подавай. Причем с config, :echo g:XkbSwitchLib
показывает правильный путь к библиотеке, а g:loaded_XkbSwitch
- 1, но не работает и :EnableXkbSwitch
не дает эффекта. Странно, может lazy не так уж и "невиновата". В любом случае, я пока на neovim, наверное, переходить в ближайшие дни не буду. Пока поэкспериментирую, когда время будет.
На всякий случай - вот мой чистый сегодняшний ~/.config/nvim/init.lua
:
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
require("lazy").setup({
{
'https://github.com/lyokha/vim-xkbswitch',
lazy = false,
-- init = function()
config = function()
vim.g.XkbSwitchEnabled = 1
end,
},
})
from vim-xkbswitch.
Related Issues (20)
- [question] how to change input method in insert mode? HOT 6
- xkb-switch triggered by neoclide Coc documentation float window HOT 2
- vim-xkbswitch does not remember the layout HOT 1
- Windows 10, gvim/nvim-qt, stopped working - how to debug/diagnose? HOT 3
- Unexpected output to textarea HOT 2
- Появление ошибок во время открытия файла HOT 15
- Switch layout when in normal mode HOT 5
- Sway support HOT 1
- Question. How can I get current layout? HOT 2
- How to use vim-xkbswitch with i3wm? HOT 2
- Bspwm Support HOT 1
- Не находит бинарник xkb-switch HOT 1
- Can't restore Normal mode keyboard layout when leaving search '/' mode HOT 6
- mapping duplicate for script local mapping HOT 10
- Keymap assistance in Normal mode not working HOT 8
- Не удается заставить работать на Ubuntu 22.10 HOT 5
- Doesn't switch language when exiting Insert mode HOT 1
- How to make it work on wsl? HOT 1
- XkbSwitchAssistSKeymap is deprecated but is mentioned in help HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vim-xkbswitch.