Giter Site home page Giter Site logo

Comments (12)

lyokha avatar lyokha commented on May 24, 2024

Попробуйте

let g:XkbSwitchKeymapNames = {'ru' : 'russian-jcukenwin'}

(вместо '1' : 'russian-jcukenwin').

from vim-xkbswitch.

lyokha avatar lyokha commented on May 24, 2024

Так у вас раскладки называются 1 и 2? Тогда мой предыдущий совет не годится, зато нужно заменить установку маппингов на

let g:XkbSwitchIMappings = ['1']

, создать файл c соответствующим маппингом по типу xkbswitch.tr и загружать его c помощью переменной g:XkbSwitchIMappingsTrData (это должно быть описано в документации).

from vim-xkbswitch.

Realetive avatar Realetive commented on May 24, 2024
let g:XkbSwitchKeymapNames = {'ru' : 'russian-jcukenwin'}

помогло тем, что по Esc раскладка ставится в en для Normal-mode. А вот для Ctrl-c — не работает.

А после

let g:XkbSwitchIMappings = ['1']

выдало:
2017-08-14 15 21 18

from vim-xkbswitch.

lyokha avatar lyokha commented on May 24, 2024

Для 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.

Realetive avatar Realetive commented on May 24, 2024

Сделал. теперь так:

" .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.

lyokha avatar lyokha commented on May 24, 2024

Ну или так )) Но если вы определили переменную g:XkbSwitchIMappingsTr в .vimrc, то переменная g:XkbSwitchIMappingsTrData вам больше не нужна, да и сам файл xkbswitch.tr тоже. Только я понять не могу, где здесь специфичная настройка раскладки Бирмана проявляется?

from vim-xkbswitch.

Realetive avatar Realetive commented on May 24, 2024

Нигде, по идее. Там новые маппинги на Alt+_ появляются, а всё остальное стандартное.

from vim-xkbswitch.

lyokha avatar lyokha commented on May 24, 2024

А, ок. Я так и понял, когда прочитал, что это такое :)

from vim-xkbswitch.

Realetive avatar Realetive commented on May 24, 2024

Кажется, поспешил с выводами. Правильно ли я понимаю, что если, например, я в Normal-mode нажимаю д, то это автоматически должно интерпретироваться как l?

from vim-xkbswitch.

lyokha avatar lyokha commented on May 24, 2024

Нет, неправильно, это Insert-mode маппинги, они относятся только к режиму ввода. Вообще, этот модуль был задуман c той целью, чтобы в Нормальном режиме у пользователя всегда была оригинальная (обычно английская) раскладка. Если вы оказались после выхода из режима ввода в нормальный режим в русской раскладке, то это либо данный модуль не совсем корректно работает, либо он не подходит для вашего специфичного сценария.

from vim-xkbswitch.

Realetive avatar Realetive commented on May 24, 2024

А, ну тогда действительно всё в порядке 👍
Ещё раз спасибо!

from vim-xkbswitch.

lyokha avatar lyokha commented on May 24, 2024

Кстати, если вы хотите гарантировать оригинальную раскладку в Нормальном режиме после возращения из режима Ввода, то можете установить в .vimrc

let g:XkbSwitchNLayout = 'us'

Только в вашем случае вместо 'us' надо написать '1' или '2'.

from vim-xkbswitch.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.