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

IDEA 的 ideavim 插件使用问题

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

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

    请问有人有解决方案吗?

    第 1 条附言    2017 年 4 月 1 日

    参照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 年 3 月 29 日
    解决方案就是:

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

    还有命令行里面的 vim 我也需要这个自动切换的功能,昨天试了一下 ybian/smartim 不知道为什么不生效.
    看了 fcitx.vim 的说明以为只能在 linux 下配合 fcitx 输入法使用.这个具体要怎么用?请指教
    Immortal
        11
    Immortal  
       2017 年 3 月 29 日
    有发现这个问题
    倒是没觉得很难受
    shift 切换中英文就多按一下 毕竟注释只在关键点写
    caixiexin
        12
    caixiexin  
       2017 年 3 月 29 日 via Android
    毕竟不是天天写注释,还算能接受
    searene
        13
    searene  
       2017 年 3 月 29 日
    只写英文就行了
    zacard
        14
    zacard  
       2017 年 3 月 29 日
    @hadixlin 写完中文后按 shift
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     883 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 45ms UTC 21:48 PVG 05:48 LAX 14:48 JFK 17:48
    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