文章目录
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
在终端中输入以下命令即可打开一个文件:
vi filename
- 如果文件
filename存在,vi将打开它进行编辑。 - 如果文件不存在,
vi将创建一个新文件并打开。
1.2.2 模式
vi 编辑器有三种基本模式:
- 普通模式(Normal mode):这是
vi的默认模式,用于浏览和操作文本。启动vi后首先进入此模式。在普通模式下可以进行复制、粘贴、删除、移动光标等操作。按Esc键可以随时返回普通模式。 - 插入模式(Insert mode):用于编辑文本。在普通模式下按
i进入插入模式。插入模式下可以输入文本,按Esc返回普通模式。 - 命令模式(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 类似,在终端中输入以下命令打开文件:
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文件自定义配置,设置缩进、显示行号、语法高亮等。例如: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是一个功能强大的工具。









