im-select
im-select copied to clipboard
📟 Switch your input method through terminal
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
Homebrew
Run following command in your terminal:
brew tap daipeihust/tap && brew install im-select
Then you can run following command to find your im-select
path:
which im-select
Normaly the result is /usr/local/bin/im-select
.
Now, you can use im-select to print your current input method.
Use script
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.
M1 Mac support
Click here to download specific im-select program
windows
Manual download
Download the im-select.exe, and move it to the proper path.(If you need the 64 bit version, you can download this one.)
Use Scoop package manager:
scoop bucket add im-select https://github.com/daipeihust/im-select
scoop install im-select
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
Contact
