掌握 CentOS 7 下的 Vi/Vim 编辑器:从安装到精通
在 CentOS 7 系统的日常运维、编程开发以及各类文本处理场景中,Vi/Vim 编辑器都是不可或缺的得力工具。它以轻量、高效、功能强大著称,虽然初次上手有一定学习门槛,但掌握之后便能大幅提升工作效率。今天,咱们就从安装讲起,一步步深入 Vi/Vim 的奇妙世界,借助丰富的代码案例,让你轻松上手。
一、安装 Vim 编辑器
CentOS 7 默认预装了基础版的 Vi,但为了享受更多高级功能,我们通常会选择安装功能更完备的 Vim。安装过程非常简单,利用系统自带的软件包管理工具 yum 即可快速搞定。
打开终端,输入以下命令:
yum install vim -y
这里,yum
是 CentOS 7 系统中强大的包管理器,负责软件的安装、更新与卸载;install
是 yum
命令的一个关键子命令,明确告知系统要执行安装操作;vim
自然就是我们的目标软件包名称;-y
参数很贴心,它的作用是自动应答所有安装过程中的确认提示,让安装一气呵成,无需手动逐个确认,大大节省时间。
安装完成后,输入 vim --version
来验证安装情况,你会看到类似如下的版本信息输出:
VIM - Vi IMproved 7.4.160 (2016 Aug 10, compiled Aug 2 2017 03:49:32)
Included patches: 1-160
Modified by <bugzilla@redhat.com>
Compiled by <bugzilla@redhat.com>
...
看到这些信息,就说明 Vim 已经成功入驻你的系统啦。
以下是为你补充了 vi
和 vim
操作参数表格的内容,方便更清晰对比和查看相关操作:
vi
和 vim
常用操作参数表格
操作分类 | 操作描述 | vi 命令格式示例 | vim 命令格式示例 | 说明 |
---|---|---|---|---|
启动编辑器 | 打开已有文件 | vi /etc/hosts | vim /etc/hosts | /etc/hosts 可替换为实际要编辑的文件路径,vi 为基础版,vim 功能更丰富 |
新建文件 | vi new_file.txt | vim new_file.txt | 创建名为 new_file.txt 的新空白文件,按需替换文件名 | |
退出编辑器 | 正常保存并退出 | :wq (先按 Esc 进入命令模式后输入) | :wq (先按 Esc 进入命令模式后输入) | 保存文件内容并关闭编辑器 |
不保存直接退出 | :q! (先按 Esc 进入命令模式后输入) | :q! (先按 Esc 进入命令模式后输入) | 强制忽略未保存修改,直接关闭编辑器 | |
只保存不退出 | :w (先按 Esc 进入命令模式后输入) | :w (先按 Esc 进入命令模式后输入) | 仅保存当前文件内容,可继续编辑 | |
光标移动(命令模式) | 移到文件开头 | gg | gg | 快速将光标定位到文件首行开头位置 |
移到文件末尾 | G | G | 快速将光标定位到文件最后一行开头位置 | |
移到指定行(如第 n 行) | nG | nG | 将光标定位到指定的第 n 行开头,n 为具体行数数字 | |
向左移动光标 | h | h | 按一次光标向左移动一个字符位置 | |
向下移动光标 | j | j | 按一次光标向下移动一个字符位置 | |
向上移动光标 | k | k | 按一次光标向上移动一个字符位置 | |
向右移动光标 | l | l | 按一次光标向右移动一个字符位置 | |
文本删除(命令模式) | 删除单个字符 | x | x | 将光标移到要删除的字符上,按下此键删除该字符 |
删除整行 | dd | dd | 将光标移到要删除的行,按下此键删除整行内容 | |
文本复制粘贴(命令模式) | 复制一行 | yy | yy | 将光标移到要复制的行,按下此键复制该行内容 |
粘贴 | p | p | 将光标移到目标粘贴位置,按下此键粘贴已复制的内容 | |
插入模式进入(命令模式切换) | 在光标当前位置插入文字 | 按 i 键 | 按 i 键 | 进入插入模式,可在光标所在位置开始输入文字,按 Esc 键返回命令模式 |
在光标后面位置插入文字 | 按 a 键 | 按 a 键 | 进入插入模式,在光标后开始输入文字,按 Esc 键返回命令模式 | |
在当前行下方新开一行并插入文字 | 按 o 键 | 按 o 键 | 进入插入模式,在当前行下方新开一行用于输入文字,按 Esc 键返回命令模式 | |
末行模式操作(命令模式切换) | 保存并退出 | :wq | :wq | 先按 : 键进入末行模式,再输入此命令保存并退出编辑器 |
查找替换(全局) | :%s/要替换的内容/替换后的内容/g | :%s/要替换的内容/替换后的内容/g | 先按 : 键进入末行模式,如将文件内所有 the 替换成 a 可输入 :%s/the/a/g ,回车执行替换操作 | |
查找替换(指定行) | :n s/要替换的内容/替换后的内容/g (n 为行数) | :n s/要替换的内容/替换后的内容/g (n 为行数) | 先按 : 键进入末行模式,如替换第 3 行的 the 可输入 :3s/the/a/g ,回车执行替换操作 |
通过这个表格,可以更直观地对比 vi
和 vim
在相同操作类型下的命令格式,有助于更快速准确地在不同场景下使用它们进行文本编辑操作。同时结合前面文档中详细的文字描述和案例讲解,相信能更好地掌握这两个编辑器的使用方法哦。
希望这份补充内容符合你的需求,要是还有其他想添加或者修改的地方,可以继续向我提问呀。
二、Vi/Vim 编辑器的启动与退出
(一)启动编辑器
要打开一个已有的文件,比如编辑 /etc/hosts
文件(这可是系统网络配置的关键文件,修改时要倍加小心),在终端敲下:
vim /etc/hosts
或者
vi /etc/hosts
要是想用基础版的 Vi,把 vim
换成 vi
就行。文件瞬间在编辑器窗口中打开,光标稳稳落在首行开头,等待你大展拳脚。
要是想新建一个文件,例如记录日常学习笔记,创建一个名为 learning_notes.txt
的文件,只需输入:
vim learning_notes.txt
或者
vi learning_notes.txt
编辑器马上新建一个空白文档,准备好迎接你的文字。
(二)退出编辑器
退出环节有好几招,各有各的妙处。
正常保存并退出:精心编辑完 learning_notes.txt
,想保存成果并潇洒离场,先按下键盘上的 Esc
键,确保进入命令模式,接着输入 :wq
然后回车。这里的 :w
代表 write
,意思是保存文件内容;q
表示 quit
,就是退出编辑器,二者联手实现完美收官。操作示例如下:
# 编辑完毕,按下 Esc 键
: wq
# 回车,文件保存,编辑器关闭
不保存直接退出:要是觉得这次编辑不太满意,改动都不想要了,按下 Esc
键进入命令模式,紧接着输入 :q!
回车。注意这个 !
,它起着强制的作用,让编辑器无视那些未保存的修改,强行退出。演示如下:
# 按下 Esc 键进入命令模式
: q!
# 回车,编辑器直接关闭,修改未保存
只保存不退出:编辑到一半,担心电脑出状况丢了辛苦写的内容,想先存个档?按 Esc
键进入命令模式,输入 :w
回车就行。操作如下:
# 编辑中途,按下 Esc 键
: w
# 回车,文件保存,可继续编辑
三、深入探索三种模式
Vi/Vim 编辑器最精妙之处在于其三模式设计:命令模式、插入模式、末行模式,灵活切换、熟练运用是掌握它的关键。
(一)命令模式(Command Mode)
这是打开 Vi/Vim 编辑器的默认模式,掌管着光标移动、文本删改、复制粘贴等诸多本领。
- 光标移动操作:
假设正在编辑test.txt
文件,内容如下:
The quick brown fox jumps over the lazy dog.
Another line for testing cursor movement.
最直观的,你能用键盘上的方向键操控光标走向;同时,还有一套高效的快捷键——h
(向左移动光标)、j
(向下移动光标)、k
(向上移动光标)、l
(向右移动光标)。要是光标在首行开头,想快速移到首行末尾,连按 l
键就行:
# 光标处于首行开头
l
l
l
l
l
l
l
l
l
l
# 光标移至 'dog.' 的 '.' 位置
要是想迅速回到文件开头,按下 gg
;想直达文件末尾,按 G
;要是想去指定行,比如第 3 行,输入 3G
就行。
- 文本删除操作:
碰上文件里有多余字符或行要清理的时候,这些操作就派上用场了。
删除单个字符,把光标移到目标字符上,按下x
键。比如说想删去第二行的r
字符:
# 移动光标到第二行 'r' 字符位置
x
# 该行变为 'Another line fo testing cursor movement.'
要是一整行都多余,把光标移到该行,按 dd
键就能删除整行。要是觉得第二行没用了,操作如下:
# 移动光标到第二行
j
# 按 dd 键删除该行
dd
# 文件就剩一行:The quick brown fox jumps over the lazy dog.
- 文本复制粘贴操作:
想复制一行内容,先把光标移到该行,按下yy
键;粘贴的时候,把光标移到目标位置,按p
键就行。比如复制首行,贴到文末:
# 移光标到首行
gg
# 按 yy 复制首行
yy
# 移光标到文末
G
# 按 p 粘贴
p
# 文件内容变成:
# The quick brown fox jumps over the lazy dog.
# The quick brown fox jumps over the lazy dog.
(二)插入模式(Insert Mode)
从命令模式按下特定按键,就能进入这个自由输入文字的模式。
想在光标当前位置插入文字,按下 i
键。要是文件里 test
拼成了 tset
,移光标到 s
后,按 i
键输入 e
修正,再按 Esc
回命令模式:
# 移光标到 's' 后
i
# 输入 'e'
e
# 按 Esc,单词变回 'test'
要是想在光标后面位置插入文字,按 a
键。比如想在 The
和 quick
间加 very
,移光标到 The
后空格,按 a
键输入 very
,按 Esc
回命令模式:
# 移光标到指定位置
a
# 输入'very'very
# 按 Esc,变为 'The very quick brown fox jumps over the lazy dog.'
要是想在当前行下方新开一行并插入文字,按下 o
键。假设文件最后一行写完了,想新开一行写总结,移光标到末行,按 o
键,输入总结内容,再按 Esc
回命令模式:
# 移光标到末行
# 按 o 键新开一行
o
# 输入总结内容,例如 'This is the end of the text.'
This is the end of the text.
# 按 Esc 完成操作
(三)末行模式(Last Line Mode)
在命令模式下按下 :
键,就进入了这个用于执行关键操作的末行模式。
保存文件与退出编辑器的操作咱们前面提过了,再来说说查找替换功能。
假设 test.txt
文件里多次出现 the
,想把它们全换成 a
,在命令模式下按下 :
键进入末行模式,输入 :%s/the/a/g
回车。这里,%
表示针对整个文件;s
是 substitute
的简写,意为替换;the
是要被替换的内容;a
是替换后的内容;g
表示全局替换,要是不加 g
,只替换每行第一个匹配项。操作如下:
# 在命令模式下按 : 键进入末行模式
:
# 输入查找替换命令,然后回车
:%s/the/a/g
# 文件里所有 'the' 都被替换成 'a'
要是只想替换指定行内的内容,比如只替换第 2 行的 the
,输入 :2s/the/a/g
回车就行。
四、总结与练习
Vi/Vim 编辑器功能远不止这些,咱们今天学的只是冰山一角。初次接触可能觉得模式切换有点绕,但多练习、多实操,形成肌肉记忆,很快就能得心应手。
以下是一个综合练习案例,涵盖了前面所讲的 Vi/Vim 编辑器的相关知识点:
练习案例
现有一个名为 practice.txt
的文本文件,内容如下:
The beautiful flower grows beside the small path.
There are many stones on the path.
The color of the flower is red.
请按照以下要求对该文件进行操作:
- 启动 Vim 编辑器打开
practice.txt
文件。 - 将光标快速移动到文件末尾,然后再移动回文件开头。
- 删除第二行整行内容。
- 复制第三行内容,并粘贴到第一行下方。
- 在第一行 “The” 和 “beautiful” 之间插入单词 “very”。
- 进入末行模式,将文件中所有的 “the” 替换成 “a”(全局替换)。
- 保存文件并退出编辑器。
操作步骤及答案
- 启动 Vim 编辑器打开
practice.txt
文件:
在终端输入以下命令:
vim practice.txt
- 将光标快速移动到文件末尾,然后再移动回文件开头:
进入编辑器后,按G
键可将光标快速移动到文件末尾;再按gg
键,就能将光标移动回文件开头。 - 删除第二行整行内容:
先通过按j
键将光标移动到第二行(也可以使用其他光标移动快捷键组合来定位),然后按下dd
键,即可删除第二行整行内容。此时文件内容变为:
The beautiful flower grows beside the small path.
The color of the flower is red.
- 复制第三行内容,并粘贴到第一行下方:
将光标移动到第三行(可以使用3G
等方式快速定位),按下yy
键复制该行内容;接着将光标移动到第一行末尾(可以通过多次按l
键或者使用其他合适的光标移动操作),按下p
键进行粘贴。此时文件内容变为:
The beautiful flower grows beside the small path.
The color of the flower is red.
The color of the flower is red.
- 在第一行 “The” 和 “beautiful” 之间插入单词 “very”:
将光标移动到第一行 “The” 后的空格处,按下i
键进入插入模式,接着输入 “very”,再按Esc
键返回命令模式。此时第一行内容变为 “The very beautiful flower grows beside the small path.”,文件整体内容如下:
The very beautiful flower grows beside the small path.
The color of the flower is red.
The color of the flower is red.
- 进入末行模式,将文件中所有的 “the” 替换成 “a”(全局替换):
在命令模式下按下:
键进入末行模式,输入:%s/the/a/g
回车,即可完成全局替换操作。此时文件内容变为:
A very beautiful flower grows beside a small path.
A color of a flower is red.
A color of a flower is red.
- 保存文件并退出编辑器:
按下Esc
键确保处于命令模式,然后输入:wq
回车,就可以保存文件并退出 Vim 编辑器了。
通过这个练习案例,可以对前面所学的 Vi/Vim 编辑器的启动、光标移动、文本删除、复制粘贴以及末行模式下的查找替换、保存退出等知识点进行巩固练习,希望大家可以多多练习,熟练掌握 Vi/Vim 编辑器的使用哦。