移动到行

以下命令将帮助您移动到文件的特定行:

当您键入冒号 (:) 时,您的光标将移动到键入命令和任何参数的屏幕的下一行。

如果忽略上述命令的感叹号,您将收到一条错误消息,比如更改没有保存,输出文件无法重写例如,编辑只读文件时)。

: 命令有一个较长的形式:quit, :write, :edit),但是很少使用。

vi 模式

vi 编辑器有两种操作模式:

命令模式

在命令模式中,您可以在文件中移动并执行一些编辑操作,比如搜索文本、删除文本等。启动时通常都是命令模式。

插入模式

在插入模式中,您在插入点向文本键入新文本。要返回到命令模式,按 EscEscape)键。

这两个模式决定了编辑器的行为。您在插入模式中键入的任何内容都将视为将要插入文件的文本。如果尝试键入命令但没有反应,或者在光标下出现字符,那么可能是忘记按 Esc 退出插入模式了。

编辑文本

现在您可以在vi中打开文件,在其中移动和退出,现在我们将学习如何编辑文件中的文本。

修改文本

需要插入、删除或修改文本时,使用以下命令。注意,有些命令有类似于小写形式的大写形式,具体见下文的描述。

搜索文本

搜索文本:

使用 / 后跟正则表达式可以在文件中进行向前搜索。

  1. ? 使用 ? 后跟正则表达式可以在文件中进行向后搜索。   
  2. n 使用 n 以任意方向重复上一次搜索。  

上述搜索命令前可以带任何数字表示重复次数。3/x 查找当前点第三次出现 x 的地方,就像是 /x 后跟 2n。类似地,2/^e 将从当前位置开始的第二行查找以 e 开始的内容。

注意,到达文件底部之后,搜索将回到顶部。

获得帮助

vi 中另一个有用的命令是 help 命令,调用它的方式是 :help。help 将在vi中打开;使用 :q 命令可以离开帮助回到工作。如果您希望在某个特定主题获得帮助,比如换行,可以尝试在 :help 命令后面添加一个字,例如::help wrap。

小结

我们从向 count1.sh 文件添加一行开始。 要保持原来的内容并保存修改的版本,如 count2.sh,使用vi打开文件之后,我们应该使用这些vi命令。注意, <Esc> 表示按 Esc 键。

清单 3. 向 count1.sh 添加一行的编辑器命令

  1. 1G  
  2. O  
  3. sleep 20<Esc>   
  4. :w! count2.sh   
  5. :q 

这些命令执行以下操作:

  1. 1G 移动到文件的第一行   
  2. O 在上方新建一行并进入插入模式   
  3. sleep 20 要添加的新文本   
  4. <Esc> 按 Esc 键返回命令模式   
  5. :w! count2.sh 将文件写入磁盘   
  6. :q 关闭 vi  

只要知道如何做,vi编辑器的使用一切都很简单。


相关内容