LINUX.ORG.RU

А почему не использовать системный преключатель раскладок? Который отлично работает с капсом...

Kroz ★★★★★
()

Раскладка к кеймапу никакого отношения не имеет. Переключай раскладку средствами иксов/консоли.

mord0d ★★★★★
()

Можно это как-то забиндить?

Именно на капс нельзя, но вообще перебиндить можно. У меня стоит Ctrl+L

Crocodoom ★★★★★
()

Переключаю раскладку капсом, УМВР, ЧЯДНТ?

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

Потому что не будут работать команды vim

Ты имеешь ввиду, когда переключаешь на русский, не работают команды vim?

Да, не работают. Теоретически можно настроить переключение системной раскладки при выходе в normal mode.

Но сути это не меняет. Всё равно нужно использовать системный переключатель. Хотя бы потому, что глобальный комбинации не передаются программе,и если в системе у тебя настроен капс, по vim его ловить не будет.

Kroz ★★★★★
()

По выходу из insert mode переключайте раскладку:

au InsertLeave *
            \ if has('unix') && &term == 'builtin_gui' |
            \   silent !qdbus ru.gentoo.KbddService /ru/gentoo/KbddService ru.gentoo.kbdd.set_layout 0 >/dev/null |
            \ endif

Я использую kkbd и переключаюсь по capslock. Вроде есть готовый плагин, который все это делает правильнее и поддерживает разные переключалки.

andreyu ★★★★★
()

используй langmap. тогда будет работать, но не на 100% – всякие ./ будут (не большой) проблемой

" Russian langmap for standard PC keyboard
if has('langmap')
	set langmap=йцукенгшщзхъ;qwertyuiop[]
	set langmap+=фывапролджэё;asdfghjkl\\;'\\\
	set langmap+=ячсмитьбю;zxcvbnm\\,.
	set langmap+=ЙЦУКЕНГШЩЗХЪ;QWERTYUIOP{}
	set langmap+=ФЫВАПРОЛДЖЭЁ;ASDFGHJKL\\:\\"\\~
	set langmap+=ЯЧСМИТЬБЮ;ZXCVBNM<>
	set langmap+=№#

	if exists('+langremap')
		set nolangremap
	endif
endif

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