VSCodeVIM 輸入法配合的設置
VSCodeVIM 是 VSCode 的 vim 擴展,其輸入法相關的設置目僅在 macOS 和 Win 平臺上支持較好,Linux 系統還有待完善。
對於 macOS 系統,需要先參考 https://github.com/daipeihust... 安裝 im-select,然後在 VSCode 中配置如下內容:
"vim.autoSwitchInputMethod.enable": true,
"vim.autoSwitchInputMethod.defaultIM": "com.apple.keylayout.ABC",
"vim.autoSwitchInputMethod.obtainIMCmd": "/usr/local/bin/im-select",
"vim.autoSwitchInputMethod.switchIMCmd": "/usr/local/bin/im-select {im}"
其中 com.apple.keylayout.ABC 是缺省的英文輸入法。
對於 Linux 系統,VSCode 中的配置如下:
"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}"
此方法僅限於 ibus 輸入法,並且在 Gnome 的系統托盤中顯示的有些問題,但至少是可以正常工作的。
macOS 下 MacVim 圖形界面的輸入法配置
對於 macOS 系統的缺省輸入法,配置比較簡單,只要在 ~/.gvimrc 中加入如下代碼就可以了:
" Set the input method for Mac
if has("gui_macvim")
autocmd! InsertEnter * set noimdisable
autocmd! InsertLeave * set imdisable
endif
Linux 下 gVim 圖形界面的輸入法配置
由於 Linux 平臺下圖形界面以及其輸入法生態複雜,很難向 macOS 那樣有統一的簡單設置,參考 VSCodeVIM 配置的思路,對於 ibus 輸入法已經有了 vim-ibus 插件可以控制輸入法,其原理同上面 VSCodeVIM 的思路完全一樣,具體的配置細節可以參考我的 splite.vim 項目。