RHCSA之学习vi/vim(使用教程)有这一篇就够了!

本文全面介绍了vim编辑器的功能和使用技巧,包括工作模式、光标操作、文档编辑、查找与替换、保存与退出等内容,并提供了实用的扩展功能介绍。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

文档编辑器的作用

创建或修改文本文件;
维护Linux系统中的各种配置文件;

Linux中最常用的文本编辑器

vi:类Unix系统中默认的文本编辑器
vim:vi编辑器的增强版本,习惯上也称为vi

vim文本编辑器特点

所有的UNIX like系统都会内置vi文本编辑器,其他的文本编辑器则不一定会存在;
很多软件的编辑接口都会主动调用vi(例如crontab);
vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便程序设计;vim会根据文件的扩展名或者是文件内的开头信息判断该文件的内容而自动调用该程序的语法判断式,再以颜色来显示程序代码与一般信息。
程序简单,编辑速度相当快速。

1.vim工作模式

vim具有多种工作模式,常用的工作模式有:
普通模式、插入模式、命令模式

a.普通模式可以实现基本的光标移动于大量的快捷键操作;
b.插入模式可以实现文本的基本编辑功能;
c.命令模式通过输入特定的指令实现特定的功能,如保存与退出等;

直接输入vim命令,即可开启该文本编辑器,默认将创建一个新的文档(保存时需要指定文件名)另外,如果vim命令后跟了文件名参数,则需要看该文件是否存在;如果存在,vim将打开该文件;如果不存在,vim将创建该文件。
vim编辑器默认会进入普通模式,插入模式可以通过以下按键进入:

按键功能描述
a进入插入模式,后续输入的内容将插入至当前光标的后面
A进入插入模式,后续输入的内容将插入至当前光标的段尾
i进入插入模式,后续输入的内容将插入至当前光标的前面
I进入插入模式,后续输入的内容将插入至当前光标的段首
o进入插入模式并在当前行的后面创建新的空白行
O进入插入模式并在当前行的前面创建新的空白行

当需要退回到普通模式或不知道自己当前处于什么模式时,可以通过Esc键返回到普通模式。
最后,在普通模式下输入“:”,即可进入命令模式;在“:”后输入指令,即可实现特定的功能。

2.vim光标操作

vim中最简单的移动光标的方式是使用方向键(上下左右)操作,但这种方式效率低下,更高效的方式是使用快捷键,常用的快捷键如下,需要注意的是所有的快捷键均在普通模式下直接使用:

快捷键功能描述
h光标向左移动一位
j光标向下移动一行(以回车为换行符)
k光标向上移动一位
l光标向右移动一位
gg移动光标至文件首行
G移动光标至文件末尾
nG移动光标至第n行(n为数字,如n为10时表示第10行)
^光标移至当前行的首字符
$光标移至当前行的尾字符
fx光标移至当前行的下一个x字符处(x为任意字符)
Fx光标移至当前行的上一个x字符处
w光标向右移动一个单词
nw光标向右移动n个单词(n为数字)
b光标向左移动一个单词
nb光标向左移动n个单词(n为数字)

3.vim编辑文档

在vim编辑器中编辑文档内容主要有两种常用的方式:进入编辑模式操作和快捷键操作。进入编辑模式后,即可以通过光标进行增加、删除、修改的基本操作,这种方式也是最简单的方式,另外,快捷键操作方式是在普通模式下输入相应的快捷键实现对应的功能,快捷键如下:

操作快捷键功能描述
dd删除一行
ndd删除n行
d$删除光标至行尾的内容
J删除换行符,可以将两行合并为一行
u撤销上一步操作,可以多次使用uu表示撤销两步操作
rx将光标当前字符替换为x(x为任何键盘单个输入)
yy复制当前行
nyy复制n行内容
p粘贴至当前行之后
P粘贴至当前行之前

4.vim查找与替换

当文档很长时,我们可以通过查找快速定位要找的内容,在vim中通过

“/”关键词实现自上而下的查找功能

如/host在当前文档的光标处向下查找host并显示,如果一个文档中有多个host,可以通过快捷键n跳转至下一个匹配的关键词处,快捷键N将跳转至上一个匹配的关键词处。

“?”关键词实现了自下往上的查找功能

如?host从当前文档的光标处向上查找host并显示,此时快捷键n表示查看上一匹配,N表示查找下一个匹配。
vim提供了非常好用的替换功能,可以快速完成大量的替换工作
例如:

[root@localhost ~]# cp /etc/passwd /root/
[root@localhost ~]# vim passwd

通过上面两条命令复制一份临时测试文档并编辑,我们可以对该文件实现多种替换功能

指令功能描述
:s/root/admin/将光标当前行中第一个出现的root替换为admin,没有则不替换
:s/root/admin/g将光标当前行中所有的root替换为admin
:3,5 s/sbin/bin/g将第三行至第五行之间的所有sbin替换为bin
:% s/nologin/fault/g将所有行的nologin都替换为fault

5.vim保存并退出

一般情况下,我们会通过命令模式输入特定的质量实现保存与退出功能,如下:

指令功能描述
:q!不保存并退出(强制退出)
:wq保存并退出
:x保存并退出
:w只保存,不退出
:w b.txt另存为b.txt(这里可以跟上路径)

6.vim扩展小知识

(1)显示行号

显示当前行是第几行的方式有很多,可以通过为文档添加行号来实现,添加行号的方法是在命令模式下输入

:set number 或者简写为 :set nu 即可

(2)忽略大小写

在vim中查找时,你可能不清楚所要找的关键词的大小写,而vim默认是区分大小写的,这个时候可以通过在命令模式下输入

:set ignorecase 实现忽略大小写

(3)多窗口编辑

当需要同时编辑多个文档时,分割窗口就尤为重要了,最简单的方式是在命令模式下输入:split 如此可以实现编辑同一个文档的不同行,至于窗口的切换,可以使用快捷键:

快捷键功能作用
Ctrl+w+h表示跳转至左边一个窗口
Ctrl+w+l表示跳转至右边一个窗口
Ctrl+w+j表示跳转至上面一个窗口
Ctrl+w+k表示跳转至下面一个窗口

在命令模式下输入:close可以关闭当前窗口
在命令模式下输入:split second.txt 此命令会分割窗口并打开新的文件
如此实现多窗口多文件的编辑工作,
默认的:split 为水平分割窗口,
垂直分割可以使用:vsplit 指令。

(4)执行shell命令

使用vim编辑文档的过程中,如需要执行一条shell命令而不想退出vim编辑器,可以通过 :!{命令}的方式实现。例如,需要查看当前目录下档案的名称,则在命令模式下输入指令 :!ls即可,执行完成后按回车键返回vim编辑器。

(5)自动补齐

如果需要输入的内容在前面的行中已经出现过,那么vim可以根据上文内容自动补齐输入。例如,在文件第三行定义了一个变量FIRST_TIME=09。以后需要再次输入FIRST_TIME时,可以仅输入FI后使用快捷键Ctrl+N,实现自动补齐功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Slash_XR

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值