VSCodeVIM 是 VSCode 的 vim 擴展,其輸入法相關的設置目僅在 macOS 和 Win 平臺上支持較好,Linux 系統還有待完善。javascript
對於 macOS 系統,須要先參考 https://github.com/daipeihust... 安裝 im-select,而後在 VSCode 中配置以下內容:java
"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 是缺省的英文輸入法。git
對於 Linux 系統,VSCode 中的配置以下:github
"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 的系統托盤中顯示的有些問題,但至少是能夠正常工做的。vim
對於 macOS 系統的缺省輸入法,配置比較簡單,只要在 ~/.gvimrc 中加入以下代碼就能夠了:app
" Set the input method for Mac if has("gui_macvim") autocmd! InsertEnter * set noimdisable autocmd! InsertLeave * set imdisable endif
因爲 Linux 平臺下圖形界面以及其輸入法生態複雜,很難向 macOS 那樣有統一的簡單設置,參考 VSCodeVIM 配置的思路,對於 ibus 輸入法已經有了 vim-ibus 插件能夠控制輸入法,其原理同上面 VSCodeVIM 的思路徹底同樣,具體的配置細節能夠參考個人 splite.vim 項目。ui