LINUX.ORG.RU

Про плагин vim-xkbswitch на Ubuntu 16.04

 ,


0

1

Насколько мне известно, этот плагин должен самым удобным для пользователя двух раскладок решением. Однако мне так и не удалось добиться нормальной работы на сабжевой системе (на других не тестировал), в итоге вернулся на keymap (с изменением цвета StatusLine). Здесь я опишу три проблемы, с которыми я столкнулся: одну решил, на вторую забил, а из-за третьей отказался от плагина. Если кто сможет сказать что-то дельное, буду очень признателен! Заодно надеюсь, что впредь эта тема будет помогать и другим вимерам, сейчас в гугле информации практически нет.

  • Существенная задержка переключения языка при выходе в Normal Mode из Insert Mode. Около секунды нет никакой реакции на команды (р,о,л,д и др.) Что помогло: ttimeoutlen=0 Но чем была вызвана проблема, я так и не понял. Скорее всего, баг.
  • При переключении на русский язык загорается третья лампочка индикатора на клавиатуре (Scroll Lock). Счёл это фичей, хотя и довольно странной. Никогда не помню эту лампочку горящей на своём ноутбуке. Решил не трогать, хотя и немного раздражало.
  • Критическая проблема: при двойной смене языка в vim он перестаёт реагировать на команды. Чтобы воспроизвести, нужно
    • Выйти в командный режим с русской раскладке
    • Порадоваться тому, что всё работает
    • Переключить язык на английский. Всё по-прежнему работает
    • Снова переключить на русский. Индикатор Scroll Lock уже не горит, и команд vim не воспринимает
    Этот баг вскрывается не сразу, но обязательно вскрывается, т.к. кроме vim обычно бывает запущено ещё что-то =) И если в другом окне был другой язык, то при возврате в vim всё накрывается медным тазом.
★★★★★

Немного оффтопа

Пользовался vim'ом для набора LaTeX, но пока что перелез на TeXstudio. Необходимость переключать раскладку для ввода команд — одна из причин. Хотя здесь вместо команд по : приходится мышевозить, а ввод текста пополам с тегами всё равно заставляет переключать раскладку. Но эта глобальная несправедливость касается всех, чей язык не пользуется латиницей. Такие дела.

al_exquemelin ★★★
()
Ответ на: Немного оффтопа от al_exquemelin

Необходимость переключать раскладку для ввода команд

нет её, необходимости.

echo 'set keymap=russian-jcukenwin
set iminsert=0
set imsearch=0' >> .vimrc

i CTRL-6

так же см. :h mbyte-keymap

mos ★★☆☆☆
()
Ответ на: Немного оффтопа от al_exquemelin

LaTeX — единственное место, где мне нужен русский язык в vim. Раньше пользовался Texmaker, но надоело возить мышкой, да. К тому же один раз он мне запорол исходники документа (не шутка)! Хотя я честно признаю, что 99% возможностей этого комбайна (я сейчас про Texmaker :)) я не использовал, просто лень было изучать.

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

что можно и так? и от чего не панацея?

Необходимость переключать раскладку для ввода команд

нет её, необходимости.

mos ★★☆☆☆
()
Ответ на: комментарий от Zmicier

Знаешь какое-нибудь некостыльное решение, позволяющее не запоминать два сочетания для переключения языка (для vim и для всего остального)?

Crocodoom ★★★★★
() автор топика

не могу воспроизвести твои проблемы.

NVIM 0.2.0-dev

Выйти в командный режим с русской раскладке
Порадоваться тому, что всё работает

потому что твоя раскладка переключилась на EN и русского в помине нет

Переключить язык на английский. Всё по-прежнему работает

не возможно, ты уже на нем когда вышел и режима ввода

Как ставил

sudo apt install xorg-dev cmake xclip

cd ~/
rm -rf tmp_xkb
mkdir tmp_xkb
cd tmp_xkb
git clone https://github.com/ierton/xkb-switch.git
cd xkb-switch
mkdir build && cd build
cmake ..
make
sudo make install
cd ~/
rm -rf tmp_xkb

vimrc

Plug 'lyokha/vim-xkbswitch'
...
let g:XkbSwitchEnabled = 1
let g:XkbSwitchLib = '/usr/local/lib/libxkbswitch.so'
let g:XkbSwitchIMappings = ['ru']

Noob_Linux ★★★★
()
Ответ на: комментарий от mos

от чего не панацея?

От необходимости дёргать раскладку. Текст на русском, теги на английском, но тут ничего не поделаешь, как я выше и писал.

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

и тут можно, наверное.
добавил функцию типа емаксовксого abbrev пишешь ГДЛО на русском нажимаешь кнопку оно разварачивается в тег <ITEM_ID>.

mos ★★☆☆☆
()
Последнее исправление: mos (всего исправлений: 1)
Ответ на: комментарий от mos

Хм. Не копал в эту сторону. У меня из вимовского «обвеса» стоял, помнится, YouCompleteMe да ещё какая-то мелочёвка.

al_exquemelin ★★★
()
Ответ на: комментарий от Crocodoom

для emacs есть reverse-im в мелпа, хотя оно тоже в чём-то костыль

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