V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hadixlin
V2EX  ›  程序员

IDEA 的 ideavim 插件使用问题

  •  
  •   hadixlin · 2017-03-29 13:11:47 +08:00 · 5034 次点击
    这是一个创建于 2829 天前的主题,其中的信息可能已经有所发展或是发生改变。

    其实所有的 vim 都有这个问题,就是正在使用中文输入法编辑中文,切换回 normal 模式的时候,需要自己再切换一次输入法到英文才能正常进行 vim 操作.

    请问有人有解决方案吗?

    第 1 条附言  ·  2017-04-01 01:35:32 +08:00

    参照smartim的代码写了个本地动态库,然后开发了一个小插件.作为IdeaVIm的扩展.

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

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

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

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

    14 条回复    2017-03-29 18:05:28 +08:00
    ufo22940268
        1
    ufo22940268  
       2017-03-29 13:17:02 +08:00
    解决方案就是:

    > 正在使用中文输入法编辑中文,切换回 normal 模式的时候,需要自己再切换一次输入法到英文才能正常进行 vim 操作
    Jaylee
        2
    Jaylee  
       2017-03-29 13:17:30 +08:00
    我是按 shift 切换中英文,感觉还好
    zacard
        3
    zacard  
       2017-03-29 13:17:35 +08:00
    切回 normal 的时候按下 shift
    hadixlin
        4
    hadixlin  
    OP
       2017-03-29 13:22:10 +08:00
    @zacard 这样还是有问题的,不是每次都要按下 shift,有时候本来就是英文状态.这样不能行程惯性习惯,键盘操作很不友好.
    lonenol
        5
    lonenol  
       2017-03-29 13:25:19 +08:00
    1. 写英文注释
    2. 让中文输入法打完一组汉子后自动切换到英文状态(并不知道怎么办到
    leohxj
        6
    leohxj  
       2017-03-29 13:29:20 +08:00
    输入完中文,手动切换输入法,你就当进入了另外一个模式, chinese-mode :)
    hadixlin
        7
    hadixlin  
    OP
       2017-03-29 13:33:56 +08:00
    @lonenol 1. 英文书写能力有限,全部写英文注释不可能,团队成员也不可能看得懂.还有些提示消息文案什么的一定是中文的.
    2. 自动切换英文并不是不可能,我改了一下 ideavim 的代码调用 github 上 ybian/smartim 这个项目里面的 im-select 可以实现.但是这个好麻烦,所以想在这里问问有没有其他人有类似的经验可以分享.
    ladrift
        8
    ladrift  
       2017-03-29 13:35:25 +08:00 via Android
    fcitx.vim 插件,可以在进入 normal 后自动切到英文,进入 insert 再切到中文, macOS 上试过可用, Linux 上应该也可以
    hadixlin
        9
    hadixlin  
    OP
       2017-03-29 13:35:38 +08:00
    @leohxj vim 本就引入了几种模式已经玩不转了,好在所有的模式按 esc 都能返回 normal,但是你说的 chinese-mode 是独立的需要另外一种操作才能返回 english.习惯上不好做.
    hadixlin
        10
    hadixlin  
    OP
       2017-03-29 13:37:19 +08:00
    @ladrift 首先我是要在 ideavim 里面用,应该是不支持原生的 vim 插件的.

    还有命令行里面的 vim 我也需要这个自动切换的功能,昨天试了一下 ybian/smartim 不知道为什么不生效.
    看了 fcitx.vim 的说明以为只能在 linux 下配合 fcitx 输入法使用.这个具体要怎么用?请指教
    Immortal
        11
    Immortal  
       2017-03-29 14:40:02 +08:00
    有发现这个问题
    倒是没觉得很难受
    shift 切换中英文就多按一下 毕竟注释只在关键点写
    caixiexin
        12
    caixiexin  
       2017-03-29 14:51:16 +08:00 via Android
    毕竟不是天天写注释,还算能接受
    searene
        13
    searene  
       2017-03-29 15:14:56 +08:00
    只写英文就行了
    zacard
        14
    zacard  
       2017-03-29 18:05:28 +08:00
    @hadixlin 写完中文后按 shift
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5551 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 08:12 · PVG 16:12 · LAX 00:12 · JFK 03:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.