vi和vim基本介绍
vi(Visual Editor)最早诞生于20世纪70年代末,由Bill Joy开发。当时,UNIX系统已经在科研和企业领域逐渐普及,但缺乏一款高效且功能强劲的文本编辑工具。vi应运而生,它基于当时的操作系统环境和用户需求,以简洁的命令行界面和高效的编辑模式为特点,迅速成为UNIX系统上的标准文本编辑器。其设计理念深受当时计算机硬件资源有限的影响,注重通过最少的按键操作完成复杂的文本编辑任务,从而提高编辑效率。
随着计算机技术的不断发展,为了进一步增强vi的功能,Bram Moolenaar在1991年开发了vim(Vi IMproved)。vim可以看作是vi的增强版,它在继承vi基本功能和操作习惯的基础上,进行了大量的改善和扩展。从最初的一个简单的补丁程序逐渐发展成为一个功能丰富、高度可定制的文本编辑器,vim不仅兼容vi的大部分操作,还引入了许多现代编辑器的特性,如语法高亮、代码折叠、多窗口编辑等。
安装vim
Linux 系统有多种发行版,不同发行版的包管理工具存在差异,下面以常见的 Ubuntu、Debian、CentOS 和 Fedora 为例进行说明。
CentOS 和 Fedora 系统
CentOS 和 Fedora 系统使用 yum 或 dnf 包管理工具。在 CentOS 系统中,由于默认的软件源可能没有最新版本的 Vim,我们可以使用以下命令进行安装:
sudo yum install vim
在 Fedora 系统中,提议使用 dnf 进行安装,由于它是 Fedora 推荐的包管理工具,而且速度更快。打开终端,输入以下命令:
sudo dnf install vim
安装完成后,同样可以使用 vim –version 命令来检查安装情况。
Ubuntu 和 Debian 系统
Ubuntu 和 Debian 系统使用 apt 包管理工具,安装 Vim 相对简单。第一,为了确保系统的软件包列表是最新的,需要打开终端,输入以下命令进行更新:
sudo apt update
这个命令会从软件源服务器获取最新的软件包信息。更新完成后,接着输入以下命令来安装 Vim:
sudo apt install vim
执行该命令后,系统会自动从软件源中下载 Vim 及其依赖项,并完成安装过程。安装完成后,可以通过输入 vim –version 命令来验证 Vim 是否安装成功,如果显示出 Vim 的版本信息,就说明安装已经完成。
在 macOS 系统上安装 Vim
macOS 系统自带了一个基本版本的 Vim,但可能不是最新版本。为了安装最新版本的 Vim,我们可以使用 Homebrew 这个强劲的包管理工具。如果你的系统还没有安装 Homebrew,可以在终端中输入以下命令进行安装:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装完成后,使用以下命令来安装 Vim:
brew install vim
Homebrew 会自动下载并安装最新版本的 Vim。安装完成后,通过 vim –version 命令可以确认安装是否成功。
基本操作与模式
vi和vim都采用了多模式编辑的设计理念,这是它们与其他文本编辑器的显著区别之一。主要的模式包括命令模式(Command mode)、插入模式(Insert mode)和底行模式(Last line mode)。

模式切换示意图
命令模式
当我们启动Vim打开一个文件时,默认进入的就是命令模式。在这个模式下,我们不能直接输入文本,但可以执行各种操作命令。列如移动光标,我们可以使用[上下左右]键来分别实现向左、向下、向上、向右移动一个字符的操作。这几个简单的按键组合,却能让我们在文本中灵活穿梭。如果想要快速移动到行首,可以按下gg键;而移动到行尾则按下G键。
在命令模式下,还可以进行复制、粘贴、删除等操作。使用yy命令可以复制当前行,p命令则可以将复制的内容粘贴到光标所在位置之后。dd命令用于删除当前行,如果想要删除多行,可以在dd前加上数字,例如3dd就会删除当前行及其下面的两行。另外,撤销上一步操作可以使用u键,而恢复撤销则使用Ctrl + r。
插入模式
当我们需要输入文本时,就需要从命令模式切换到插入模式。有多种方式可以进入插入模式,最常用的是按下i键,它会在当前光标所在位置之前插入文本。如果按下a键,则会在当前光标所在位置之后插入文本。按下o键会在当前行的下一行插入新行并进入插入模式,而O键则会在当前行的上一行插入新行并进入插入模式。
在插入模式下,我们就可以像使用普通文本编辑器一样输入文字、数字、标点符号等内容。输入完成后,按下Esc键就可以回到命令模式。
底行模式
在命令模式下按下:键,就会进入底行模式。底行模式主要用于执行一些特殊的命令,列如保存文件和退出Vim。输入w命令可以保存当前文件,wq命令则表明保存文件并退出Vim。如果不想保存文件直接退出,可以输入q!命令。
底行模式还可以用于查找和替换文本。使用/加上要查找的内容,例如/hello,然后按下回车键,Vim会在文件中查找所有的hello字符串,并将第一个匹配项高亮显示。按下n键可以查找下一个匹配项,按下N键则查找上一个匹配项。如果要进行替换操作,可以使用:%s/原内容/替换内容/g命令,其中%表明对整个文件进行操作,s表明替换,g表明全局替换。查看行号可以在底行模式设置文件的行号命令 :set nu,撤销文件的行号命令 :set nonu。
可视模式
可视模式允许我们选择文本块,方便进行统一的操作。通过按下v键可以进入字符可视模式,在这个模式下,我们可以使用光标移动键来选择连续的字符。选择好文本块后,就可以对其进行复制、删除、替换等操作。例如,选择好文本后按下y键可以复制所选内容,按下d键则可以删除所选内容。
除了字符可视模式,还有行可视模式和块可视模式。按下V键进入行可视模式,此时会以行为单位进行选择。按下Ctrl + v进入块可视模式,它可以让我们选择一个矩形区域的文本,这在处理表格数据等场景中超级实用。
常用命令:
:w — 保存文件。
:q — 退出 Vim 编辑器。
:q! — 强制退出Vim 编辑器,不保存修改。
:wq!–强制退出vim 编辑器并且保存文件。
:wq–保存文件并退出 Vim 编辑器。
:set nu –显示行号,设定之后,会在每一行的前缀显示该行的行号。
:set nonu –与 set nu 相反,为撤销行号!
i — 切换到输入模式,在光标当前位置开始输入文本。
x — 删除当前光标所在处的字符。
: — 切换到底线命令模式,以在最底一行输入命令。
a — 进入插入模式,在光标下一个位置开始输入文本。
o:在当前行的下方插入一个新行,并进入插入模式。
O — 在当前行的上方插入一个新行,并进入插入模式。
dd — 删除当前行。
yy — 复制当前行。
p(小写) — 粘贴剪贴板内容到光标下方。
P(大写)– 粘贴剪贴板内容到光标上方。
u — 撤销上一次操作。
Ctrl + r — 重做上一次撤销的操作。
G 移动到这个文档的最后一行。
gg 移动到这个文档的第一行。















暂无评论内容