sungnix
V2EX  ›  Vim

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

  •  
  •   sungnix · 13 days ago · 942 views
    我的 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 replies    2026-07-09 09:19:24 +08:00
    bsidb
        1
    bsidb  
       13 days ago
    coldle
        2
    coldle  
       12 days ago
    把输入法换成 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
       12 days ago
    感谢二位的解答,我试试插件的方式。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3204 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 594ms · UTC 13:51 · PVG 21:51 · LAX 06:51 · JFK 09:51
    ♥ Do have faith in what you're doing.