• 请不要在回答技术问题时复制粘贴 AI 生成的内容
w568w
V2EX  ›  程序员

你还在用 Vim 吗?你为什么用它?

  •  
  •   w568w ·
    w568w · 1 day ago · 5450 views

    这里的「用」其实有两层意思:

    1. 只是偶尔用一用,作为临时的文件编辑器;
    2. 在实际开发工作中频繁使用。

    我发现我身边很多 前 C/C++ 程序员 都喜欢用 Vim 。即使有了 AI ,也是 Vim + Claude Code 搭配使用。问他们是怎么记住那些键位和复杂操作的,怎么熟悉 Normal 和 Visual 的多模式编辑,以及为什么不使用 VSCode ,回答基本都是「习惯了」。而且我看他们的开发效率,都挺高的,并没有因为编辑器而降低。

    我自己以前读大学的时候也赶潮流学过一段时间 Vim ,但感觉用不明白,干啥都费劲,最后还是用回 VSCode 了。现在也就知道 hjkl ,没了。

    各位现在还会用 Vim (或者在 IDE 里配置 Vim 的按键绑定)吗?为什么使用呢?

    84 replies    2026-08-25 21:36:17 +08:00
    chendy
        1
    chendy  
       1 day ago   ❤️ 1
    不用 vim ,但是用各种 vim 插件,包括但不限于 idea ,vscode ,obsidian
    就是习惯了,手就放键盘上不用去够鼠标
    wfg
        2
    wfg  
       1 day ago via iPhone
    因为真的好用,你刚开始学当然效率很低,Vim 的学习曲线比较陡峭。熟练了之后,在没有 Vim 的环境里编辑文本就像在用脚拿鼠标键盘。
    acr0ss
        3
    acr0ss  
       1 day ago
    我不熟练,但使用 vim 最大的好处就是双手都不用离开键盘。
    newaccount
        4
    newaccount  
       1 day ago
    如果作为文件编辑器,那命令行用用还行,服务器嘛,有啥用啥,能用就行啊
    如果用来查日志,那真是越用越顺手,一旦习惯了用正则查找文本,不管用哪个,总会习惯性先打开这玩意过滤一下
    qfdk
        5
    qfdk  
       1 day ago
    服务器用, 用起来真麻烦. 想起来第一次用,那个折腾啊....
    darksword21
        6
    darksword21  
       1 day ago
    用 emacs ,第一次是为了装逼,后面是真好用
    qfdk
        7
    qfdk  
       1 day ago
    后来经历了各种配置,学会了 vim, 发现了 lazyvim 还是靠谱的
    keenkiller
        8
    keenkiller  
       1 day ago
    vim 用习惯了其实还好。

    不过我个人觉得这个技能未来应该不需要了,即使是服务器,未来可能也是用 agent 改,不需要自己动手了。
    noahliaszn
        9
    noahliaszn  
       1 day ago
    肌肉记忆哈
    w568w
        10
    w568w  
    OP
       1 day ago
    @chendy @wfg @acr0ss 我个人感觉是这样:工作毕竟不是纯写代码,不可避免手要经常离开键盘(很多应用无法键盘控制,比如飞书、微信、钉钉、托盘图标、复杂的浏览器网页等),所以用鼠标/触摸板好像也不是那么大不韪的事情。
    banzhi
        11
    banzhi  
       1 day ago
    banzhi
        12
    banzhi  
       1 day ago   ❤️ 6
    Frankcox
        13
    Frankcox  
       1 day ago
    你当程序员或多或少会有 ssh 到一些啥都没有的服务器上,想要编辑个脚本要么 vi ,要么 vim
    defunct9
        14
    defunct9  
       1 day ago
    习惯了。几百台服务器,上面缺省只有 vi ,且都得通过狗日的跳板机,让我怎么操作
    henix
        15
    henix  
       1 day ago
    我是 Vim + VSCode / Sublime Text 在 Win 上搭配使用
    Vim 有个功能别的编辑器没有:
    :vs 左右分栏 :sp 上下分栏,且分块在 tab 里面(我用 gvim 那个 tab 直接用鼠标点)
    VSCode 左右分栏的层级高于 tab ,没法实现“同一个屏幕 4 个分块”,以及“切换 tab 时换成另外 4 个分块”这类操作
    另外我推荐用 https://github.com/vim-scripts/AutoComplPop 词法补全,比那些语义补全轻量而且基本够用
    要语义补全就用 VSCode
    MHPSY
        16
    MHPSY  
       1 day ago
    多年主力 nvim 快捷键最多一个礼拜就肌肉记忆了
    lel020
        17
    lel020  
       1 day ago
    命令行环境编辑文件只使用 vim ,其他情况就不用了,ide 也不会想绑定 vim 键位,
    除了没有图形的服务器,本地也会安装 vim ,有时会用命令行操作什么,临时需要编辑就是用 vim ,
    xi4oh4o
        18
    xi4oh4o  
       1 day ago
    一直 Vim 主力,后来 neovim + lazyvim 很好用。

    不过 AI 以后基本没再古法编程了。
    redbule
        19
    redbule  
       1 day ago
    效率高是一种错觉,有些人只是喜欢双手不离开键盘罢了。

    现在代码都不手写了,用啥都随便,能看就行
    abolast
        20
    abolast  
       1 day ago
    作为运维百分百都使用 vim ,因为这是每个发行版都自带的(至少有 vi),并且我是原教旨主义我不用任何一切非内置的插件,也不编写任何插件/脚本。
    至于说怎么记住那么多快捷键,手熟而已,其实日常高效操作也不需要记那么多。
    L4Linux
        21
    L4Linux  
       1 day ago
    在用 Emacs 呢
    zhangyoucaiyo
        22
    zhangyoucaiyo  
       1 day ago
    因为最开始接触 linux 的时候就用 vim 习惯了 vim 有时候没装就是 vi
    ftfunjth
        23
    ftfunjth  
       1 day ago
    tmux + vim 。vim 里打开 pi,claude,codex 。 大家都是 ai 编程,vim 用来 review 代码改动还是挺好。
    ruchee
        24
    ruchee  
       1 day ago
    还在用。习惯使然,曾经用 Vim 直接在服务器改代码,别的不好搞
    frank1256
        25
    frank1256  
       1 day ago
    tmux+codex+vim ,idea 也得用 vim 的 plugin ,能不碰鼠标就不碰
    shawnsh
        26
    shawnsh  
       1 day ago via Android
    @redbule 你是没看大佬在油管直播写代码用的 vim ,界面切换的你看不出在干什么,很快很快
    crazykk
        27
    crazykk  
       1 day ago via iPhone
    使用;效率高多用于浏览器的 vim ;全局系统 vim 和开发 vim
    jark006
        28
    jark006  
       1 day ago
    一般只在编辑小文件时使用 vim ,但也不常用,偶尔也用 nano
    a1562619919
        29
    a1562619919  
       1 day ago
    直播写代码时用鼠标点点点太掉价了,全程键盘操作比较有观赏性
    hujnnn
        30
    hujnnn  
       1 day ago
    打开 v2 站点, 看到你的帖子信息,拉到最底留言,发帖再刷新都是通过 vim 插件完成的。
    Morgan2
        31
    Morgan2  
       1 day ago
    @hujnnn shift g
    oktango
        32
    oktango  
       1 day ago
    能支持 VIM 模式的软件,全部打开 VIM 模式了!
    noahhhh
        33
    noahhhh  
       1 day ago
    服务器上只有 vi ,不学怎么用
    yuancoder
        34
    yuancoder  
       1 day ago
    说一个使用 vim 的场景, 用笔记本键盘的时候, 笔记本的方向键都很小, 经常按错, 这时候 vim 就方便多了
    huangmingyou
        35
    huangmingyou  
       1 day ago
    用了 20 年 vim , vimrc 看了一下,只有 7 行.
    sixdog06
        36
    sixdog06  
       1 day ago
    按方向键, 用鼠标很烦, 虽然现在也不怎么手写代码了.. 而且跨 ide, 跨平台快捷键也一致. 操作上只是看起来复杂, 实际用的时候都是肌肉记忆
    weixiangzhe
        37
    weixiangzhe  
       1 day ago
    不用 vim, 但是所有编辑器 ide 都装了 vim mode 的扩展
    chjqpmain
        38
    chjqpmain  
       1 day ago
    @frank1256 我也是,我现在经常用就是为了方便 review ai 产出和写自己东西用 vim,我用的 cmux, 和 nvim
    但我最开始变成键盘党,感受到不用鼠标的舒服是浏览器的 vimiumc 的扩展,就是喜欢手在键盘而不在鼠标上,加上觉得 vim 这种很帅,很享受
    在 windows 时候没锻炼起来,
    但现在换了 macos 后 为了 提高多 agent 水平上限(高效看任何一个 agent 或者祂指挥的子 agent 的状态)
    练起来了
    而且现在系统桌面级也配了一堆方便全键盘操作的东西,
    目前只有刚开电脑,启动各个常驻软件用鼠标
    剩下时候就是全键盘+ raycast2
    LotusChuan
        39
    LotusChuan  
       1 day ago
    vim 现在和 vscode 用的同款 lsp ,补全体验没什么区别,配上 tmux 后窗口管理比 vscode 舒服很多。vscode 的 vim 插件对 vim 的一些特性支持不好,比如宏和寄存器,导致用起来体验不太行,所以只能说是支持 vim keybinding 。这点在其他软件上也一样,比如 zsh 也有 vim mode ,但是支持也是不全。vim 的编辑方式主要用在大段代码读写上,需要一整块时间,少量读写体验不如 emacs 。因此我仅在 vim 用 vim mode ,其他地方全部用 emacs 键位。

    vim 的学习曲线其实还好,现代 vim 配上 fzf ,file explorer 和 lsp ,然后让肌肉记忆一下键位就可以上手了。使用体验非常好,我想对我来说,除非明天开始我不写代码了,否则就算我失忆了也值得重新学习 vim 。
    burby
        40
    burby  
       1 day ago
    用, 因为键位比较省力
    burby
        41
    burby  
       1 day ago
    补充一下 我是在 IDE 里用 vim 插件的.
    oska874
        42
    oska874  
       1 day ago
    应该再问问,为啥还有人用 nano 。
    582033
        43
    582033  
       1 day ago
    一次配置,随处可用,现在是坚定的 neovim 党
    XTTX
        44
    XTTX  
       1 day ago
    vscode vim, 但是很久很久没有手写过代码了。很多快捷键都忘光了。
    WorseIsBetter
        45
    WorseIsBetter  
       1 day ago
    我在实际开发中使用 neovim ,插件只有一个 telescope ,配置只有 100 多行(主要是 LSP 相关的),已经好几年几乎没修改过了。临时编辑文件的话就用默认配置的 vim 。

    要说原因,和 OP 主帖说的差不多:已经「习惯了」。我这人不怎么喜欢折腾,如果一个工具足够方便高效而且稳定的话,那就没必要去追求所谓「更好的」方案(除非我对相关技术感兴趣,想要研究探索一下)。似乎大部分 vim 用户都是类似的心态,这和 Emacs 社区的风气有所不同,后者似乎永远都在折腾配置,在「打造完美的编辑体验」的路上一去不复返。

    几年前倒是跟风用过一段时间的 VSCode ,甚至还开发上架过插件。但还是习惯问题,用着总是感觉不趁手。虽然能装插件模拟 vim 键位,但限制很多而且经常出 bug 。另外它内置的那些类似 IDE 的各种功能,比如终端、git 集成之类的,我根本用不到(有需要的话直接用系统终端进行操作不就好了)。所以后来就把这个臃肿的玩意彻底抛弃掉了(但出于负责的态度,当年上架的插件现在还在做最基本的维护)。
    tt67wq
        46
    tt67wq  
       1 day ago
    AI 时代 idea 开的少了,在 herdr 里面又捡起来 vim 用用,感觉还行
    xFrye
        47
    xFrye  
       1 day ago
    在各种编辑器、ide 中装 vim 的插件,用 vim 的键位
    yg503
        48
    yg503  
       1 day ago
    jwk345
        49
    jwk345  
       1 day ago
    服务器上用,本地用 sublime text ,主要是快,平时用来预览文件。代码直接 codex/cursor 。
    stefsui
        50
    stefsui  
       1 day ago
    正在用 vim 插件恢复
    sungnix
        51
    sungnix  
       1 day ago
    日常使用 Vim 、SublimeText 、Zed ( Vim 模式)
    sungnix
        52
    sungnix  
       1 day ago
    @henix
    请问你使用的是 GVim 吗?能够正常输入中文吗?
    我的 GVim 总是在切换模式后莫名其妙地变成中文输入法模式。
    https://v2ex.com/t/1225858
    kirara2024
        53
    kirara2024  
       1 day ago
    小 vps vscode 带不动的 vim 和合适
    mohumohu
        54
    mohumohu  
       1 day ago
    想知道大家都是怎么学会 vim 的
    tomclancy
        55
    tomclancy  
       1 day ago   ❤️ 1
    我是当年在 gpt3.5 和 gpt4 的时代,被带着习惯了 nano
    liuzimin
        56
    liuzimin  
       1 day ago via Android
    啊这,只有我和楼上在用 nano 吗?
    titanium98118
        57
    titanium98118  
       1 day ago via Android
    ssh 上只懂用 vi
    Wh1t3zZ
        58
    Wh1t3zZ  
       1 day ago
    因为可以少动鼠标
    bushenx
        59
    bushenx  
       1 day ago via iPhone
    Nvim 加一台内网穿透的主机跑 agent 上班摸鱼 review 代码很方便
    RedNax
        60
    RedNax  
       1 day ago
    @mohumohu 通读一遍 vim 自带 help 文档即可。
    laydown
        61
    laydown  
       1 day ago
    vps 上默认的 vi 啊,每一天都用。不过,就简单用用。
    ximaoyang
        62
    ximaoyang  
       1 day ago
    一般是在服务器上用的多
    levelworm
        63
    levelworm  
       21h 21m ago via iPhone
    我不太理解的是大家如何习惯这种需要按一个键然后再来一个按键组合,才能完成操作的软件。

    我也试过 tmux ,但是那个 ctrl-b (没记错的话是这个)手快的话太容易弄错了,而且 Linux 下面的工具都是那种弄坏了都不知道如何矫正回来的东西,最后就放弃了。还是更适应 Windows 软件那种一次按键的软件。
    chendy
        64
    chendy  
       20h 40m ago
    @w568w 所以说就是个习惯,比如现在我要回复你,我可以
    1. 右手拿走用鼠标点回复,然后继续摸鱼
    2. cmd enter 回复,然后右手拿走用鼠标继续摸鱼

    结果其实是一样的,但是习惯后面这套操作了
    20015jjw
        65
    20015jjw  
       20h 2m ago
    习惯了就跟呼吸一样自然 不会不用硬学 没有高低之分 想用啥用啥
    9
        66
    9  
       20h 0m ago
    只要你是程序员,需要登服务器,vim 是必学的。只要投入一点时间学习,收益巨大。学会后,就会变成肌肉记忆
    byteLoading
        67
    byteLoading  
       19h 30m ago   ❤️ 1
    @levelworm 一版都会有 which-key 之类的插件来辅助你记忆,现在弄坏了也可以让 AI 帮你矫正,这种软件一般都是依赖某种可读的配置文件的,AI 很擅长。
    cryptoSawyer
        68
    cryptoSawyer  
       18h 53m ago
    alacritty + zellij + helix & rustrover & vscode
    HiHi
        69
    HiHi  
       18h 47m ago
    emacs 里安装 vim 插件使用
    Shilion
        70
    Shilion  
       18h 45m ago via iPhone
    vscode+emacs 键位,capslock 改成 ctrl ,挺好用的
    smileeast
        71
    smileeast  
       18h 43m ago
    看你需不需要管理服务器,服务器上面的大部分都默认装了 vi/vim ,最快的改一个文件的方式就是用 vim ,如果你还在下下来编辑,再上传替换,那你确实还是需要学习以下的,因为这绕了一个远路。
    同样的,如果能用键盘把编辑的事情做完不需要动鼠标,那也是不饶远路的一个极致体现。
    能做成一件事情的最好办法,就是让这个事情的完成路径最小,vim 就是这个设计思路,当然前期学习成本过高,并且使用场景有限。
    ixixi
        72
    ixixi  
       18h 42m ago
    代码都不写了,还研究这个干啥?
    现在基本没啥用了,只需要会 ssh 到服务器只需要简单的命令就行;
    和 ai 交互,我现在都是靠语音输入,尝试一下麦克风输入文字是目前我觉得效率最高体验最好的。
    scriptB0y
        73
    scriptB0y  
       18h 39m ago
    现在有了 AI 学习 Vim 的难度越来越高了,比如一个复杂的文本编辑操作,以前用 Vim 宏很方便的,现在这种需求可以直接让 ai 编辑了。

    不过如果学会了,还是挺值的,Vim ,SQL ,写作能力,这 3 个是目前我觉得学会了可以终生受益的东西,拉长时间来看性价比非常高。
    weegc
        74
    weegc  
       18h 38m ago
    一直使用 vim 编辑模式,没有什么特别的,更顺手而已
    xiao7117
        75
    xiao7117  
       18h 5m ago
    只在浏览器用 Vim 插件
    uaoin
        76
    uaoin  
       17h 55m ago
    现在感觉 vim 连代码补全都不用搞了(因为根本不写代码),整个代码高亮就完事
    yelog
        77
    yelog  
       17h 41m ago
    无他,唯手熟尔
    zhuantouer
        78
    zhuantouer  
       17h 10m ago
    vimdiff
    cnleon
        79
    cnleon  
       17h 3m ago
    习惯了就好,模式匹配这些用着比较爽
    Perolong
        80
    Perolong  
       16h 7m ago
    统一输入习惯,因为几乎我用过的 ide 包括 xcode 都会支持 vim 输入模式,快捷键不用各自记那么多
    mwxx
        81
    mwxx  
       15h 31m ago
    公司的台式机是主力开发机,没接显示器;平时直接在上面用 Claude Code 写代码、LazyVim 看代码。远程办公时,家里的笔记本也连回这台开发机继续干活。

    再配合 WezTerm ,基本能做到随时随地、断点续传地工作。效率是挺高的,就是偶尔会觉得自己这头牛马当得有点过头,多少有点难过。
    Thackeray
        82
    Thackeray  
       14h 21m ago
    这都 6202 年了,还 vim 呢
    sidgwick
        83
    sidgwick  
       14h 19m ago
    vibe coding 的时候, 用 claude code 和 codex 不用 vim 吗?
    saySilence
        84
    saySilence  
       7h 21m ago
    用微软的 edit ,终端鼠标操作
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   931 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 153ms · UTC 20:57 · PVG 04:57 · LAX 13:57 · JFK 16:57
    ♥ Do have faith in what you're doing.