V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
e1o
V2EX  ›  程序员

想请问下有用 IdeaVim 的小伙伴吗

  •  
  •   e1o · Jan 18, 2021 via Android · 6613 views
    This topic created in 1933 days ago, the information mentioned may be changed or developed.

    一直听别人说 Vim 有多厉害,但是自己用了两天这个插件,感觉很多快捷键 Idea 本身已经有了,能问下大家什么想法

    29 replies    2021-03-09 14:03:59 +08:00
    ericls
        1
    ericls  
       Jan 18, 2021
    现在不用 idea 了,以前用的时候纯粹是因为肌肉记忆没有 vim 不会用
    现在用 vscode 也是需要用 vim 插件
    ericls
        2
    ericls  
       Jan 18, 2021
    自己用着舒服就好不要听别人说
    iintothewind
        3
    iintothewind  
       Jan 18, 2021
    我一直是 vim 操作习惯.
    如果 intellij 没有 vim 插件, 估计我就没办法好好写代码了.
    块编辑还是用 vim 的快捷键更好用, 比如选择单引号, 双引号, 括号里面的内容, 不需要用鼠标选择, 直接 di*就可以了.
    另外配合 acejump 就可以做到跟 auto motion 差不多的功能了, 指哪打哪, 让人脱离对 touch pad 和鼠标的依赖, 写代码真的是享受.
    guog
        4
    guog  
       Jan 18, 2021 via Android
    一直在用,vim 已经肌肉记忆了。没 vim 都不会写代码了…
    Leviathann
        5
    Leviathann  
       Jan 18, 2021 via iPhone
    ideavim 可以用 map 映射 intellij 的 action
    本身很多 intellij 用 ctrl alt shift+字符组成的快捷键是很反人体工学的也难记忆
    Lemeng
        6
    Lemeng  
       Jan 18, 2021   ❤️ 1
    我的习惯是,别人推荐的所有同类产品,都用用,总有一款适合自己
    weixiangzhe
        7
    weixiangzhe  
       Jan 18, 2021 via Android
    vim 插件一个好处就是几乎每个编辑器 ide 都有,我自从 16 年切到 vim 后,用其他编辑器 ide 啥的就再也没有记过他们的快捷键了。
    再者 vim 的键位是真滴高效,习惯后基本不会去用 ide 自带的键位了
    Immortal
        8
    Immortal  
       Jan 18, 2021
    赞同 5l 说的
    灵活变通一些 你觉得有的或者 idea 的更好用的就直接用 idea 的
    ideavim 的优势就是在于直接可以用 map 映射 intellij 的 action
    例如 R 在 vim 里是批量修改字符 我直接映射到了批量修改变量 /方法名(idea 里应该是 f6)
    vim 除了键位高效,还有一点是可定制性强,光熟悉了键位只是入门
    namelosw
        9
    namelosw  
       Jan 18, 2021
    感觉不同快捷键定位不一样吧, Intellij 的大部分快捷键功能相关的居多, 编辑相关的快捷键很少, 比如删掉括号内的东西, 用 Vim 就是 Di(, Intellij 就算有也不好记, 记住了换个 IDE 又没法用.

    我是 Intellij + IdeaVim + Mac 自带的 GNU readline (就是 bash 的快捷键, 有点像 Emacs 快捷键的子集) 三套一起用. VSCode 也类似.

    IDE 的功能就用 Intellij 的, 重构, 开窗口, 跑测试之类的.

    中型 /大型动作(大于两个按键) 用 Vim 快捷键, 如果 Vim 用习惯了, 你会发现大部分操作都是 3 个按键解决.
    但是 Vim 小动作比较尴尬, 比如删行, readline C-k 在 Vim 里就要 d$, 向前删词 M-d Vim 就要 dw.

    小动作(前后左右, 行首尾, 删行, 跳词等等) 用 readline, 这样一个组合解决, 而且不用摸很远的方向键和 Home/End 这些区域.
    xloger
        10
    xloger  
       Jan 18, 2021
    我当时刚用 vim 也是这感受,很多操作我已经习惯用 IDEA 的快捷键了,换了 vim 感觉提升没有那么多.
    vim 你也可以理解成是一套快捷操控键盘输入的方式,只是它更通用,你写 Java 用 IDEA,写 C++ 用 VS,连服务器用 nano,不同的 IDE 的快捷键不一样,需要学习成本,而用 vim 能很好解决这个问题.
    [当然,最终我还是放弃 vim 用快捷键了,毕竟我觉得键鼠结合才是最合适我的方案.
    Les1ie
        11
    Les1ie  
       Jan 18, 2021
    我是在用 jetbrains 之前用的 vim,开始用 jetbrains 全家桶之后,代码编辑有很多快捷键,一个一个记不完,只记得复制移动注释格式化的几个常见快捷键,直到装了 IdeaVim,操控的感觉一下子就回来了 :) 所以我现在常用的编辑器一般会装 vim 类插件。

    Idea 自己的快捷键和 IdeaVim 也不是一定要褒其中一个就要踩另一个,不是非黑即白的,我感觉两个都可以都用,选择自己顺手的那个就好,比如我觉得使用 vim 更容易学,记忆负担比较轻,那我就 vim,如果另一个人觉得 vim 操作反人类,那他可以用 idea 自己的快捷键,如果第三个人觉得快捷键这种功能没有什么用,写代码重要的是思路而不是操作速度,那他也可以用鼠标选择+键盘的方式控制自己的输入,并不影响他成为大神。

    另外,建议少看一点为了流量无脑尬吹各种东西的文章,没有营养,还会让人无法正常思考 :)
    chippai
        12
    chippai  
       Jan 18, 2021
    一直用,至于 idea 原生的快捷键,我都不记,一堆联合键反人类;现在的要么映射到 vim,要么自己改键(只用 option + xxx)。vscode,chrome 也都是用 vim 。
    chendy
        13
    chendy  
       Jan 18, 2021
    特意花了一小段时间学习 vim,然后装了这个插件,发现和 idea 自己的快捷键冲突有点多,折腾了几天就放弃了
    用得来就用,用不来就弃,没啥大不了的……
    Kasumi20
        14
    Kasumi20  
       Jan 18, 2021
    有了 vim,还记啥快捷键?
    lancelock
        15
    lancelock  
       Jan 18, 2021
    vim 的优点是高效,通用。vim 的编辑方式和快捷键也不是一个思路,两者又不冲突
    Takamine
        16
    Takamine  
       Jan 18, 2021 via Android
    我是绝大部分的快捷键都给了 IDEA,就有几个组合键保留给 vim 了。结合着用,自己怎么舒服怎么来就好了。
    TJT
        17
    TJT  
       Jan 18, 2021
    yzbythesea
        18
    yzbythesea  
       Jan 18, 2021
    常用 Vim 也常用 Intellij,但是不用 IdeaVim,有种脱了裤子放屁的感觉。。。毕竟 Intellij 这种现代 UI 产品,就不是让你按 Vim 的路子用的。
    TJT
        19
    TJT  
       Jan 18, 2021
    @yzbythesea ideavim 就是 JetBrains 官方开发的, 配置一下效率非常高, 基本所有操作都不用鼠标
    aodiquan
        20
    aodiquan  
       Jan 18, 2021   ❤️ 1
    vim 的意义在于统一所有编辑器的操作,基本主流编辑器都有 vim 插件,这样不用记忆不同编辑器的快捷键,vscode 有 idea 快捷键插件还好点,别的编辑器未必有这种插件,重新设置一遍快捷键很累
    可以根据需要保留或者修改 ideaVim 的配置,idea 的 vim 插件是我见过跟自身插件结合得最好的 vim 插件,可以设置快捷键调用 idea 其他插件的命令,其他的 vscode 之类的 vim 只能用自己的,不能调用别的插件,这是我的配置
    https://gist.github.com/aodiquan/c9ff47ab31f22711beafcc358d8bb2fd
    DrakeXiang
        21
    DrakeXiang  
       Jan 18, 2021
    把 idea 和 vim 相同功能的快捷键列出来你再看选哪个
    darksword21
        22
    darksword21  
    PRO
       Jan 18, 2021
    如果已经喜欢了 vim 就用,没有的话没必要为了用而用
    ysn2233
        23
    ysn2233  
       Jan 18, 2021   ❤️ 1
    我用 ideavim ctrl+s/a/c/x/f/r/h 用的 idea 快捷键,其他都用原生的
    nightwitch
        24
    nightwitch  
       Jan 18, 2021
    我把所有冲突的快捷键都禁用了,基本只用 vim 的操作。在不同的 ide 里工作基本不需要考虑其他快捷键,拿到手都是一样的
    goinghugh
        25
    goinghugh  
       Jan 18, 2021
    使用 ideavim,用惯了就离不开了,只要是编辑文件的,如果有 vim 插件我都会安装上。
    推荐给同事过,同事觉得不如 ide 的快捷键好用,习惯用就用,不习惯就不用,没有必要非得用它。
    itgoyo
        26
    itgoyo  
       Jan 18, 2021
    vim 厉害的不是软件,是操作方式,如果你已经产生肌肉记忆,估计没有 Vim 你什么都干不了,这个是真的不和你开玩笑。
    hankli
        27
    hankli  
       Jan 18, 2021
    ideavim 和 idea 快捷键一块用,爽的一批,反正冲突也没几个,mac 的哦
    jingcoco
        28
    jingcoco  
       Mar 9, 2021
    @aodiquan 感觉**VIM**开头的都失效了.....比如 VimWindowLeft,请问一下你配置的思路 是用:actionlist 搜索一下然后写的吗,没看到[ideavim github]( https://github.com/JetBrains/ideavim) 上哪有这个 action list.....花了好一会找没看到
    aodiquan
        29
    aodiquan  
       Mar 9, 2021   ❤️ 1
    @jingcoco ideaVim 有个独特的命令 [:actionlist] ,跟 vim 退出命令:q 一样,展示支持的功能映射,VimWindowLeft 搭配那个 VimWindowSplitHorizontal 和 VimWindowSplitVertical 用的,如果只是在同一个窗口切换标签,最后有配 nnoremap J gt 和 nnoremap K gT,配置思路是大致扫一下 actionlist 的内容,如果某个功能有对应快捷键会有标记,可以根据快捷键看出某个功能的效果,如果用得多就配进 ideaVim 里,没有快捷键的功能比较少用,有需要才会去找找看 ideaVim 支不支持
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   989 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 80ms · UTC 23:13 · PVG 07:13 · LAX 16:13 · JFK 19:13
    ♥ Do have faith in what you're doing.