(*长期更新)软考网络工程师学习笔记——Linux操作系统中的vi/vim 编辑器详解(下)

简介: (*长期更新)软考网络工程师学习笔记——Linux操作系统中的vi/vim 编辑器详解

四、行编辑器


行编辑器与屏幕编辑器最大的区别是,屏幕编辑器是对每一个字符进行编辑的,而行编辑器每一条编辑命令所针对的编辑单位是行,即一行进行编辑。


有的地方将行编辑器也称作底线命令模式,由于两种工作模式是可以切换的,所以常将命令模式、输入模式和底线命令模式一起归纳,如下表是这三种模式的进入和退出方法:

名称 进入方法 退出方法
命令模式 一开始使用该命令即进入该模式 输入:wq,即可保存并退出
输入模式 在命令模式下按下i 通过ESC键,退出至命令模式
底线命令模式 在命令模式下按下: :vi命令回车Enter键结束通过,退出至命令模式


(一)进入行编辑器


1、通过屏幕编辑器进入


由于行编辑器和屏幕编辑器是可以切换的,所以在vi屏幕编辑器的命令模式下通过输入:即可进入行编辑器,如下可看到我们可在“:”后输入字母、数字、符号等等:

1667191622509.jpg


2、从终端进入


另外也可以通过ex后跟文件名称的方式来进入行编辑器,如下:

ex filename


例如通过ex行编下编辑位于/tmp目录下的myfile文件:

[yyx@192 ~]$ ex /tmp/myfile


在Linux终端输入命令,进入行编:

1667191652216.jpg


(二)退出行编辑器


1、退回至屏幕编辑器


在行编辑器下,即在:后面输入vi即可返回至屏幕编辑器的命令模式,如下:

1667191667474.jpg

然后回车即可返回命令模式,光标停留在行编处理的最后一行的下一行的行首:

1667191681623.jpg


2、退出vi编辑器


(1)通过在:后面输入wq,即可写回(覆盖)原文件,并退出vi编辑器;

(2)在:后面输入q,退出vi编辑器;

(3)在:后面输入q!,强行退出vi编辑器(不写文件);


(三)行编的常用命令


1、:n,表示将第n行作为当前编辑行,例如目前当前行是第一行:

1667191760594.jpg

通过在:后跟2,即代表将第2行作为当前编辑行,输入:2,回车:

1667191776701.jpg

可见当前编辑行光标已移动至第二行行首:

1667191789199.jpg

2、:np,表示显示第n行的内容,并将第n行作为当前行,例如:

1667191800588.jpg

可见第二行的内容显示在下方,且当前光标已切换至第二行行首:

1667191812847.jpg

3、:m,np,表示显示第m行至第n行的内容,并将第n行作为当前行,例如:

1667191824253.jpg

显示第二行至第四行的内容,并将第四行作为当前光标所在行:

1667191836140.jpg

光标位于第四行:

1667191848910.jpg

4、删除操作

(1):d,表示删除当前行的内容;

(2):nd,表示删除第n行的内容,删除后将当前的第n行作为当前光标所在行;

(3):m,nd,表示删除第m行至第n行的内容,删除后将当前的第n行作为当前光标所在行;

5、:a,表示在当前行的下一行输入文本,直到按Esc键为止。

6、替换操作

(1):s/string1/string2/,表示将当前行的第一个字符串string1替换成字符串string2;

(2):m,ns/string1/string2/g,表示把从第m行到第n行中所有字符串string1都替换成字符串string2。

7、(1):r filename,在当前行的后面附加文件名称为filename的文件内容;

(2):nr filename,在第n行的后面附加文件名称为filename的文件内容。

8、(1):w filename,写到文件名称为filename,不退出;

(2):w!filename,强制执行写到文件名称为filename,不退出。


五、vi命令的其他常用选项


(一)恢复上次的编辑副本

vi -r filename


vi后跟-r参数可以对修改过但因意外中断而未保存的文件名称为filename的文件读入编辑缓冲区,使编辑工作继续进行。


(二)设置加密文件

vi -x filename


vi后跟-x参数可对文件名称为filename的加密文件经过输入密码后进行编辑。

例如现在对一个没加密的文件设置密码并编辑该文件,如下命令:

[yyx@192 ~]$ vi -x /tmp/myfile


在Linux终端输入命令:

1667191911896.jpg

这里会提示再输入一次密码:

1667191924965.jpg

设置好密码后,进入vi编辑器然后保存,再次编辑该文件时就要使用密码才能进入:

1667191932425.jpg

相关文章
|
6天前
|
监控 Java 数据库连接
【后台开发】TinyWebser学习笔记(1)网络编程基础知识
【后台开发】TinyWebser学习笔记(1)网络编程基础知识
18 3
|
6天前
|
Ubuntu Linux iOS开发
LabVIEW在不同操作系统上使VI、可执行文件或安装程序
LabVIEW在不同操作系统上使VI、可执行文件或安装程序
13 3
|
6天前
|
弹性计算 Unix Linux
Linux:文本编辑器 - vim
Linux:文本编辑器 - vim
15 1
|
6天前
|
网络协议 网络架构 数据格式
计算机网络学习笔记(一)
OSI七层网络模型旨在支持异构网络互联,从下到上分别为物理层(传输比特流)、数据链路层(帧传输,如交换机)、网络层(IP数据包路由,如路由器)、传输层(TCP/UDP,端到端通信)、会话层(管理会话)、表示层(数据格式转换)和应用层(用户接口,如FTP, SMTP)。每一层负责不同的通信功能,并通过协议如PPP, IP, TCP等协同工作。
|
6天前
|
缓存 网络协议 开发者
计算机网络学习笔记(三)
TCP的异常终止使用reset报文,用于强制关闭连接,不等待正常四次挥手。RST标志位设置时,发送方直接丢弃缓存,接收方无需确认。常见情况包括:尝试连接服务器未开放的端口、一方异常崩溃、收到不属于现有连接的报文、超时未收到确认报文或应用开发者优化效率。reset报文帮助释放资源,防止连接挂起。
|
6天前
|
安全 数据安全/隐私保护
计算机网络学习笔记(四)
HTTPS流程涉及服务器的公钥/私钥和客户端随机密钥。首先,客户端向服务器443端口发起请求,服务器发送公钥给客户端。客户端验证公钥后生成随机密钥(client key),用公钥加密后发送回服务器。服务器用私钥解密获取client key,然后用它加密数据成密文传回客户端。客户端用client key解密完成安全传输。
|
6天前
|
数据可视化 Linux Shell
【Linux】开始使用 vim 吧!!!
vim 的操作我只介绍了一部分,还有许多等待大家探索!!!
28 6
|
6天前
|
Unix Shell Linux
在 Linux 上把 Vim 配置为默认编辑器
在 Linux 上把 Vim 配置为默认编辑器
|
6天前
|
Linux Shell 开发工具
【Linux】yum、vim
【Linux】yum、vim
17 2
|
6天前
|
Linux 开发工具 C语言
Linux课程四课---Linux开发环境的使用(vim编辑器的相关)
Linux课程四课---Linux开发环境的使用(vim编辑器的相关)