The Linux Command Line——13. vi 简介

启动 vi,这次传递给 vi 一个不存在的文件名。这也是用 vi 创建新文件的方法。

 

 

插入模式:按下 “i” 键进入插入模式,在屏幕底部看到如下的信息。

 

按下 Esc 按键退出插入模式返回命令模式。

保存我们的工作

按下冒号键之后,一个冒号字符应该出现在屏幕的底部,为了写入我们修改的文件,我们在冒号之后输入 “w” 字符,然后按下回车键:

 

移动光标

 

基本编辑

删除文本

 

剪切,复制和粘贴文本

 

查找和替换

查找一行

f 命令能搜索一特定行,并将光标移动到下一个匹配的字符上。例如,命令 fa 会把光标定位到同一行中下一个出现的 “a” 字符上。在进行了一次行内搜索后,输入分号能重复这次搜索。

查找整个文件

移动光标到下一个出现的单词或短语上,使用 / 命令。这个命令和我们之前在 less 程序中学到的一样。当你输入/命令后,一个 “/” 字符会出现在屏幕底部。接下来,输入要查找的单词或短语,按下回车。光标就会移动到下一个包含所查找字符串的位置。通过 n 命令来重复先前的查找。

全局查找和替代

vi 使用 ex 命令来执行查找和替代操作(vi 中叫做“替换”)。将整个文件中的单词“Line”更改 为“line”,输入以下命令:

 

 

编辑多个文件

通过 vi,我们可以打开多个文件来编辑,只要在命令行中指定要编辑的文件名。

 

用 vi 来编辑我们的原文件和新创建的文件:

 

vi 启动,我们会看到第一个文件显示出来:

 

文件之间切换

从这个文件切换下一个文件,使用这个 ex 命令:

 

回到先前的文件使用:

 

当我们从一个文件移到另一个文件时,如果当前文件没有保存修改,vi 会阻止我们切换文件,这是 vi 强制执行的政策。在命令之后添加感叹号,可以强迫 vi 放弃修改而转换文件。

使用:buffers 命令。运行这个命 令后,屏幕顶部就会显示出一个文件列表:

 

要切换到另一个缓冲区(文件),输入:buffer, 紧跟着你想要编辑的缓冲器编号。

 

跨文件复制黏贴

当我们编辑多个文件时,经常地要复制文件的一部分到另一个正在编辑的文件。使用之前我们学到的拉(yank)和粘贴命令,这很容易完成。说明如下。以打开的两个文件为例,首先转换到缓冲区 1(foo.txt),输入:

 

我们应该得到如下输出:

 

下一步,把光标移到第一行,并且输入 yy 来复制这一行。 转换到第二个缓冲区,输入:

 

移动光标到第一行,输入 p 命令把我们从前面文件中复制的一行粘贴到这个文件中:

 

插入整个文件到另一个文件

我们也可以把整个文件插入到我们正在编辑的文件中。看一下实际操作,结束 vi 会话,重新启动一个只打开一个文件的 vi 会话:

 

这个:r 命令(是 “read” 的简称)把指定的文件插入到光标位置之前。

posted @ 2021-04-26 12:43  北漂的尘埃  阅读(74)  评论(0编辑  收藏  举报