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 ★★
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.