linux使用文本编辑器(Linux中如何进行文本编辑)

由于目前的应用服务器大多基于Linux进行搭建,当我们进行部署或维护的时候就会用到文本编辑的功能。

下面来简单介绍一下在Linux中如何进行文本编辑。-

模式介绍

vi编辑器的模式共有三种,分别是一般模式、编辑模式、尾行指令模式。

当使用vi命令打开一个文件时(也就是vi命令后面紧跟指定文件并按回车键时所处的状态),就会进入一般模式。在一般模式下可以与编辑模式、末行指令模式相互转换,但是编辑模式和末行指令模式之间不能无法直接切换,必须先切换为一般模式后方可。

下面给出三种模式之间转换的示意图:

linux使用文本编辑器(Linux中如何进行文本编辑)(1)

  • 一般模式

当使用vi打开某个文件时,默认会进入到一般模式。在该模式中最基础的功能是使用上下左右键来移动光标。当然,也可使用组合键来执行复制、粘贴、删除等功能。

  • 编辑模式

在一般模式中,按i键可以进入编辑模式(这是最简单的进入方式,底部会出现“--INSERT--”字样,还有其他的进入方式后面介绍)。在编辑模式中,依然可以使用上下左右键来移动光标,同时还可以输入文字到文件中。从编辑模式回到一般模式需要按Esc键。

  • 末行指令模式

在一般模式中,按冒号键 :或斜杠键 / 或问号键 ? 就会在当前视图的最后一行出现相应的符号,这就代表进入了相应的末行指令模式。

操作

下面通过几个案例来演示vi常见的操作。

  • 案例一:使用vi创建和编辑一个文件

(1)使用vi创建一个文件vi_file,进入一般模式

使用到的命令如下所示:

vi vi_file

执行后如下图所示:

linux使用文本编辑器(Linux中如何进行文本编辑)(2)

(2)按i键从一般模式进入编辑模式

按"i"键之后,下面会出现Insert的字样,表明已经成功进入编辑模式,如下图所示:

linux使用文本编辑器(Linux中如何进行文本编辑)(3)

(3)在编辑模式中写一段话后退出编辑模式,进入一般模式

在编辑模式下输入下面的内容:

ip=192.168.10.30

接着按ESC(退出键)进入一般模式,如下图所示:

linux使用文本编辑器(Linux中如何进行文本编辑)(4)

(4)在一般模式中复制并粘贴第一行的文字

将光标移动到某一行后,按两次y键,即可复制该行的内容,按p键可粘贴到光标所在行的下一行。操作后如下图所示:

linux使用文本编辑器(Linux中如何进行文本编辑)(5)

(5)在一般模式中将刚刚复制的文字删掉

将光标定位到要删除的行,按d键两次,即可删除该行。操作后如下图所示:

linux使用文本编辑器(Linux中如何进行文本编辑)(6)

(6)在一般模式中将IP删除

将光标定位到要删除的单词处(单词首个字符),依次按d和w键,即可删除该词。执行后如下图所示:

linux使用文本编辑器(Linux中如何进行文本编辑)(7)

(7)恢复刚刚删除的词IP

如果想撤销操作,则可以按u键。操作结果如下所示:

linux使用文本编辑器(Linux中如何进行文本编辑)(8)

(8)切换至末行指令模式并保存退出

输入:后,再输入x,即可保存退出(x的功能和wq相同)。执行之后使用cat命令查看结果如下所示:

linux使用文本编辑器(Linux中如何进行文本编辑)(9)

  • 案例二:搜索关键字

(1)使用vi打开/etc/ssh/sshd_config文件。

使用到的命令如下所示:

vi /etc/ssh/sshd_config

执行结果如下所示:

linux使用文本编辑器(Linux中如何进行文本编辑)(10)

(2)使用“/”符号查找关键字HostKey

接着按“/”键,并输入待查找内容如:“HostKey”后如下所示:

linux使用文本编辑器(Linux中如何进行文本编辑)(11)

如果需要继续往下查找对应的关键字,则按n键;如果需要向上查找对应的关键字,则按大N(也就是Shift n)。

  • 案例三:替换关键字

有时候需要将整篇文档中的某个词换成另外一个词,如果靠手工寻找替换是不现实的。利用末行指令模式则可以轻易实现这个功能。

首先利用cp指令拷贝一份sshd_config,使用到的指令如下所示:

cp /etc/ssh/sshd_config ./vi_file2

执行结果如下所示:

linux使用文本编辑器(Linux中如何进行文本编辑)(12)

接着使用vi命令来打开vi_file2文件进行编辑,并使用如下命令将文件中的HostKey全部替换成NewKey。

:1,$s/HostKey/newKey/g

执行之后结果如下所示:

linux使用文本编辑器(Linux中如何进行文本编辑)(13)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页