vscode+vim配置小記
引入
在windows系統(tǒng)下使用vscode+vim編寫代碼時會遇到一個令人略有不爽的小麻煩。
在vim的normal模式下,首先需要進入insert模式才能正常編寫。這里一般是在英文輸入法鍵入相應(yīng)字母才能進入,比如“i”和“o”
我們進入insert模式之后,在敲代碼的過程中難免會需要增加些中文注釋,這個時候我們的輸入法就從英文切換到中文了。
按esc退回normal模式時,輸入法卻保留在了中文輸入法,這時想再進入insert模式就需要再次切換到英文輸入法,我經(jīng)常忘記這回事就經(jīng)常被輸入法卡住。
解決
終于有意上網(wǎng)查找解決這個不大不小的麻煩的方法:
以下是我自己的基于windows系統(tǒng)下對于vscode+vim插件關(guān)于自動切換輸入法的解決方案小結(jié)
使用im-select插件
github鏈接:https://github.com/daipeihust/im-select
- 在github上下載項目到本地,將項目內(nèi)的exe執(zhí)行文件移到特定路徑下,可自定,最好是不會被輕易清理的路徑。


- 插件作者建議windows用戶使用git的git-bash來查看不同輸入法的句柄值,由于我的電腦下載了git,這里就沒有額外配置了
- 打開git-bash,進入我剛剛放置im-select.exe的路徑,在不同的輸入法狀態(tài)下分別執(zhí)行bash命令
./im-select.exe
即可查看當(dāng)前輸入法的句柄值,我這里分別是2051和1033,分別對應(yīng)微軟拼音和美式鍵盤

- 接下來在vscode的settings.json文件中添加以下配置
// 自動切換輸入法
"vim.autoSwitchInputMethod.enable": true,
"vim.autoSwitchInputMethod.defaultIM": "1033", // 這里輸入剛剛獲得的英文輸入法名稱
"vim.autoSwitchInputMethod.obtainIMCmd": "D:\\apps\\tools\\im-select.exe",
"vim.autoSwitchInputMethod.switchIMCmd": "D:\\apps\\tools\\im-select.exe {im}&& D:\\apps\\tools\\im-select.exe 2052",
其中"vim.autoSwitchInputMethod.switchIMCmd": "D:\\apps\\tools\\im-select.exe {im}",即表示按esc退出insert模式時,自動切換到句柄為1033的英文輸入法 但是來回切換不同輸入法不如在一個輸入法內(nèi)切換中英文來的方便。
所以我在代碼后增加了&& D:\\apps\\tools\\im-select.exe 2052,表示同時切換到微軟拼音,在系統(tǒng)設(shè)置里面將微軟拼音的默認(rèn)語言改為英語,這樣在切換微軟拼音時,微軟拼音會自動切換為英文。
雖然有點曲折,不過實現(xiàn)效果是達(dá)到了的。

浙公網(wǎng)安備 33010602011771號