• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hadixlin
V2EX  ›  程序员

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

  •  1
     
  •   hadixlin · Apr 1, 2017 · 5221 views
    This topic created in 3505 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

    Supplement 1  ·  Apr 1, 2017
    昨晚发布的插件有 NPE 问题.
    请更新一下
    https://pan.baidu.com/s/1qXQUVz2
    Supplement 2  ·  Apr 7, 2017

    插件已整理发布到GitHub

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

    欢迎大家提意见和需求.

    Supplement 3  ·  Apr 9, 2017

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

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

    晚点儿代码整理好了,会放到 github 上.
    xiaohanqing
    xiaohanqing
    Apr 1, 2017 via Android
    12
    我在 Windows 下有相同的实现,通过 libcall
    hadixlin
    hadixlin
    OP
    Apr 1, 2017 via Android
    13
    @xiaohanqing 我不会写 windows 代码,我把头文件给你,可以帮忙写个 windows 的实现吗?
    jinboker
    jinboker
    Apr 2, 2017
    14
    这个为啥不放到 github 上呢
    hadixlin
    hadixlin
    OP
    Apr 2, 2017 via Android
    15
    @jinboker 代码整理好会放在上面
    xiaohanqing
    xiaohanqing
    Apr 2, 2017 via Android
    16
    Echoldman
    Echoldman
    Apr 2, 2017
    17
    我用 ctrl+I 作为切换输入发的方式。这样会到导致无效吗?我 10.12.4 , PHPStrom 2017.1
    hadixlin
    hadixlin
    OP
    Apr 2, 2017 via Android❤️1
    18
    @Echoldman 跟快捷键设置无关,只是调用 macOS 的系统 api 把输入法切换到美国英文键盘
    sadhen
    sadhen
    Apr 2, 2017
    19
    👍
    aristotll
    aristotll
    Apr 3, 2017
    20
    mark for github
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4932 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 70ms · UTC 08:45 · PVG 16:45 · LAX 00:45 · JFK 03:45
    ♥ Do have faith in what you're doing.