lyokha / vim-xkbswitch

vim plugin for automatic keyboard layout switching in insert mode
MIT License
481 stars 23 forks source link

Не печатается 'x' и 'ъ' в русской расскладке #11

Closed rrz closed 11 years ago

rrz commented 11 years ago

Не могу напечтать эти символы, вместо них печатаются квадратные скобки. Vim 7.4, ubuntu 13.10

lyokha commented 11 years ago

Это конфликт переведенных Insert Mappings с каким-то установленным вами плагином, чтобы посмотреть с каким, наберите в командной строке vim

:imap х

(здесь русское х, а не Икс), а также

:imap ъ

Я думаю, это будет один и тот же плагин. Как починить: если это filetype плагин (т.е. загружается только для определенных типов файлов, например C++ или python), то можете использовать настройку g:XkbSwitchSkipIMappings (см. документацию или README здесь на гитхабе). Если этот плагин грузится для любого filetype, то определите переменную g:XkbSwitchIMappingsTr (тоже см. документацию или README), например так:

let g:XkbSwitchIMappingsTr = {
          \ 'ru':
          \ {'<': 'qwertyuiopasdfghjkl;''zxcvbnm,.`/'.
          \       'QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>?~@#$^&|',
          \  '>': 'йцукенгшщзфывапролджэячсмитьбюё.'.
          \       'ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,Ё"№;:?/'},
          \ }

(здесь убран перевод [ и ] в х и ъ). Если большие буквы Х и Ъ тоже переводятся в { и }, то уберите эти символы из этого определения переменной тоже.

rrz commented 11 years ago

Спасибо большое за оперативный ответ. Помогло.

lyokha commented 11 years ago

Не за что. В последнем коммите я добавил возможность запретить перевод сложных Insert mappings для всех filetypes в g:XkbSwitchSkipImappings, если ключом - типом файла объявить '*'.