關於 VIM 和輸入法相關的配置

VSCodeVIM 輸入法配合的設置

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 下 MacVim 圖形界面的輸入法配置

對於 macOS 系統的缺省輸入法,配置比較簡單,只要在 ~/.gvimrc 中加入以下代碼就能夠了:app

" 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 項目。ui

相關文章
相關標籤/搜索