#sway #vim #keyboard-layout #swaywm

libswaykbswitch

A library for controlling sway through its IPC interface

3 releases (breaking)

Uses old Rust 2015

0.2.0 Dec 17, 2023
0.1.0 Feb 23, 2023
0.0.1 Feb 23, 2023

#794 in Hardware support

MIT license

5KB
59 lines

sway-vim-kbswitch   Version Badge License Badge

A Rust shared library that provides the interface for Vim keyboard layout switch plugin.

Usage

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 = '<PathToBuildDir>/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"

Dependencies

~0.8–1.7MB
~36K SLoC