# sway-vim-kbswitch   [![Version Badge]][crates.io] [![License Badge]][license] [Version Badge]: https://img.shields.io/crates/v/libswaykbswitch.svg [crates.io]: https://crates.io/crates/libswaykbswitch [License Badge]: https://img.shields.io/crates/l/libswaykbswitch.svg [license]: https://github.com/khaser/sway-vim-kbswitch/blob/master/LICENSE.md A Rust shared library that provides the interface for Vim keyboard layout switch [plugin](https://github.com/lyokha/vim-xkbswitch). ## Usage - Install [vim-xkbswitch](https://github.com/lyokha/vim-xkbswitch). - Compile this library using cargo. ``` git clone https://github.com/khaser/sway-vim-kbswitch && \ cd sway-vim-kbswitch && cargo build -r ``` - Write the path to the library to the variable `g:XkbSwitchLib` in your .vimrc settings. ``` let g:XkbSwitchEnabled = 1 let g:XkbSwitchLib = '/target/release/libswaykbswitch.so' ``` #### Optional(f and r action) For using f and r action with last layout for insert mode you can put following lines into your vimrc ``` let g:XkbSwitchAssistNKeymap = 1 set keymap=russian-jcukenwin let g:XkbSwitchKeymapNames = {'Russian' : 'ru'} ``` ## Troubleshooting When you run vim with sudo command you should preserve environment variable. ``SWAYSOCK``. Example of run with sudo: ``` sudo --preserve-env=SWAYSOCK vim ``` You can put following line into you sudoers file to fix this problem. ``` Defaults env_keep += "SWAYSOCK" ```