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

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

  •  
  •   w568w ·
    w568w · Aug 24 · 7523 views
    This topic created in 78 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

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

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

    现在代码都不手写了,用啥都随便,能看就行
    abolast
    abolast
    Aug 24
    20
    作为运维百分百都使用 vim ,因为这是每个发行版都自带的(至少有 vi),并且我是原教旨主义我不用任何一切非内置的插件,也不编写任何插件/脚本。
    至于说怎么记住那么多快捷键,手熟而已,其实日常高效操作也不需要记那么多。
    L4Linux
    L4Linux
    Aug 24
    21
    在用 Emacs 呢
    zhangyoucaiyo
    22
    因为最开始接触 linux 的时候就用 vim 习惯了 vim 有时候没装就是 vi
    envooy
    envooy
    Aug 24
    23
    tmux + vim 。vim 里打开 pi,claude,codex 。 大家都是 ai 编程,vim 用来 review 代码改动还是挺好。
    ruchee
    ruchee
    Aug 24
    24
    还在用。习惯使然,曾经用 Vim 直接在服务器改代码,别的不好搞
    frank1256
    frank1256
    Aug 24
    25
    tmux+codex+vim ,idea 也得用 vim 的 plugin ,能不碰鼠标就不碰
    shawnsh
    shawnsh
    Aug 24 via Android
    26
    @redbule 你是没看大佬在油管直播写代码用的 vim ,界面切换的你看不出在干什么,很快很快
    crazykk
    crazykk
    Aug 24 via iPhone
    27
    使用;效率高多用于浏览器的 vim ;全局系统 vim 和开发 vim
    jark006
    jark006
    Aug 24
    28
    一般只在编辑小文件时使用 vim ,但也不常用,偶尔也用 nano
    a1562619919
    29
    直播写代码时用鼠标点点点太掉价了,全程键盘操作比较有观赏性
    hujnnn
    hujnnn
    Aug 24
    30
    打开 v2 站点, 看到你的帖子信息,拉到最底留言,发帖再刷新都是通过 vim 插件完成的。
    Morgan2
    Morgan2
    Aug 24
    31
    @hujnnn shift g
    oktango
    oktango
    Aug 24
    32
    能支持 VIM 模式的软件,全部打开 VIM 模式了!
    noahhhh
    noahhhh
    Aug 24
    33
    服务器上只有 vi ,不学怎么用
    yuancoder
    yuancoder
    Aug 24
    34
    说一个使用 vim 的场景, 用笔记本键盘的时候, 笔记本的方向键都很小, 经常按错, 这时候 vim 就方便多了
    huangmingyou
    35
    用了 20 年 vim , vimrc 看了一下,只有 7 行.
    sixdog06
    sixdog06
    Aug 24
    36
    按方向键, 用鼠标很烦, 虽然现在也不怎么手写代码了.. 而且跨 ide, 跨平台快捷键也一致. 操作上只是看起来复杂, 实际用的时候都是肌肉记忆
    weixiangzhe
    37
    不用 vim, 但是所有编辑器 ide 都装了 vim mode 的扩展
    chjqpmain
    chjqpmain
    Aug 24
    38
    @frank1256 我也是,我现在经常用就是为了方便 review ai 产出和写自己东西用 vim,我用的 cmux, 和 nvim
    但我最开始变成键盘党,感受到不用鼠标的舒服是浏览器的 vimiumc 的扩展,就是喜欢手在键盘而不在鼠标上,加上觉得 vim 这种很帅,很享受
    在 windows 时候没锻炼起来,
    但现在换了 macos 后 为了 提高多 agent 水平上限(高效看任何一个 agent 或者祂指挥的子 agent 的状态)
    练起来了
    而且现在系统桌面级也配了一堆方便全键盘操作的东西,
    目前只有刚开电脑,启动各个常驻软件用鼠标
    剩下时候就是全键盘+ raycast2
    LotusChuan
    39
    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
    burby
    Aug 24
    40
    用, 因为键位比较省力
    burby
    burby
    Aug 24
    41
    补充一下 我是在 IDE 里用 vim 插件的.
    oska874
    oska874
    Aug 24
    42
    应该再问问,为啥还有人用 nano 。
    582033
    582033
    Aug 24
    43
    一次配置,随处可用,现在是坚定的 neovim 党
    XTTX
    XTTX
    Aug 24
    44
    vscode vim, 但是很久很久没有手写过代码了。很多快捷键都忘光了。
    WorseIsBetter
    45
    我在实际开发中使用 neovim ,插件只有一个 telescope ,配置只有 100 多行(主要是 LSP 相关的),已经好几年几乎没修改过了。临时编辑文件的话就用默认配置的 vim 。

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

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

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

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

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

    再配合 WezTerm ,基本能做到随时随地、断点续传地工作。效率是挺高的,就是偶尔会觉得自己这头牛马当得有点过头,多少有点难过。
    Thackeray
    Thackeray
    Aug 25
    82
    这都 6202 年了,还 vim 呢
    sidgwick
    sidgwick
    Aug 25
    83
    vibe coding 的时候, 用 claude code 和 codex 不用 vim 吗?
    saySilence
    84
    用微软的 edit ,终端鼠标操作
    wb14123
    wb14123
    Aug 26
    85
    在 AI 时代,传统的命令行工具比如 vim 和 tmux 反而更有优势了,因为和 AI 交互主要就是通过文字。vim 熟悉了之后能更高效的编辑和浏览文字。tmux 可以方便操作多个会话。 我自己就写了个工具用 neo vim 和 tmux 替代 claude code 的交互方式: https://github.com/wb14123/tcode ,感觉比直接用 claude code 、codex 等等高效很多。
    winniedie
    winniedie
    Sep 10
    86
    十几年前学会了 vim 再也没用过别的编辑器。现在 claude/codex 用得多了,编辑器用得少了,用 tmux+rust 做了一个分屏+session explorer 的界面,来实现类似 neo-tree 插件的功能,用 vim 的快捷键操控,真是舒心~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4570 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 237ms · UTC 01:32 · PVG 09:32 · LAX 17:32 · JFK 20:32
    ♥ Do have faith in what you're doing.