kevinhwang91
nvim-ibus-sw
Lua

Switch ibus between insert and normal mode in Neovim

Last updated May 26, 2026
37
Stars
1
Forks
0
Issues
0
Stars/day
Attention Score
2
Language breakdown
Lua 100.0%
โ–ธ Files click to expand
README

nvim-ibus-sw

Be eased to handle multiple inputs methods when changing between normal and insert mode(eg. English and Chinese).


Features

  • Save and restore input method when entering/leaving insert mode
  • Switch input method asynchronously

Requirements

Installation

Install with Packer.nvim:

use {'kevinhwang91/nvim-ibus-sw'}
WIP, I may add extra Lua dependences in the further :)

Minimal configuration

use {'kevinhwang91/nvim-ibus-sw', event = 'InsertEnter',
     config = function()
         require('ibus-sw').setup()
     end
}

Gnome users suggestions

switch input methods that can refresh the input indicator in tray and restore InputMode.
  • Enable to switch input sources individually for each window,
gsettings set org.gnome.desktop.input-sources per-window true

You can skip (Limitation)[#Limitation] section :)

Limitation

**If you aren't a Gnome user, the plugin switch input method by ibus engine command. When switching input method, tray icon of ibus change nothing.**

Using ibus engine brings a bug when using switch input sources individually for each window option in input settings in Gnome Desktop Environment, because every progress has a session to save the input status, and restore the data from the session when you refocus on the application.

ibus engine can't change this session. Therefore, when you focus lost Neovim window and return back later, Gnome Desktop will restore the session for raw input status.

License

The project is licensed under a BSD-3-clause license. See the LICENSE file.

๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท kevinhwang91/nvim-ibus-sw ยท Updated daily from GitHub