Comments (23)
Выполните, пожалуйста, из Vim'a:
:echo libcall('/usr/lib/libxkbswitch.so', 'Xkb_Switch_getXkbLayout', '')
Должно вывести текущую раскладку в двухбуквенном формате.
С закомментированым g:XkbSwitchIMappings работает?
from vim-xkbswitch.
Возможно, у вас проблема с загрузкой библиотеки /usr/lib/libxkbswitch.so. То, что работают русские хоткеи в режиме ввода, с этим не может быть связано - здесь внешняя библиотека не ипользуется. Проверьте, что в вашей системе есть /usr/lib/libxkbswitch.so - если ее нет, то попробуйте собрать последний xkb-switch
from vim-xkbswitch.
:echo libcall('/usr/lib/libxkbswitch.so', 'Xkb_Switch_getXkbLayout', '')
Выдаёт раскладку в двухбуквенном виде. Мне выдало us
.
Комментирование g:XkbSwitchIMappings не помогает.
from vim-xkbswitch.
$ ls /usr/lib/libxkbswitch.so -allh
-rwxr-xr-x 1 root 31K апр 7 17:30 /usr/lib/libxkbswitch.so
Библиотека есть. Собран свежйший xkb-switch из git (только что пересобрал).
from vim-xkbswitch.
Информацию по русские горячии клавиши добавил только, чтобы проиллюстрировать, что плагин подгружается.
from vim-xkbswitch.
:echo libcall('/usr/lib/libxkbswitch.so', 'Xkb_Switch_setXkbLayout', 'us')
Попробуйте это - оно вызывается при покидании инсерт мода, - должно переключать раскладку на американскую
from vim-xkbswitch.
сорри
:call libcall('/usr/lib/libxkbswitch.so', 'Xkb_Switch_setXkbLayout', 'us')
from vim-xkbswitch.
Переключает.
- Набираю
:echo libcall('/usr/lib/libxkbswitch.so', 'Xkb_Switch_setXkbLayout', 'us')
, - Перед тем как нажать Enter переключаю раскладку на русскую
- Нажимаю Enter
В итоге переключается на американскую.
P.S. Срабатывает даже с echo :)
from vim-xkbswitch.
хорошо, тогда убедитесь, что после выхода из режима ввода (кстати, как вы выходите, с помощью Esc или Ctrl-C?) ваша системная раскладка переклчается на английскую ('us') - если она переключилась, то у вас какая-то странная проблема :) Если нет - то возможно какой-то плагин отключает автокоманды при выходе из режима ввода
from vim-xkbswitch.
Выхожу по Esc
. Нет, системная раскладка не изменилась, сожалению.
Вопрос: можете ли вы как-то подсказать, как понять, отключает ли автокоманды какой-то плагин?
from vim-xkbswitch.
cd $HOME/.vim
egrep -r 'eventignore|\<ei\>' .
from vim-xkbswitch.
./bundle/tagbar/autoload/tagbar.vim: let eventignore_save = &eventignore
./bundle/tagbar/autoload/tagbar.vim: set eventignore=all
./bundle/tagbar/autoload/tagbar.vim: let &eventignore = eventignore_save
./bundle/tagbar/autoload/tagbar.vim: let eventignore_save = &eventignore
./bundle/tagbar/autoload/tagbar.vim: set eventignore=all
./bundle/tagbar/autoload/tagbar.vim: let &eventignore = eventignore_save
./bundle/tagbar/autoload/tagbar.vim: let eventignore_save = &eventignore
./bundle/tagbar/autoload/tagbar.vim: set eventignore=FileType
./bundle/tagbar/autoload/tagbar.vim: let &eventignore = eventignore_save
./bundle/tagbar/autoload/tagbar.vim: let eventignore_save = &eventignore
./bundle/tagbar/autoload/tagbar.vim: set eventignore=BufEnter
./bundle/tagbar/autoload/tagbar.vim: let &eventignore = eventignore_save
./bundle/nerdtree/autoload/nerdtree.vim:" same as :exec cmd but eventignore=all is set for the duration
./bundle/nerdtree/autoload/nerdtree.vim: let old_ei = &ei
./bundle/nerdtree/autoload/nerdtree.vim: set ei=all
./bundle/nerdtree/autoload/nerdtree.vim: let &ei = old_ei
./bundle/nerdtree/autoload/nerdtree.vim: let old_ei = &ei
./bundle/nerdtree/autoload/nerdtree.vim: set ei=all
./bundle/nerdtree/autoload/nerdtree.vim: let &ei = old_ei
./bundle/gundo.vim/tests/bundled/lh-vim-lib/doc/lh-vim-lib.txt: \ ']ei', 'itemize', '\item ')
./bundle/gundo.vim/tests/bundled/lh-vim-lib/doc/lh-vim-lib.txt:The second call binds for the three modes: ]ei to:
./bundle/neocomplcache/autoload/neocomplcache/sources/vim_complete/options.dict:eventignore ; autocommand events that are ignored
./bundle/snipmate-snippets/snippets/r.snippets:snippet ei
./bundle/snipmate-snippets/snippets/python.snippets:snippet ei
Как вы думаете, это могло быть что-нибудь из списка выше?
from vim-xkbswitch.
Присоединяюсь к вопросу. Ubuntu 64x 12.04.2LTS (только что обновил всё дерево пакетов). xkb-switch собран из git'a.
:echo g:XkbSwitchEnabled
> 1
:echo g:XkbSwitchLib
> /usr/local/lib/libxkbswitch.so
:echo g:XkbSwitchIMappings
> ['ru']
:echo libcall('/usr/local/lib/libxkbswitch.so', 'Xkb_Switch_getXkbLayout', '')
> ru
Вызов библиотечной функции проходит нормально, язык устанавливается. Однако у меня нет даже imap'ов. Автоматическое переключение тоже не работает.
NerdTree и NerdCommenter не виноваты - под вендой у меня исправно работают. Здесь для чистоты эксперимента даже их отключил.
from vim-xkbswitch.
tagbar и nerdtree у меня тоже установлены - так что вряд ли из-за них (только если у них нет каких-либо экзотических опций, которые вы сами установили в .vimrc),
./bundle/neocomplcache/autoload/neocomplcache/sources/vim_complete/options.dict:eventignore ; autocommand events that are ignored - вызывает подозрение, посмотрите нет ли у вас в .vimrc слов eventignore или ei и попробуйте временно отключить neocomplcache
from vim-xkbswitch.
Мне помогло:
chmod +x /usr/lib/libxkbswitch.so
from vim-xkbswitch.
neocomplcache отключил -- не помогло.
В vimrc ничего такого нет.
chmod +x /usr/lib/libxkbswitch.so
мне не помогло
P.S. Использую конфигурацию vim из поставки yadr:
- vimrc: https://github.com/skwp/dotfiles/blob/master/vimrc
- плагины: https://github.com/skwp/dotfiles/tree/master/vim
from vim-xkbswitch.
попробуйте заменить слово executable в ~/.vim/plugin/xkbswitch.vim на filereadable
from vim-xkbswitch.
Господа, мне очень стыдно, но дело было во мне, а не в плагине :(
Я случайно поставил непосредственно https://github.com/ierton/xkb-switch (сохранилось в буфере обмена) вместо https://github.com/lyokha/vim-xkbswitch . И поэтому сам плагин не работал :(
Сейчас всё сделал как надо -- и всё пашет прекрасно. Прощу прощения за отнятое время
from vim-xkbswitch.
Должна работать и от ierton - там есть нужные изменения и у меня xkb-switch от ierton установлен - так что открываю этот баг обратно до полного выяснения проблемы
from vim-xkbswitch.
Нет, нет. Я вместо плагина для VIM случайно "установил" cpp-программу xkb-switch :( Естественно, ничего не работало, т.к. сам плагин я, фактически, не установил
from vim-xkbswitch.
Ок, закрываю.
from vim-xkbswitch.
Сам понять не могу... 07.04.2013, 20:09, "Dmitry Hrabrov" [email protected]:А как тогда imap'ы работали?—Reply to this email directly or view it on GitHub. -- Максим.
from vim-xkbswitch.
Может у вас langmap объявлен - потому и работали, его лучше отключить
from vim-xkbswitch.
Related Issues (20)
- Time lag when switching to normal mode with russian layout HOT 2
- Смена расскладки при r{char} HOT 1
- Не удается заставить работать на ubuntu 18.04 HOT 25
- Disable dot (repeat last command) in non-english layouts in normal mode HOT 3
- 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
- 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
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.