解析 vi 和 vim 的差异和配置方法

在这里插入图片描述

VI 和VIM区别

功能和特性

  1. 多级撤销/重做

    • vi: 只支持单级撤销。
    • vim: 支持多级撤销和重做,通过 u 撤销,Ctrl-r 重做。
  2. 多窗口/多标签

    • vi: 不支持多窗口和多标签。
    • vim: 支持分割窗口(:split:vsplit)和多标签页(:tabnew)。
  3. 语法高亮

    • vi: 不支持语法高亮。
    • vim: 支持多种语言的语法高亮,使用 :syntax on 命令开启。
  4. 代码折叠

    • vi: 不支持代码折叠。
    • vim: 支持代码折叠,使用 zf 来折叠代码块,zo 打开折叠。
  5. 插件支持

    • vi: 不支持插件。
    • vim: 有丰富的插件支持,通过 vim-plug 等插件管理器可以安装各种插件。
  6. 自动补全

    • vi: 不支持自动补全。
    • vim: 提供自动补全功能,通过 Ctrl-nCtrl-p 可以补全单词。
  7. 可视模式

    • vi: 不支持可视模式。
    • vim: 支持字符、行和块可视模式,使用 vVCtrl-v
  8. 录制和播放宏

    • vi: 不支持录制宏。
    • vim: 支持录制宏,使用 q 开始录制,@ 播放宏。
  9. 命令行历史

    • vi: 不支持命令行历史。
    • vim: 支持命令行历史,使用 : 后可以通过方向键上下查看历史命令。
  10. 查找和替换

    • vi: 基础查找和替换功能。
    • vim: 提供更强大的查找和替换功能,包括正则表达式支持。

用户体验

  1. 启动时间

    • vi: 一般启动时间较快,功能少。
    • vim: 启动时间稍慢,因为功能更多,但可以通过配置优化启动时间。
  2. 文档和帮助

    • vi: 文档和帮助较少。
    • vim: 提供详尽的文档和帮助系统,通过 :help 命令可以查看详细帮助。
  3. 配置灵活性

    • vi: 配置选项较少。
    • vim: 配置选项丰富,通过 ~/.vimrc 可以定制大量选项。

扩展能力

  1. 脚本支持

    • vi: 不支持脚本编写。
    • vim: 支持 Vim 脚本(VimScript),可以编写自定义脚本扩展功能。
  2. 外部程序接口

    • vi: 不支持与外部程序交互。
    • vim: 可以与外部程序交互,通过 :! 命令运行外部命令,并可通过插件与多种工具集成。
  3. GUI 版本

    • vi: 只有命令行版本。
    • vim: 提供 GUI 版本(gVim),具备图形界面的同时保留命令行版本的所有功能。

综合比较

  • vi: 简单、轻量、快速启动,适用于资源受限的环境和简单的文本编辑任务。
  • vim: 功能强大、可扩展性高,适合复杂的编辑任务和需要高级功能的用户。

2. 配置文件

  • /etc/vimrc: 系统全局配置文件,影响所有用户。
  • ~/.vimrc: 用户个人配置文件,仅影响当前用户。
  • ~/.viminfo: vim 会话信息文件,保存编辑历史和光标位置等信息。

Vi 的四种模式

1. 一般模式(浏览模式)

  • 进入方式:启动 vi 编辑器或从其他模式按 ESC 键。

2. 编辑模式(插入模式)

  • 进入方式:在一般模式下按 iIaAoORr 键。
  • 退出方式:按 ESC 键返回一般模式。

3. 命令行模式

  • 进入方式:在一般模式下按 :/? 键。
  • 功能:执行保存、退出、查找等命令。

4. 可视化模式

  • 进入方式:
    • v 字符可视化
    • V 行可视化
    • Ctrl+v 块可视化
  • 退出方式:按 ESC 键返回一般模式。

一般模式下进行的快捷命令操作

光标移动

  • 0: 光标移到行首
  • $: 光标移到行尾
  • G: 移到文件最后一行
  • nG: 移到文件第 n 行
  • gg: 移到文件第一行
  • nENTER: 光标向下移动 n 行

查找

  • /word: 向下查找 word 字符串
  • ?word: 向上查找 word 字符串
  • n: 重复前一个搜索的动作(向下)
  • N: 重复前一个搜索的动作(向上)

删除和复制

  • x, X: 向后删除和向前删除
  • dd: 删除整行
  • ndd: 从光标位置开始删除 n 行
  • d1G: 从第一行开始删除到光标所在行
  • dG: 删除光标位置到文件末尾
  • d$: 删除光标位置到行尾
  • yy: 复制光标所在行
  • y5y: 复制光标所在行和其后的4行
  • yG: 复制光标位置到文件末尾的所有行
  • y$: 复制光标位置到行尾

粘贴

  • P, p: 粘贴到光标行前一行或后一行

撤销和重做

  • u: 撤销前一操作
  • .: 重复前一操作

文件保存和退出

  • :w: 保存数据
  • :wq: 保存退出 vi
  • :wq!: 强制保存后离开 vi(权限相关,强制写入)
  • :w[filename]: 将编辑的数据另存为 filename
  • :r[filename]: 读入 filename 内容到光标行后面

Vim 的环境参数设置

  • :set nu: 设置行号
  • :set nonu: 取消行号
  • :set ruler: 显示状态行
  • :set showmode: 显示 INSERT 编辑模式状态
  • :set all: 显示当前所有的环境参数设置值
  • :syntax on/off: 语法颜色开关
  • 30
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ViVi IMproved)和VimVi IMproved)都是在Linux系统中常用的文本编辑器Vi是最早的Unix文本编辑器之一,VimVi的增强版本。 Vi是一个基于命令行的文本编辑器,它提供了一系列的命令和快捷键来进行文本编辑。它具有简单的界面和高效的编辑功能,但可能对于新手来说有一定的学习曲线。 Vim是对Vi的改进和扩展,它保留了Vi的所有功能,并添加了许多新功能和改进。Vim提供了更丰富的功能和更友好的用户界面,可以通过配置文件进行自定义设置,并支持各种插件和脚本扩展。 在Linux系统中,你可以使用以下命令来打开ViVim编辑器: ``` vi filename # 打开Vi编辑器并编辑指定的文件 vim filename # 打开Vim编辑器并编辑指定的文件 ``` 一旦进入ViVim编辑器,你可以使用各种命令和快捷键进行文本编辑。例如: - i:进入插入模式,可以开始输入文本 - ESC:退出插入模式,回到命令模式 - :w:保存文件 - :q:退出编辑器 - :wq:保存并退出编辑器 此外,Vim还提供了许多其他功能,如语法高亮、多窗口编辑、宏录制、搜索替换等。你可以通过查阅相关的文档或教程来深入了解ViVim的使用方法和功能。 总结来说,ViVim都是在Linux系统中常用的文本编辑器Vim是对Vi的增强版本,提供了更多功能和改进。它们都提供了强大的文本编辑功能,但对于新手来说可能需要一些时间来熟悉和掌握。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值