Comments (6)
Я закоммитил решение для строк поиска, теперь у них полная поддержка отслежки переключения, такая же как в Insert mode. Это будет работать если у вас vim 8.1 и выше или neovim. Соответственно, переменная g:XkbSwitchAssistSKeymap
теперь deprecated (vim будет ругаться, удалите ее из конфига).
Для keymap assistance команд f
и r
вам реально нужна другая переменная g:XkbSwitchAssistNkeymap
. Полная поддержка переключения раскладки для этих команд не работает, поскольку невозможно поймать событие аосле ввода символа поиска (или замены для команды r
).
Но зато работает keymap assistance. Суть его в следующем. Допустим вы редактировали что-то в режиме ввода на русской раскладке, вышли из него, теперь когда вы введете f
и символ за ним, этот символ будет русский, даже несмотря на то, что системная раскладка будет показывать английский (но airline при этом будет показывать русский!). В следующий раз после выхода из режима ввода, будет запомнена последняя раскладка снова, и это отразиться на командах f
и r
, а также в статусе airline. Если вы не хотите переключать keymap assistance входом и выходом в режим ввода, то можете просто ввести <C-^>
в нормальном режиме - раскладка для этих команд переключится.
Раньше, до последнего коммита, управлять раскладкой в строке поиска можно было тоже только таким вычурным способом, но теперь она поддерживается напрямую и работает совместно с режимом ввода.
from vim-xkbswitch.
Это будет здорово! А в neovim такая же история? Подумываю на него перейти, но пока не решился.
В neovim плагин работает точно так же как в vim. Я сам перешел на neovim почти год назад. Не могу нарадоваться )) Две киллер-фичи neovim, которых нет в vim, лично для меня, это встроенная поддержка LSP и tree-sitter. То, что настройки можно писать на lua наерное тоже хорошо, но первые две фичи - это просто сокровище, делающее vim полноценным IDE, при этом глубоко конфигурируемым. В общем, очень рекомендую именно neovim.
from vim-xkbswitch.
Это не реализовано. В vim просто нет соответствующих автокоманд, на которые можно было бы повесить функциональность переключения раслкладки при выполнении команды f
.
Но вы можете настроить ручной переключатель раскладок, при включенном g:XkbSwitchAssistSKeymap
:
" quickly toggle keyboard layout for f and r commands in normal mode
" (<C-^> also switches keyboard layout in search mode)
let g:XkbSwitchIminsertToggleKey = '<C-^>'
let g:XkbSwitchIminsertToggleEcho = 0
Понятно, что ручное переключение не очень-то удобно, но пока только так. Статусная строка airline
, кстати говоря, поддерживает отображение текущей раскладки для этого случая из коробки (секция keymap
).
from vim-xkbswitch.
Заметил, что у вас нет настройки
let g:XkbSwitchAssistNKeymap = 1
Это для f
и r
команд - ее нужно включить. Сейчас у вас включена g:XkbSwitchAssistSKeymap
- это для строк поиска.
Пока исследовал вашу проблему, обнаружил, что в новом vim есть автокоманды CmdlineEnter
и CmdlineLeave
, которых не было, когда плагин активно разрабатывался. Это значит, что g:XkbSwitchAssistSKeymap
можно заменить на полноценную поддержку переключения раскладок при входе и выходе из строки поиска. Пожалуй, это я сделаю (к тому же уже проверил, что оно работает). К сожалению, автокоманд для триггеринга команды f
по-прежнему нет.
from vim-xkbswitch.
Спасибо за отклик.
Но вы можете настроить ручной переключатель раскладок, при включенном g:XkbSwitchAssistSKeymap:
Не очень понимаю зачем, ведь я могу переключиться обратно на 'us' стандартным образом (у меня настроен правый ctrl).
Сейчас у вас включена g:XkbSwitchAssistSKeymap - это для строк поиска.
Пока у меня это не работает, или я не до конца понимаю как это должно работать.
Сейчас так:
Normal mode
нажимаю 'i', перехожу в insert mode
переключаюсь на 'ru', ввожу текст
нажимаю 'esc' возвращаюсь в normal mode
нажимаю '/' и начинаю вводить символы для поиска - и обнаруживаю что раскладка 'us'
хотя если я правильно понимаю, при g:XkbSwitchAssistSKeymap = 1 у меня должна остаться раскладка которая была последней при выходе из insert mode
Пожалуй, это я сделаю (к тому же уже проверил, что оно работает)
Это будет здорово!
А в neovim такая же история? Подумываю на него перейти, но пока не решился.
from vim-xkbswitch.
Обновил до последней версии vim-xkbswitch, все работает шикарно, это прямо радует, т.к. раньше после поиска не на латинице всегда были проблемы, т.к. мозг думал что все само переключится обратно.
f и r раньше не использовал, и с такими нюансами, думаю не буду пока их использовать тоже.
Большое спасибо за этот проект и связанные с ним, здорово помогают!
from vim-xkbswitch.
Related Issues (20)
- Cannot switch layout while searching + cannot use shortcuts with modifier keys in insert mode HOT 6
- [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
- mapping duplicate for script local mapping HOT 10
- Keymap assistance in Normal mode not working HOT 8
- Не удается заставить работать на Ubuntu 22.10 HOT 5
- Does not work with lazy.nvim HOT 8
- Doesn't switch language when exiting Insert mode HOT 1
- How to make it work on wsl? HOT 1
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.