V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hadixlin
V2EX  ›  程序员

IdeaVim 扩展插件:退出插入模式时自动切换为英文状态

  •  
  •   hadixlin · 2017-04-07 12:24:32 +08:00 · 3665 次点击
    这是一个创建于 2772 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    已经整理发布到了GitHub请有需要的朋友下载.

    也已经提交到 jetbrain 的插件中心,过几天审核通过或许就可以直接在 IDEA 中搜索到该插件进行安装了.

    预编译的版本,可以通过百度网盘下载ideavim_extension

    第 1 条附言  ·  2017-04-07 22:53:03 +08:00
    补充说明,插件的原理是利用系统 API 来切换输入法,为默认的美式英文键盘.
    所以系统必须在输入源(Input Source)开启这个键盘.
    第 2 条附言  ·  2017-04-09 14:44:55 +08:00

    增加了回到插入模式恢复之前的输入法的能力

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

    17 条回复    2017-05-16 14:14:48 +08:00
    aristotll
        1
    aristotll  
       2017-04-07 13:13:00 +08:00
    顶一个 问个问题 native 的 extension 是怎么写的
    libinput-source-switcher.dylib 里面是啥
    ixx
        2
    ixx  
       2017-04-07 13:35:01 +08:00
    有输入法要求吗?我用的百度五笔插件好像没有作用。。
    hadixlin
        3
    hadixlin  
    OP
       2017-04-07 22:50:18 +08:00
    @ixx 跟你用什么中文输入法无关的,但是必须在输入法里面开启默认的英文键盘.
    hadixlin
        4
    hadixlin  
    OP
       2017-04-07 22:50:58 +08:00   ❤️ 1
    bao3
        5
    bao3  
       2017-04-07 23:24:34 +08:00
    为什么不是直接使用 smartim ?我一直就用这货。
    hadixlin
        6
    hadixlin  
    OP
       2017-04-07 23:26:25 +08:00
    @bao3 那是用在 vim 中,现在这个是用在 Intellij IDEA 中配合 IdeaVim 使用的.
    hadixlin
        7
    hadixlin  
    OP
       2017-04-07 23:27:07 +08:00
    @bao3 我也在命令行的 vim 中尝试使用 smartim 但一直没生效,测试过它的命令行工具是 OK 的.
    hh4062703
        8
    hh4062703  
       2017-04-09 23:33:20 +08:00 via iPhone
    这个正需要。
    ixx
        9
    ixx  
       2017-04-17 16:13:50 +08:00
    @hadixlin 你是说那个默认的 ABC 吧 我的一直是开启的
    hadixlin
        10
    hadixlin  
    OP
       2017-04-18 07:44:20 +08:00 via Android
    @ixx 你是 windows?这个插件现在只支持 mac
    ixx
        11
    ixx  
       2017-05-08 17:11:24 +08:00
    @hadixlin 使用的是 mac 我看插件中心也有了 装上了还是没效果。。。只有我自己反馈是没效果的?
    hadixlin
        12
    hadixlin  
    OP
       2017-05-08 23:19:23 +08:00 via Android
    @ixx 这个命令用了没
    :set switch-to-english-when-exit-insert-mode
    系统的英文输入法开启了没
    ixx
        13
    ixx  
       2017-05-10 13:03:58 +08:00
    @hadixlin 用了 也写到配置文件里了 都不行 系统英文输入法没改过 就是 ABC 那个,自己装的百度五笔
    hadixlin
        14
    hadixlin  
    OP
       2017-05-10 14:08:31 +08:00 via Android
    @ixx 你的问题要具体看一下了,可以加我的 QQ 给我发个截图看看
    hadixlin
        15
    hadixlin  
    OP
       2017-05-10 14:09:24 +08:00 via Android
    @ixx 89477048
    ixx
        16
    ixx  
       2017-05-16 12:04:58 +08:00
    @hadixlin 加你了,你看一下
    ixx
        17
    ixx  
       2017-05-16 14:14:48 +08:00
    @hadixlin 感谢作者 是默认输出法的问题,应该使用 英文---美国 输入法 之前一直用的 ABC
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2539 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 01:31 · PVG 09:31 · LAX 17:31 · JFK 20:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.