(*长期更新)软考网络工程师学习笔记——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

相关文章
|
1天前
|
存储 Prometheus 监控
|
2天前
|
边缘计算 运维 5G
|
6天前
|
安全 网络协议 网络虚拟化
|
6天前
|
监控 安全 网络协议
|
4天前
|
程序员 Linux 项目管理
为什么vim是程序员最喜欢的文本编辑器之一?
为什么vim是程序员最喜欢的文本编辑器之一?
|
6天前
|
Linux Shell 开发工具
Linux Vim批量注释和自定义注释
在Vim中,快速批量注释和取消Shell脚本的多行可以使用替换命令。例如,用`:1,10s/^/#/g`在第1到10行行首加`#`注释,`:1,10s/^#//g`则移除这些行的行首`#`。定义快捷键如`:map^P l#<Esc>`(需用Ctrl+V+P生成^P)能一键在当前行添加`#`注释。要取消注释,可以定义`:map^B 0x`来删除行首字符。通过`.vimrc`保存快捷键设置,可使它们在每次启动Vim时生效。
22 6
|
5天前
|
Ubuntu Unix Linux
Linux Vim最全面的教程
Linux Vim最全面的教程
|
3天前
|
网络协议 网络性能优化 调度
|
4天前
|
存储 缓存 安全
【Linux】冯诺依曼体系结构与操作系统及其进程
【Linux】冯诺依曼体系结构与操作系统及其进程
39 1
|
4天前
|
缓存 监控 关系型数据库
深入理解Linux操作系统的内存管理机制
【7月更文挑战第11天】在数字时代的浪潮中,Linux操作系统凭借其强大的功能和灵活性,成为了服务器、云计算以及嵌入式系统等领域的首选平台。内存管理作为操作系统的核心组成部分,对于系统的性能和稳定性有着至关重要的影响。本文将深入探讨Linux内存管理的基本原理、关键技术以及性能优化策略,旨在为读者提供一个全面而深入的理解视角,帮助开发者和系统管理员更好地优化和管理Linux系统。