在 IdeaVim 中退出插入模式后自动切换输入法为英文 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
hadixlin

在 IdeaVim 中退出插入模式后自动切换输入法为英文

  •  1
     
  •   hadixlin 2017 年 4 月 1 日 4735 次点击
    这是一个创建于 3311 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前发过一个帖子咨询大家的处理经验. 之后搜索网上一些资料,最终通过参照smartim写了个插件,初步解决该问题.

    安装后在编辑器中输入":set switch-to-english-when-exit-insert-mode",这个把这个命令加入到~/.ideavimrc 中,即可启用该功能.

    目前只能支持 macOS 因为不会写 LInux/Windows 的 Native 代码,希望有兴趣的朋友可以帮忙补充.

    有需要的朋友可以下载安装,多提意见.

    https://pan.baidu.com/s/1nuMXnIx

    注意该插件依赖 IdeaVim 需要先安装 IdeaVim,毕竟是作为它的扩展存在的,如果不用 IdeaVim 那么我的插件也没什么用.

    第 1 条附言    2017 年 4 月 1 日
    昨晚发布的插件有 NPE 问题.
    请更新一下
    https://pan.baidu.com/s/1qXQUVz2
    第 2 条附言    2017 年 4 月 7 日

    插件已整理发布到GitHub

    https://github.com/hadix-lin/ideavim_extension

    欢迎大家提意见和需求.

    第 3 条附言    2017 年 4 月 9 日

    增加了回到插入模式恢复之前的输入法的能力,详情查看GitHub

    20 条回复    2017-04-03 03:19:52 +08:00
    weixiangzhe
        1
    weixiangzhe  
       2017 年 4 月 1 日 via iPhone
    马克下
    ahjsrhj
        2
    ahjsrhj  
       2017 年 4 月 1 日 via iPhone
    Mark
    lonenol
        3
    lonenol  
       2017 年 4 月 1 日
    厉害
    lonenol
        4
    lonenol  
       2017 年 4 月 1 日
    已测试好用.
    要是直接能切换到当前输入法的英文模式就更好了(类似于按了 shift 键)
    forbreak
        5
    forbreak  
       2017 年 4 月 1 日
    mark
    AbrahamGreyson
        6
    AbrahamGreyson  
       2017 年 4 月 1 日 via iPhone
    太感谢了,这个问题逼疯我。
    jixiangqd
        7
    jixiangqd  
       2017 年 4 月 1 日
    好用。。
    要是切走以后能再切回来就好了,或者像 @lonenol 说的那样,按 shift 就好了
    hadixlin
        8
    hadixlin  
    OP
       2017 年 4 月 1 日
    @jixiangqd 我也想这样,如果输入法提供外部接口,也是可以做到这样的.
    hadixlin
        9
    hadixlin  
    OP
       2017 年 4 月 1 日
    @jixiangqd 下次更新加上保存输入发状态的功能,回到插入模式后切回来.敬请期待.
    jixiangqd
        10
    jixiangqd  
       2017 年 4 月 1 日
    @hadixlin 如果直接系统级模拟 shift 按键是不是就能实现了? github 开源吧,这样更新了还能接到 notify~
    hadixlin
        11
    hadixlin  
    OP
       2017 年 4 月 1 日
    @jixiangqd 我是做 Java 的不了解也不会写操作系统 API,如果有人能贡献本地动态库的话,就可以做了.

    晚点儿代码整理好了,会放到 github 上.
    xiaohanqing
        12
    xiaohanqing  
       2017 年 4 月 1 日 via Android
    我在 Windows 下有相同的实现,通过 libcall
    hadixlin
        13
    hadixlin  
    OP
       2017 年 4 月 1 日 via Android
    @xiaohanqing 我不会写 windows 代码,我把头文件给你,可以帮忙写个 windows 的实现吗?
    jinboker
        14
    jinboker  
       2017 年 4 月 2 日
    这个为啥不放到 github 上呢
    hadixlin
        15
    hadixlin  
    OP
       2017 年 4 月 2 日 via Android
    @jinboker 代码整理好会放在上面
    xiaohanqing
        16
    xiaohanqing  
       2017 年 4 月 2 日 via Android
    Echoldman
        17
    Echoldman  
       2017 年 4 月 2 日
    我用 ctrl+I 作为切换输入发的方式。这样会到导致无效吗?我 10.12.4 , PHPStrom 2017.1
    hadixlin
        18
    hadixlin  
    OP
       2017 年 4 月 2 日 via Android   1
    @Echoldman 跟快捷键设置无关,只是调用 macOS 的系统 api 把输入法切换到美国英文键盘
    sadhen
        19
    sadhen  
       2017 年 4 月 2 日
    aristotll
        20
    aristotll  
       2017 年 4 月 3 日
    mark for github
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1654 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 54s UTC 16:23 PVG 00:23 LAX 09:23 JFK 12:23
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86