Giter Site home page Giter Site logo

Comments (23)

DeXP avatar DeXP commented on May 24, 2024

Выполните, пожалуйста, из Vim'a:

:echo libcall('/usr/lib/libxkbswitch.so', 'Xkb_Switch_getXkbLayout', '')

Должно вывести текущую раскладку в двухбуквенном формате.
С закомментированым g:XkbSwitchIMappings работает?

from vim-xkbswitch.

lyokha avatar lyokha commented on May 24, 2024

Возможно, у вас проблема с загрузкой библиотеки /usr/lib/libxkbswitch.so. То, что работают русские хоткеи в режиме ввода, с этим не может быть связано - здесь внешняя библиотека не ипользуется. Проверьте, что в вашей системе есть /usr/lib/libxkbswitch.so - если ее нет, то попробуйте собрать последний xkb-switch

from vim-xkbswitch.

petRUShka avatar petRUShka commented on May 24, 2024

:echo libcall('/usr/lib/libxkbswitch.so', 'Xkb_Switch_getXkbLayout', '')

Выдаёт раскладку в двухбуквенном виде. Мне выдало us.

Комментирование g:XkbSwitchIMappings не помогает.

from vim-xkbswitch.

petRUShka avatar petRUShka commented on May 24, 2024
$ 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.

petRUShka avatar petRUShka commented on May 24, 2024

Информацию по русские горячии клавиши добавил только, чтобы проиллюстрировать, что плагин подгружается.

from vim-xkbswitch.

lyokha avatar lyokha commented on May 24, 2024
:echo libcall('/usr/lib/libxkbswitch.so', 'Xkb_Switch_setXkbLayout', 'us')

Попробуйте это - оно вызывается при покидании инсерт мода, - должно переключать раскладку на американскую

from vim-xkbswitch.

lyokha avatar lyokha commented on May 24, 2024

сорри

:call libcall('/usr/lib/libxkbswitch.so', 'Xkb_Switch_setXkbLayout', 'us')

from vim-xkbswitch.

petRUShka avatar petRUShka commented on May 24, 2024

Переключает.

  1. Набираю :echo libcall('/usr/lib/libxkbswitch.so', 'Xkb_Switch_setXkbLayout', 'us'),
  2. Перед тем как нажать Enter переключаю раскладку на русскую
  3. Нажимаю Enter

В итоге переключается на американскую.

P.S. Срабатывает даже с echo :)

from vim-xkbswitch.

lyokha avatar lyokha commented on May 24, 2024

хорошо, тогда убедитесь, что после выхода из режима ввода (кстати, как вы выходите, с помощью Esc или Ctrl-C?) ваша системная раскладка переклчается на английскую ('us') - если она переключилась, то у вас какая-то странная проблема :) Если нет - то возможно какой-то плагин отключает автокоманды при выходе из режима ввода

from vim-xkbswitch.

petRUShka avatar petRUShka commented on May 24, 2024

Выхожу по Esc. Нет, системная раскладка не изменилась, сожалению.
Вопрос: можете ли вы как-то подсказать, как понять, отключает ли автокоманды какой-то плагин?

from vim-xkbswitch.

lyokha avatar lyokha commented on May 24, 2024
cd $HOME/.vim
egrep -r 'eventignore|\<ei\>' .

from vim-xkbswitch.

petRUShka avatar petRUShka commented on May 24, 2024
./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.

DeXP avatar DeXP commented on May 24, 2024

Присоединяюсь к вопросу. 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.

lyokha avatar lyokha commented on May 24, 2024

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.

DeXP avatar DeXP commented on May 24, 2024

Мне помогло:

chmod +x /usr/lib/libxkbswitch.so

from vim-xkbswitch.

petRUShka avatar petRUShka commented on May 24, 2024

neocomplcache отключил -- не помогло.
В vimrc ничего такого нет.

chmod +x /usr/lib/libxkbswitch.so мне не помогло

P.S. Использую конфигурацию vim из поставки yadr:

  1. vimrc: https://github.com/skwp/dotfiles/blob/master/vimrc
  2. плагины: https://github.com/skwp/dotfiles/tree/master/vim

from vim-xkbswitch.

lyokha avatar lyokha commented on May 24, 2024

попробуйте заменить слово executable в ~/.vim/plugin/xkbswitch.vim на filereadable

from vim-xkbswitch.

petRUShka avatar petRUShka commented on May 24, 2024

Господа, мне очень стыдно, но дело было во мне, а не в плагине :(
Я случайно поставил непосредственно https://github.com/ierton/xkb-switch (сохранилось в буфере обмена) вместо https://github.com/lyokha/vim-xkbswitch . И поэтому сам плагин не работал :(

Сейчас всё сделал как надо -- и всё пашет прекрасно. Прощу прощения за отнятое время

from vim-xkbswitch.

lyokha avatar lyokha commented on May 24, 2024

Должна работать и от ierton - там есть нужные изменения и у меня xkb-switch от ierton установлен - так что открываю этот баг обратно до полного выяснения проблемы

from vim-xkbswitch.

petRUShka avatar petRUShka commented on May 24, 2024

Нет, нет. Я вместо плагина для VIM случайно "установил" cpp-программу xkb-switch :( Естественно, ничего не работало, т.к. сам плагин я, фактически, не установил

from vim-xkbswitch.

lyokha avatar lyokha commented on May 24, 2024

Ок, закрываю.

from vim-xkbswitch.

petRUShka avatar petRUShka commented on May 24, 2024

Сам понять не могу...  07.04.2013, 20:09, "Dmitry Hrabrov" [email protected]:А как тогда imap'ы работали?—Reply to this email directly or view it on GitHub.  -- Максим.

from vim-xkbswitch.

lyokha avatar lyokha commented on May 24, 2024

Может у вас langmap объявлен - потому и работали, его лучше отключить

from vim-xkbswitch.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.