im-select
Switch your input method from terminal. This project is a basic support for VSCodeVim. It provides the command line program for VSCodeVim's autoSwitchIM function
Installation
macOS
Run following command in your terminal:
curl -Ls https://raw.githubusercontent.com/daipeihust/im-select/master/install_mac.sh | sh
The im-select program will be downloaded to your /usr/local/bin/
path.
windows
Download the im-select.exe, and move it to the proper path.(If you need the 64 bit version, you can download this one.)
linux
You don't have to install this for linux. linux have tools to switch input methods
Usage
macOS
If your PATH contains /usr/local/bin
, you can just use im-select
instead of /usr/local/bin/im-select
To get current input method key
/usr/local/bin/im-select
To switch current input method
/usr/local/bin/im-select imkey
For example /usr/local/bin/im-select com.apple.keylayout.US
linux
ibus
@mengbo provided this configuration for ibus
"vim.autoSwitchInputMethod.enable": true,
"vim.autoSwitchInputMethod.defaultIM": "xkb:us::eng",
"vim.autoSwitchInputMethod.obtainIMCmd": "/usr/bin/ibus engine",
"vim.autoSwitchInputMethod.switchIMCmd": "/usr/bin/ibus engine {im}"
xkb-switch
@VEL4EG provided this configuration for xkb-switch
"vim.autoSwitchInputMethod.enable": true,
"vim.autoSwitchInputMethod.defaultIM": "us",
"vim.autoSwitchInputMethod.obtainIMCmd": "/usr/local/bin/xkb-switch",
"vim.autoSwitchInputMethod.switchIMCmd": "/usr/local/bin/xkb-switch -s {im}"
fcitx
@yunhao94 provided this configuration for fcitx
"vim.autoSwitchInputMethod.enable": true,
"vim.autoSwitchInputMethod.defaultIM": "1",
"vim.autoSwitchInputMethod.obtainIMCmd": "/usr/bin/fcitx-remote",
"vim.autoSwitchInputMethod.switchIMCmd": "/usr/bin/fcitx-remote -t {im}",
gdbus
Put gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().currentSource.index" | awk -F'[^0-9]*' '{print $2}'
into get-im.sh.
Put gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[$1].activate()"
into set-im.sh.
"vim.autoSwitchInputMethod.enable": true,
"vim.autoSwitchInputMethod.defaultIM": "0"
"vim.autoSwitchInputMethod.obtainIMCmd": "<path to get-im.sh>",
"vim.autoSwitchInputMethod.switchIMCmd": "<path to set-im.sh> {im}",
windows
The im-select.exe is command line program, but it can't work in cmd or powershell. It's microsoft's fault, the keyboard API doesn't support in cmd and powershell. I recommend you git-bash.
Note: The git-bash is not required. It's only used to get current input method key, which needed in VSCodeVim's configuration.
To get current keyboard locale
/path/to/im-select.exe
To switch current keyboard locale
/path/to/im-select.exe locale
Note: The path in windows is like: C:\Users\path\to\file