请问怎样在 GVim 中优雅地切换中英文输入法?

sungnix 2026-07-08 15:16 1

我的 GVim 进入或退出插入模式会自动切换成中文输入状态,
我发现启动 GVim 后连续按两次 ESC 后进入插入模式可以保持英文输入状态。

GVim 输入法相关配置:
set iminsert=0
set imsearch=0
set noimcmdline
autocmd InsertEnter * set iminsert=0
autocmd InsertLeave * set iminsert=0

GVim 和输入法版本:
Vim 9.2.782
Weasel 0.17.4

请问怎样让 GVim 进入或退出插入模式自动切换成英文输入状态?
最新回复 (3)
  • bsidb 07-08 21:43
    1
    有专门的插件: https://github.com/lilydjwg/fcitx.vim
  • coldle 07-08 22:43
    2
    把输入法换成 rime ,然后让 ai 搓个 lua 脚本搞定

    (话说进入插入状态之前一般本来就是英文模式吧)

    退出插入模式的话,给 ESC 、C-c 、C-[ 这些键加个强切英文的 hook 就完事了

    比如我平时用的就是这样:

    ```
    local M = {}
    function M.switch_to_en(key, env)
    local repr = key:repr()
    local r = repr:lower()
    if r == "escape" or r == "control+g" or r == "control+s" then
    env.engine.context:set_option("ascii_mode", true)
    end
    return 2
    end
    return M
    ```
  • sungnix 楼主 07-09 09:19
    3
    感谢二位的解答,我试试插件的方式。
* 帖子来源V2EX
返回