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

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

  •  
  •   e1o · 2021-01-18 12:20:30 +08:00 via Android · 5052 次点击
    这是一个创建于 1165 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    29 条回复    2021-03-09 14:03:59 +08:00
    ericls
        1
    ericls  
       2021-01-18 12:31:19 +08:00
    现在不用 idea 了,以前用的时候纯粹是因为肌肉记忆没有 vim 不会用
    现在用 vscode 也是需要用 vim 插件
    ericls
        2
    ericls  
       2021-01-18 12:31:37 +08:00
    自己用着舒服就好不要听别人说
    iintothewind
        3
    iintothewind  
       2021-01-18 12:33:36 +08:00
    我一直是 vim 操作习惯.
    如果 intellij 没有 vim 插件, 估计我就没办法好好写代码了.
    块编辑还是用 vim 的快捷键更好用, 比如选择单引号, 双引号, 括号里面的内容, 不需要用鼠标选择, 直接 di*就可以了.
    另外配合 acejump 就可以做到跟 auto motion 差不多的功能了, 指哪打哪, 让人脱离对 touch pad 和鼠标的依赖, 写代码真的是享受.
    guog
        4
    guog  
       2021-01-18 12:39:19 +08:00 via Android
    一直在用,vim 已经肌肉记忆了。没 vim 都不会写代码了…
    Leviathann
        5
    Leviathann  
       2021-01-18 12:39:48 +08:00 via iPhone
    ideavim 可以用 map 映射 intellij 的 action
    本身很多 intellij 用 ctrl alt shift+字符组成的快捷键是很反人体工学的也难记忆
    Lemeng
        6
    Lemeng  
       2021-01-18 12:45:57 +08:00   ❤️ 1
    我的习惯是,别人推荐的所有同类产品,都用用,总有一款适合自己
    weixiangzhe
        7
    weixiangzhe  
       2021-01-18 12:49:32 +08:00 via Android
    vim 插件一个好处就是几乎每个编辑器 ide 都有,我自从 16 年切到 vim 后,用其他编辑器 ide 啥的就再也没有记过他们的快捷键了。
    再者 vim 的键位是真滴高效,习惯后基本不会去用 ide 自带的键位了
    Immortal
        8
    Immortal  
       2021-01-18 12:51:54 +08:00
    赞同 5l 说的
    灵活变通一些 你觉得有的或者 idea 的更好用的就直接用 idea 的
    ideavim 的优势就是在于直接可以用 map 映射 intellij 的 action
    例如 R 在 vim 里是批量修改字符 我直接映射到了批量修改变量 /方法名(idea 里应该是 f6)
    vim 除了键位高效,还有一点是可定制性强,光熟悉了键位只是入门
    namelosw
        9
    namelosw  
       2021-01-18 13:29:25 +08:00
    感觉不同快捷键定位不一样吧, 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  
       2021-01-18 13:48:28 +08:00
    我当时刚用 vim 也是这感受,很多操作我已经习惯用 IDEA 的快捷键了,换了 vim 感觉提升没有那么多.
    vim 你也可以理解成是一套快捷操控键盘输入的方式,只是它更通用,你写 Java 用 IDEA,写 C++ 用 VS,连服务器用 nano,不同的 IDE 的快捷键不一样,需要学习成本,而用 vim 能很好解决这个问题.
    [当然,最终我还是放弃 vim 用快捷键了,毕竟我觉得键鼠结合才是最合适我的方案.
    Les1ie
        11
    Les1ie  
       2021-01-18 14:36:05 +08:00
    我是在用 jetbrains 之前用的 vim,开始用 jetbrains 全家桶之后,代码编辑有很多快捷键,一个一个记不完,只记得复制移动注释格式化的几个常见快捷键,直到装了 IdeaVim,操控的感觉一下子就回来了 :) 所以我现在常用的编辑器一般会装 vim 类插件。

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

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