w568w
V2EX  ›  程序员

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

By w568w at 8 月 24 日 · 6908 次点击

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

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

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

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

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

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

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

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

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

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

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

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

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

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

再配合 WezTerm ,基本能做到随时随地、断点续传地工作。效率是挺高的,就是偶尔会觉得自己这头牛马当得有点过头,多少有点难过。
Thackeray
   82
Thackeray  
   8 月 25 日
这都 6202 年了,还 vim 呢
sidgwick
   83
sidgwick  
   8 月 25 日
vibe coding 的时候, 用 claude code 和 codex 不用 vim 吗?
saySilence
   84
saySilence  
   8 月 25 日
用微软的 edit ,终端鼠标操作
wb14123
   85
wb14123  
   8 月 26 日
在 AI 时代,传统的命令行工具比如 vim 和 tmux 反而更有优势了,因为和 AI 交互主要就是通过文字。vim 熟悉了之后能更高效的编辑和浏览文字。tmux 可以方便操作多个会话。 我自己就写了个工具用 neo vim 和 tmux 替代 claude code 的交互方式: https://github.com/wb14123/tcode ,感觉比直接用 claude code 、codex 等等高效很多。
winniedie
   86
winniedie  
   17 天前
十几年前学会了 vim 再也没用过别的编辑器。现在 claude/codex 用得多了,编辑器用得少了,用 tmux+rust 做了一个分屏+session explorer 的界面,来实现类似 neo-tree 插件的功能,用 vim 的快捷键操控,真是舒心~
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
© 2026 V2EX · 182ms · 3.9.8.5