Linux中的 `vi` 与 `vim` 使用详解

文章目录

  • [Linux中的 `vi` 与 `vim` 使用详解](#Linux中的 vi 与 vim 使用详解)
    • [1. `vi` 编辑器](#1. vi 编辑器)
      • [1.1 什么是 `vi`](#1.1 什么是 vi)
      • [1.2 `vi` 的基本用法](#1.2 vi 的基本用法)
        • [1.2.1 启动 `vi`](#1.2.1 启动 vi)
        • [1.2.2 模式](#1.2.2 模式)
        • [1.2.3 基本操作](#1.2.3 基本操作)
        • [1.2.4 常用命令](#1.2.4 常用命令)
      • [1.3 `vi` 的特点](#1.3 vi 的特点)
    • [2. `vim` 编辑器](#2. vim 编辑器)
      • [2.1 什么是 `vim`](#2.1 什么是 vim)
      • [2.2 `vim` 的基本用法](#2.2 vim 的基本用法)
        • [2.2.1 启动 `vim`](#2.2.1 启动 vim)
        • [2.2.2 模式](#2.2.2 模式)
        • [2.2.3 `vim` 的增强功能](#2.2.3 vim 的增强功能)
        • [2.2.4 `vim` 的基本操作](#2.2.4 vim 的基本操作)
      • [2.3 安装插件](#2.3 安装插件)
    • [3. `vi` 与 `vim` 的区别](#3. vi 与 vim 的区别)
    • 总结


Linux中的 vi 与 vim 使用详解

在Linux中,vi 和 vim 都是非常流行的文本编辑器,尤其在系统管理、程序开发和配置文件编辑中被广泛使用。vim 是 vi 的增强版本,具有更多功能。下面详细讲解它们各自的特点、使用方式以及二者之间的区别。

1. vi 编辑器

1.1 什么是 vi

vi 是一种经典的文本编辑器,最早在Unix系统中出现,几乎在所有类Unix系统中都有预装。vi 是一个简单、轻量的编辑器,非常适合在命令行环境中进行快速编辑。由于其普及性和无处不在的特性,vi 已成为Linux/Unix用户的基本工具。

1.2 vi 的基本用法

1.2.1 启动 vi

在终端中输入以下命令即可打开一个文件:

bash 复制代码
vi filename
  • 如果文件 filename 存在,vi 将打开它进行编辑。
  • 如果文件不存在,vi 将创建一个新文件并打开。
1.2.2 模式

vi 编辑器有三种基本模式:

  1. 普通模式(Normal mode) :这是 vi 的默认模式,用于浏览和操作文本。启动 vi 后首先进入此模式。在普通模式下可以进行复制、粘贴、删除、移动光标等操作。按 Esc 键可以随时返回普通模式。
  2. 插入模式(Insert mode) :用于编辑文本。在普通模式下按 i 进入插入模式。插入模式下可以输入文本,按 Esc 返回普通模式。
  3. 命令模式(Command mode) :用于执行保存、退出、查找、替换等命令。在普通模式下按 : 进入命令模式。
1.2.3 基本操作
  • 插入模式 :在普通模式下按 i 开始插入文本。
  • 保存文件 :在普通模式下按 : 进入命令模式,然后输入 w 保存文件。
  • 退出编辑器 :在普通模式下按 : 进入命令模式,然后输入 q 退出。若文件有修改但未保存,可以使用 :q! 强制退出。
  • 保存并退出 ::wq 或 :x。
1.2.4 常用命令
  • 移动光标 :
    • h 左移,j 下移,k 上移,l 右移。
    • w 向前移动一个单词,b 向后移动一个单词。
  • 删除文本 :
    • x 删除光标处的字符。
    • dd 删除整行。
  • 复制和粘贴 :
    • yy 复制当前行。
    • p 在光标后粘贴。
  • 撤销操作 :u 撤销上一步操作。

1.3 vi 的特点

  • 轻量级,速度快,适合在资源有限的环境中使用。
  • 无需鼠标,只需使用键盘操作,适合在终端和远程SSH环境下使用。
  • 所有Unix和Linux系统中几乎都默认安装。

2. vim 编辑器

2.1 什么是 vim

vim 是 "Vi IMproved" 的缩写,即 vi 编辑器的增强版本。vim 在 vi 的基础上增加了许多功能,如语法高亮、代码折叠、多文件编辑、插件支持等,使其更适合编程和复杂文本处理。vim 也是在大多数Linux发行版中默认预装的编辑器之一。

2.2 vim 的基本用法

2.2.1 启动 vim

与 vi 类似,在终端中输入以下命令打开文件:

bash 复制代码
vim filename

如果文件存在,vim 将打开文件进行编辑;如果文件不存在,vim 将创建新文件。

2.2.2 模式

vim 和 vi 拥有相同的三种基本模式(普通模式、插入模式、命令模式),但 vim 的每种模式都有更多的功能和更好的体验。例如,vim 提供了可视模式,用于高效选择文本块。

2.2.3 vim 的增强功能
  • 语法高亮 :vim 可以根据文件类型自动进行语法高亮,方便程序开发者编写和调试代码。
  • 多文件编辑 :可以在同一窗口中打开多个文件,使用 :e filename 打开文件,使用 :n 和 :prev 在文件间切换。
  • 分屏 :使用 :split 或 :vsplit 进行水平或垂直分屏,方便同时查看和编辑多个文件。
  • 代码折叠:支持折叠代码块,以减少视觉干扰,专注于当前的编辑区域。
  • 撤销树 :相比 vi 仅支持一步撤销,vim 允许多步撤销,并且可以管理一个撤销树,进行更复杂的撤销和重做操作。
  • 插件系统 :vim 拥有强大的插件系统,可以安装各种插件来增强功能,比如代码自动补全、文件树、语法检查等。常用的插件管理器包括 vim-plug、Vundle 等。
2.2.4 vim 的基本操作

vim 继承了 vi 的所有命令,并进行了扩展。例如:

  • 可视模式 :按 v 进入可视模式,可以选择文本块,再进行复制、删除等操作。

  • 替换 ::s/old/new/ 替换当前行第一个匹配的字符串,:%s/old/new/g 替换整个文件中的所有匹配字符串。

  • 搜索 :按 / 输入要查找的内容,按 n 查找下一个匹配项,N 查找上一个匹配项。

  • 配置 :通过 ~/.vimrc 文件自定义配置,设置缩进、显示行号、语法高亮等。例如:

    vim 复制代码
    set number      " 显示行号
    syntax on       " 启用语法高亮
    set tabstop=4   " 设置tab宽度为4

2.3 安装插件

vim 可以通过插件扩展功能,下面介绍简单的插件管理方式:

  • vim-plug :一个流行的插件管理器,易于使用,安装新插件非常方便。安装 vim-plug 后,在 ~/.vimrc 中配置插件列表,然后执行 :PlugInstall 即可安装所有插件。

3. vi 与 vim 的区别

功能 vi vim
语法高亮 不支持 支持多种编程语言语法高亮
撤销操作 只支持单步撤销 支持多步撤销
多文件编辑 支持,但功能有限 完善的多文件编辑功能
插件支持 不支持 支持,可扩展性强
配置文件 少量配置 丰富的配置项,.vimrc 文件
可视模式 不支持 支持选择文本块
分屏功能 基本支持 支持水平和垂直分屏

总结

  • vi 是一个简单、轻量的文本编辑器,在所有Unix和Linux系统中几乎都有预装。适合基本的文本编辑和在资源有限的环境中使用。
  • vim 是 vi 的增强版,具有丰富的功能,如语法高亮、插件支持、多文件编辑、分屏等,适合程序开发和复杂文本处理。对于Linux用户,尤其是程序员来说,vim 是一个功能强大的工具。

相关推荐
CHEEVEN_QY1 小时前
搅拌摩擦焊FSW工艺参数对焊缝成形影响的实验研究10.1
linux·服务器·数据库
H.莓飛1 小时前
【数据结构】链表_OJ题
linux·数据结构·算法·链表
木白CPP2 小时前
USB(一): USB 概述&&介绍
linux·网络·嵌入式硬件
熬夜敲代码的猫2 小时前
Linux:进程概念
linux
刘胡子大叔2 小时前
1Panel 部署 ThinkPHP8 踩坑实录
linux·ubuntu
anew___2 小时前
《从零手写操作系统 (21):用户态C运行时——从裸ELF到printf》
linux·服务器·c语言
jackletter2 小时前
linux:systemd之守护进程
linux·运维·服务器·systemd
用户4107192013252 小时前
VMware 虚拟机 Ubuntu 无法连接网络
linux
酬谢神明则必安3 小时前
git学习记录01
linux·git·学习
Ruiery3 小时前
Linux 6.6内核 CPU 深度解析(五):CPU 空闲状态机 cpuidle
linux·运维·服务器