Closed james-bay closed 8 years ago
Добрый день. Говорят в поледних Убунтах есть проблема c самим xkb-switch, см. этот баг. Проверьте, может ли xkb-switch переключать раскладки сам:
xkb-switch -s ru
xkb-switch -s en
Если не сработает, то надо добиваться починки xkb-switch для Убунту.
Спасибо за ответ!
xkb-switch -s ru
xkb-switch -s us
сработал, всё переключается
В ваших настройках
let g:XkbSwitchLib = '/usr/lib/libxkbswitch.so'
а echo
говорит /usr/local/lib/libxkbswitch.so
. Это странно.
И кстати, что не работает? Можете описать свои действия?
libxkbswitch.so
скопировал в /usr/local/lib
поэтому в двух местах. Но если из/usr/local/lib
удалить, то ничего не изменится. Собственно уже удалил.
Действия простые. Я уставноил все по инструкции в выше описанные директории (если не считать, что засунул libxkbswitch.so
в /usr/local/lib
), vim без плагинов, только поставил его. Запускаю в En раскладке, курсор двигается, в Normal mode двоеточием перехожу. Если включаю русскую расскладку (у меня Caps Lock) то, курсор можно двигать только стрелками, двоеточие ненажимается, ну т.д.
Ага, понятно. Этот плагин не рассчитан на то, что вы описываете. Его главная задача - восстанавливать раскладку, которая была в режиме ввода раньше, при новом входе в режим ввода (а также режиме Select). Перевод маппингов работает также исключительно для режима ввода.
Ох, значит я недопонял. Прошу прощения. Третий день на linux всего. Спасибо что уделили мне время!
Не за что :) Просто этот плагин позволяет переключаться Из и В режим ввода без постоянного переключения раскладок. Фактически ситуацию, в которой вы оказались - то есть в нормальном режиме не в английской раскладке - он и помогает полностью нивелировать: просто когда вы что-то напечатали в режиме ввода на русском и выходите в нормальный режим, плагин автоматически переключает системную раскладку на английский.
Кстати, добавьте еще это:
let g:XkbSwitchNLayout = 'us'
для полной гарантии, что вы не окажетесь в не английской раскладке после выхода из режима ввода.
Спасибо большое! Все ясно стало. Еще один вопрос, если можно. Запускаю vim
и все работает как нужно. Выхожу из режима вставки, раскладка восстанавливается, но в vimtutor
это не работает. Так и должно быть? vimtutor
же просто запускает vim
с открытым временным файлом урока.
Действительно, не работает. Сейчас гляну. Никогда не пользовался vimtutor, если честно.
Ага, vimtutor - это shell скрипт, у меня он находится в директории /usr/bin/
, последние его две строки говорят:
# Start vim without any .vimrc, set 'nocompatible'
$VIM -f -u NONE -c "set nocp" $TUTORCOPY
Соответственно, не загружаются ни .vimrc
, ни какие-либо плагины. Если вы хотите использовать vimtutor со всеми плагинами, то замените последнюю строку на
$VIM -f $TUTORCOPY
для загрузки только одного xkbswitch в vimtutor можно последнюю строку заменить на
$VIM -f -u NONE -c "set nocp" -c "let g:XkbSwitchEnabled = 1" -c "runtime! plugin/xkbswitch.vim" -c "EnableXkbSwitch" $TUTORCOPY
У меня это сработало, по желанию можно и другие настройки добавить через опцию -c
, или создать файл, например xkbswitch-settings.vim
в директории plugin/
c вашими настройками
let g:XkbSwitchEnabled = 1
let g:XkbSwitchLib = '/usr/lib/libxkbswitch.so'
let g:XkbSwitchIMappings = ['ru']
а последнюю строку превратить в
$VIM -f -u NONE -c "set nocp" -c "runtime! plugin/xkbswitch-settings.vim" -c "runtime! plugin/xkbswitch.vim" -c "EnableXkbSwitch" $TUTORCOPY
Большое спасибо вам! Очень благодарен за помощь и советы! Очень мне не ловко, что открыл Issue и время у вас отнял много. Еще раз прошу прощения за это и еще раз от души спасибо вам
Да всё нормально! Открытие тикета на гитхабе - самый естественный способ задать вопрос :)
Здравствуйте! На свежеустановленную Ubuntu 16.04 только поставил vim. Никаких плагинов для vim-а нет. Сделал все по инструкции, собрал xkb-switch, скопировал плагин в (~/.vim/plugin, ~/.vim/doc, ~/.vim/xkbswitch.tr). Прописал в ~/.vimrc следующее:
И не работает. Попробовал:
В vim-е переключается с русской на английскую:
также:
Подскажите пожалуйста, что можно сделать?