V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
kid8768611
V2EX  ›  程序员

vim 和 vi 的区别和优缺点?

  •  
  •   kid8768611 · 2023-02-08 10:00:05 +08:00 · 5011 次点击
    这是一个创建于 683 天前的主题,其中的信息可能已经有所发展或是发生改变。
    经常看到大家 vim vi 什么的,我作为一个 5 年不到的程序猿,对这个完全不太感冒或常用,是我太 low 了么
    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
    magic3584
        24
    magic3584  
       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   ·   实用小工具   ·   2816 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 11:47 · PVG 19:47 · LAX 03:47 · JFK 06:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.