vim 和 vi 的区别和优缺点? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
35 条回复    2023-02-08 19:23:17 +08:00
Microcharon
    1
Microcharon  
   2023-02-08 10:06:42 +08:00
vim 是 vi 的进阶版本,vim 有颜色区分信息
jydeng
    2
jydeng  
   2023-02-08 10:10:15 +08:00
大概你用的 win
jydeng
    3
jydeng  
   2023-02-08 10:10:48 +08:00
没什么特别的,就是编辑器
random1221
    4
random1221  
   2023-02-08 10:13:08 +08:00
颜色区分信息,那个叫语法高亮
vicalloy
    5
vicalloy  
   2023-02-08 10:15:54 +08:00
很多系统的 vi 命令实际都是 vim 。
相比 vim ,vi 功能非常弱,很多功能不支持。
比如 `Ctrl-*` 搜索都不支持。

vim 最大的好处是主流 IDE 都支持 vim 模式,不用记再记一遍各类快捷键。
yolee599
    6
yolee599  
   2023-02-08 10:16:25 +08:00
vi:
- 优点:重量轻,系统自带,就连一个最小化编译的嵌入式开发板都能用;
- 缺点:功能简单,没有代码高亮显示;

vim:
- 优点:功能丰富,有代码高亮显示,自定义选项比较多;
- 缺点:比较重,部分系统需要手动安装,依赖比较多,嵌入式需要交叉编译很麻烦;
fioncat
    7
fioncat  
   2023-02-08 10:17:51 +08:00
vim 在 vi 的基础上加了诸如语法高亮、多屏操作等“现代化”编辑器特性。
但是已经 2023 年了已经几乎没人对比 vim 和 vi 了,都是在对比 vim, neovim, vscode 了。vi 可以淹没在历史长河里面了。
g1f9
    8
g1f9  
   2023-02-08 10:18:49 +08:00
就是工具而已,不就说明你没那个需求么,没啥 low 不 low 的
dahaihouxian
    9
dahaihouxian  
   2023-02-08 10:19:42 +08:00
就是有点好玩,真正编程还是 visual studio 一把梭。
mr0joker
    10
mr0joker  
   2023-02-08 10:25:52 +08:00
#8 说的对,就是个工具,哪来那么多优越感是不。我用这个纯粹是觉得很酷
obulks
    11
obulks  
   2023-02-08 10:27:10 +08:00
先有 vi ,后有 vim ,在我看来也就是读法上的区别,类似 windows 和 win ,vi 读起来少一个字母,但打字时我会打 vim ,用了几年了,优缺点啥的没去了解,知道了也没用,一般在 linux 上都预装有 vim ,有 vim 就用 vim ,有 vi 就用 vi ,IDE 就装个 vim 插件
ETiV
    12
ETiV  
   2023-02-08 10:30:48 +08:00 via iPhone
并不 low

你见过算盘吗,会用吗?会用算盘并不,没见过并不 low

你先体验 vi (跟 vim 找不同)的话,可以装个 CoreOS
haha512
    13
haha512  
   2023-02-08 10:36:19 +08:00
看来 OP 不需要 ssh 连接 linux 服务器在线修改文件,不然的话,vi/vim 几乎是唯一选择,区别是 vi 系统自带,vim 需要额外安装
LindsayZhou
    14
LindsayZhou  
   2023-02-08 10:45:48 +08:00
@haha512 #13 唯一还行,我记得 Arch 默认 vi 都没有,是 nano 。

我自己的一般是装 [helix]( https://helix-editor.com/),内置了一些主题之类的东西。
还内置了 lsp ,要写一点代码,gopls python-language-server 之类的东西,装上就开箱即用。
Al0rid4l
    15
Al0rid4l  
   2023-02-08 10:47:28 +08:00
现在已经不是关心 vi 和 vim 区别的时代了, 现在是关心 vim 和 nvim 的区别了...
反正我从来没用过 vi, 从 7 8 年前学的时候就感觉都是 vim 了, 你知道没人会拿着 vi 来写代码就是了...不需要去关心它
passall
    16
passall  
   2023-02-08 11:14:04 +08:00
@LindsayZhou
我也是用 NANO ,VI 基本不会用。
SirCarol
    17
SirCarol  
   2023-02-08 12:24:23 +08:00
kid8768611
    18
kid8768611  
OP
   2023-02-08 13:35:00 +08:00
@haha512 我用的 mac ,也经常上服务器看看日志,改改配置,简单的几句命令行
limbo0
    19
limbo0  
   2023-02-08 13:47:27 +08:00
现在是 neovim 了,改进非常多, 速度比较快
Erichailong
    20
Erichailong  
   2023-02-08 13:52:48 +08:00
准确来说,vim 是 vi 的升级版,vi 是 vim 的基础功能,vi 里面加了一些重要的插件变成了 vim ,vi 是 linux 发行版最基本的功能配置之一,而 vim 不是。
zlowly
    21
zlowly  
   2023-02-08 14:19:21 +08:00
vim 和 vi 的区别,我觉得楼主问了个随便搜索引擎搜一下就能知道的问题,不知道是何用意。
至于后面说是否自己 low 则大可不必。人的精力有限,喜好也各不相同,没必要强求什么都会,什么都去尝试,这没啥高低之分。
很多对 vi/vim 这种编辑器不感冒的人,是因为使用习惯不同阻碍了探索,它和一般图形化编辑器相比需要较大学习成本,而收益未知,如果不是非它不可,放弃也没啥。
kid8768611
    22
kid8768611  
OP
   2023-02-08 15:24:45 +08:00
@zlowly 好的,low 是我最近感觉工作四五年了,焦虑导致的吧,关于这个俩,我大概知道点,但是看到说的人多了,我就想问问这俩的大家更多干吗用的,我怎么很久用不到,就怀疑自己的工作是不是太水了
cnbatch
    23
cnbatch  
   2023-02-08 15:32:09 +08:00
对于 vi 和 vim 不太感冒、不常用,其实很寻常,OP 并不 Low

我自己也不怎么用 vi 和 vim 的,因为现在的 Linux 基本都自带 nano ,只要发行版不是很老旧的话

而 FreeBSD 自带了 ee (命令就叫做 ee ,意思是 easy editor ),时间远早于 nano ,所以同样不需要十分依赖 vi

于是我一直都没怎么用过 vi 和 vim
rrubick
    24
rrubick  
   2023-02-08 15:34:44 +08:00
相比 vi 的话,我比较喜欢 nano ,翻页快点( vi 有没有我不清楚)
lijiangang886
    25
lijiangang886  
   2023-02-08 16:29:00 +08:00
@magic3584 vi 你是怎么翻页的?按住 j 不放?
正确姿势是 ctrl+u 向上半屏 Ctrl+d 向下半屏 ctrl+f 向下整屏 ctrl+b 向上整屏
lijiangang886
    26
lijiangang886  
   2023-02-08 16:37:22 +08:00
我觉得 low 不 low 主要取决于,你键入 /修改字符的流畅度是否会干扰你的思路,会不会有负面影响比如磕磕绊绊的改完了之后接着想写啥都忘了,不会的话哪怕二指禅都不 low ,反之则 low
lakehylia
    27
lakehylia  
   2023-02-08 16:38:25 +08:00
就是服务器不给装软件,没办法要用的文本编辑软件罢了
wonderfulcxm
    28
wonderfulcxm  
   2023-02-08 16:39:52 +08:00 via iPhone
vi 没有语法高亮,所以很多发行版默认配置都有一条,把 vi 做 vim 的别名。
salmon5
    29
salmon5  
   2023-02-08 16:40:20 +08:00
服务器无脑 vim 就行了,多年前用的 vi
xuyang2
    30
xuyang2  
   2023-02-08 16:56:03 +08:00
wanei
    31
wanei  
   2023-02-08 17:03:25 +08:00
vim 更符合日常需求,而且使用 souceinsight 、emacs 、vscode 或其他编辑器都会配置 vim ,tpope 插件。习惯了模式区分,每次写完一句代码或文字会摁 ctrl + [,没 vim 操作模式太难受,总觉的不习惯。
浏览器一般会用 vimium-c 这个插件,体验一般吧。
ysn2233
    32
ysn2233  
   2023-02-08 17:07:41 +08:00
vi 软连接到 vim
zlowly
    33
zlowly  
   2023-02-08 17:51:58 +08:00
在一些特殊场景下系统会只装有 vi ,
例如 HP-UX ,IBM AIX 等在小型机上 Unix 系统,通常且不能自由安装 GNU 软件,或者象路由器上的系统由于空间所限只能用 busybox 做出来 vi ,其他 Linux 环境基本有 vim 可装或已经预装。
如果你有许多时间需要在服务器运维等方面的工作,熟练掌握 vim 应该能减轻你许多工作负担,它有大量功能是其他 GUI 编辑器无法轻易实现。
ziseyinzi
    34
ziseyinzi  
   2023-02-08 19:17:25 +08:00
很多设备只有 vi,比如光猫
leefor2020
    35
leefor2020  
   2023-02-08 19:23:17 +08:00
作为硅农,当年入职第一个培训的就是 VIM
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2654 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 28ms UTC 14:30 PVG 22:30 LAX 07:30 JFK 10:30
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86