sungnix
V2EX  ›  Vim

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

  •  
  •   sungnix · Jul 8 · 1520 views
    This topic created in 58 days ago, the information mentioned may be changed or developed.
    我的 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 进入或退出插入模式自动切换成英文输入状态?
    5 replies    2026-08-26 09:44:58 +08:00
    bsidb
        1
    bsidb  
       Jul 8
    coldle
        2
    coldle  
       Jul 8
    把输入法换成 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
        3
    sungnix  
    OP
       Jul 9
    感谢二位的解答,我试试插件的方式。
    henix
        4
    henix  
       Aug 25
    我用 Win10 ,没遇到过这个问题,但你在另一个帖子问我,我测试了一下,感觉这个问题是 GVim + 小狼毫特有的:

    首先是切换输入法的方式,我习惯用 Shift + 左 Alt ,直到右下角变成“ENG”,此时输入法是“英语(美国) + 美式键盘”,如果这样切换输入法就没问题

    那么你所说的“切换中英文输入法”应该是指右下角开启中文输入法后,用 Shift 切换中英文输入模式

    在 GVim 中,我测试系统自带的微软拼音和我下载的 Google 拼音输入法 2.7 都没问题
    但小狼毫 0.15 就有问题,在 GVim 中,用英文模式输入几个字母就会自动切换回中文模式
    但我又试了小狼毫 + Sublime Text ,英文模式是可以保持的

    看起来 GVim 和小狼毫都可能有问题,我感觉小狼毫有问题的可能性更大
    sungnix
        5
    sungnix  
    OP
       Aug 26
    @henix 感谢确认,我用其他输入法试试。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1559 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:30 · PVG 00:30 · LAX 09:30 · JFK 12:30
    ♥ Do have faith in what you're doing.