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

w568w 2026-08-24 14:14 1

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



  1. 只是偶尔用一用,作为临时的文件编辑器;

  2. 在实际开发工作中频繁使用。


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


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


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

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

    不过我个人觉得这个技能未来应该不需要了,即使是服务器,未来可能也是用 agent 改,不需要自己动手了。
  • noahliaszn 08-24 14:38
    9
    肌肉记忆哈
  • w568w 楼主 08-24 14:40
    10
    @chendy @wfg @acr0ss 我个人感觉是这样:工作毕竟不是纯写代码,不可避免手要经常离开键盘(很多应用无法键盘控制,比如飞书、微信、钉钉、托盘图标、复杂的浏览器网页等),所以用鼠标/触摸板好像也不是那么大不韪的事情。
  • banzhi 08-24 14:40
    11
  • banzhi 08-24 14:41
    12
  • Frankcox 08-24 14:44
    13
    你当程序员或多或少会有 ssh 到一些啥都没有的服务器上,想要编辑个脚本要么 vi ,要么 vim
  • defunct9 08-24 14:51
    14
    习惯了。几百台服务器,上面缺省只有 vi ,且都得通过狗日的跳板机,让我怎么操作
  • henix 08-24 14:58
    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 08-24 14:59
    16
    多年主力 nvim 快捷键最多一个礼拜就肌肉记忆了
  • lel020 08-24 15:00
    17
    命令行环境编辑文件只使用 vim ,其他情况就不用了,ide 也不会想绑定 vim 键位,
    除了没有图形的服务器,本地也会安装 vim ,有时会用命令行操作什么,临时需要编辑就是用 vim ,
  • xi4oh4o 08-24 15:07
    18
    一直 Vim 主力,后来 neovim + lazyvim 很好用。

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

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

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

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

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

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

    不过如果学会了,还是挺值的,Vim ,SQL ,写作能力,这 3 个是目前我觉得学会了可以终生受益的东西,拉长时间来看性价比非常高。
  • weegc 08-25 10:19
    74
    一直使用 vim 编辑模式,没有什么特别的,更顺手而已
  • xiao7117 08-25 10:52
    75
    只在浏览器用 Vim 插件
* 帖子来源V2EX
返回