Comments (12)
Попробуйте
let g:XkbSwitchKeymapNames = {'ru' : 'russian-jcukenwin'}
(вместо '1' : 'russian-jcukenwin'
).
from vim-xkbswitch.
Так у вас раскладки называются 1
и 2
? Тогда мой предыдущий совет не годится, зато нужно заменить установку маппингов на
let g:XkbSwitchIMappings = ['1']
, создать файл c соответствующим маппингом по типу xkbswitch.tr и загружать его c помощью переменной g:XkbSwitchIMappingsTrData (это должно быть описано в документации).
from vim-xkbswitch.
let g:XkbSwitchKeymapNames = {'ru' : 'russian-jcukenwin'}
помогло тем, что по Esc раскладка ставится в en для Normal-mode. А вот для Ctrl-c — не работает.
А после
let g:XkbSwitchIMappings = ['1']
from vim-xkbswitch.
Для Ctrl-C
он и не будет работать, насколько я помню, там какая-то проблема c перехватом этой последовательности в vim. А c раскладкой 1 создайте файл с именем, например xkbswitch.tr и введите в него вашу раскладку:
1 Birman layout
< qwertyuiop[]asdfghjkl;'zxcvbnm,.`/QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>?~@#$^&|
> йцукенгшщзхъфывапролджэячсмитьбюё.ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,Ё"№;:?/
Вместо оригинального ru здесь поставлена 1 - это важно (хотя, если 1 у вас - это оригинальная английская раскладка, то нужно поставить здесь 2), предложение Birman layout - просто комментарий, можете написать сюда все что хотите, или не писать ничего). B самое главное, у вас должно быть соответствие между символами оригинальной английской раскладки и вашей кастомной (то есть порядок символов после тега > у вас будет другой).
После правильной настройки файла xkbswitch.tr нужно сослаться на него в .vimrc:
let g:XkbSwitchIMappingsTrData = xkbswitch.tr
(возможно c полным путем к файлу).
from vim-xkbswitch.
Сделал. теперь так:
" .vimrc
let g:XkbSwitchEnabled = 1
let g:XkbSwitchLib = '/usr/local/lib/libxkbswitch.dylib'
let g:XkbSwitchIMappings = ['1']
let g:XkbSwitchIMappingsTr = {
\ '1':
\ {'<': 'qwertyuiop[]asdfghjkl;''zxcvbnm,.`/'.
\ 'QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>?~@#$^&|',
\ '>': 'йцукенгшщзхъфывапролджэячсмитьбюё.'.
\ 'ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,Ё"№;:?/'}
\ }
let g:XkbSwitchIMappingsTrData = $HOME.'/.vim/plugins/xkbswitch/xkbswitch.tr'
let g:XkbSwitchDynamicKeymap = 1
let g:XkbSwitchKeymapNames = {'1' : 'russian-jcukenwin'}
set keymap=russian-jcukenwin
set iminsert=0
set imsearch=0
в ~/.vim/plugins/xkbswitch/xkbswitch.tr
:
1 Russian Birman layout
< qwertyuiop[]asdfghjkl;'zxcvbnm,.`/QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>?~@#$^&|
> йцукенгшщзхъфывапролджэячсмитьбюё.ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,Ё"№;:?/
Теперь все работает 👍
А неработающий Ctrl-c решил :inoremap jj <ESC>
from vim-xkbswitch.
Ну или так )) Но если вы определили переменную g:XkbSwitchIMappingsTr
в .vimrc, то переменная g:XkbSwitchIMappingsTrData
вам больше не нужна, да и сам файл xkbswitch.tr тоже. Только я понять не могу, где здесь специфичная настройка раскладки Бирмана проявляется?
from vim-xkbswitch.
Нигде, по идее. Там новые маппинги на Alt+_
появляются, а всё остальное стандартное.
from vim-xkbswitch.
А, ок. Я так и понял, когда прочитал, что это такое :)
from vim-xkbswitch.
Кажется, поспешил с выводами. Правильно ли я понимаю, что если, например, я в Normal-mode нажимаю д
, то это автоматически должно интерпретироваться как l
?
from vim-xkbswitch.
Нет, неправильно, это Insert-mode маппинги, они относятся только к режиму ввода. Вообще, этот модуль был задуман c той целью, чтобы в Нормальном режиме у пользователя всегда была оригинальная (обычно английская) раскладка. Если вы оказались после выхода из режима ввода в нормальный режим в русской раскладке, то это либо данный модуль не совсем корректно работает, либо он не подходит для вашего специфичного сценария.
from vim-xkbswitch.
А, ну тогда действительно всё в порядке 👍
Ещё раз спасибо!
from vim-xkbswitch.
Кстати, если вы хотите гарантировать оригинальную раскладку в Нормальном режиме после возращения из режима Ввода, то можете установить в .vimrc
let g:XkbSwitchNLayout = 'us'
Только в вашем случае вместо 'us' надо написать '1' или '2'.
from vim-xkbswitch.
Related Issues (20)
- Disable dot (repeat last command) in non-english layouts in normal mode HOT 3
- Cannot switch layout while searching + cannot use shortcuts with modifier keys in insert mode HOT 6
- [question] how to change input method in insert mode? HOT 6
- xkb-switch triggered by neoclide Coc documentation float window HOT 2
- vim-xkbswitch does not remember the layout HOT 1
- Windows 10, gvim/nvim-qt, stopped working - how to debug/diagnose? HOT 3
- Unexpected output to textarea HOT 2
- Появление ошибок во время открытия файла HOT 15
- Switch layout when in normal mode HOT 5
- Sway support HOT 1
- Question. How can I get current layout? HOT 2
- How to use vim-xkbswitch with i3wm? HOT 2
- Bspwm Support HOT 1
- Не находит бинарник xkb-switch HOT 1
- Can't restore Normal mode keyboard layout when leaving search '/' mode HOT 6
- mapping duplicate for script local mapping HOT 10
- Keymap assistance in Normal mode not working HOT 8
- Не удается заставить работать на Ubuntu 22.10 HOT 5
- Does not work with lazy.nvim HOT 8
- Doesn't switch language when exiting Insert mode HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vim-xkbswitch.