LINUX.ORG.RU

vim - запоминание и возврат раскладки при смене режимов normal & insert

 ,


0

3

Есть отличный плагин vim-xkbswitch, который, к сожалению, уже не работает в Ubuntu, начиная с 14.10, кажется. Из-за чего приходится прибегать к такому:

function SetUSLayoutGnome()
    silent !qdbus org.gnome.SettingsDaemon.Keyboard /org/gnome/SettingsDaemon/Keyboard org.gnome.SettingsDaemon.Keyboard.SetInputSource 0
endfunction

function SetUSLayoutXFCE()
    silent !xkb-switch -s us
endfunction

function SetUSLayoutKDE()
    silent !qdbus org.kde.keyboard /Layouts setLayout us > /dev/null
endfunction

Эта функция вешается на InsertLeave, и нормально переключает раскладку при выходе из insert. Вопрос: как запомнить раскладку и вернуть ее при повторном заходе в insert?

Пробовал копаться в коде vim-xkbswitch, не осилил.


Ответ на: комментарий от emcode

А как генерятся раскладки?

Попробуй:

setxkbmap -layout 'us,ru' -variant 'winkeys' -option 'grp:caps_toggle,grp_led:caps,compose:menu'
а потом xkb-switch -l, видит?

kep
()
Ответ на: комментарий от kep

У меня Unity, раскладки в dconf, не уверен где именно.

После команды листинг проходит, переключение нет.

~ » xkb-switch -l                                                               
us
ru
~ » xkb-switch -s ru
xkb-switch: KbSwitch.cpp:205: Condition i!=syms.end() failed. Group ru' is not supported by current layout. Try xkb-switch -l.
xkb-switch: layouts: [us]
~ » xkb-switch -n

emcode
() автор топика
Ответ на: комментарий от emcode

Раскладки тут:

~ » dconf read /org/gnome/desktop/input-sources/sources
[('xkb', 'us'), ('xkb', 'ru')]

emcode
() автор топика
Ответ на: комментарий от emcode

Ну это какой-то гребанный говнотрешак получается в таком случае, к сожалению не подскажу, у меня на генте+dbus всё работает.

Может попробовать создать issue в репе xkb-switch? Или связаться с автором непосредственно, по идее они должны допилить, чтобы на убунтах работало.

kep
()
Ответ на: комментарий от kep

Уже вроде есть такой ibus keylayouts ignored

Хотя вердикт безрадостный

Unfortunately, I'll stop maintaining this tool.

Я не уверен, что vim-xkbswitch живой. Так то, конечно, оптимально было попросить автора допилить параметр, который бы принимал на вход кастомную команду для переключения раскладки.

emcode
() автор топика

ierton, камон не жлобись, найди пару минут в месяц и допили тулзу, карма, благодарность и почет (на том и этом свете) и всё такое.

kep
()
Ответ на: комментарий от emcode

vim-xkbswitch — живой, не живой как раз бэкенд для люникса xkb-switch, посмотрим что скажет автор, вон я его кастанул выше.

kep
()

Переключай на английский через CapsLock, на русский через Shift + CapsLock.
Удобно.
Отпадёт необходимость заниматься всякими извращениями

I60R ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.