2020年3月11日 星期三

vi移动文本命令

vi编辑器拥有一项特殊的功能,即将文本从一个位置移动或者复制到另一个位置,这就是vi移动文本命令。

vi总是在一个称为无名缓冲区(unnamed buffer)的存储区中为上一次删除保存一份副本。在任何时候,都是可以使用p和P(put,放入)命令将无名缓冲区的内容复制到编辑缓冲区(这块存储区被称为无名缓冲区的原因在于还有一些其它有名称的类似存储区)。

2020年3月10日 星期二

vi怎么恢复删除

每当删除一行或者多行文本是,vi都将删除内容保存在一个特殊的存储区中,这个存储区为编号缓冲区(numbered buffer)。vi中共有9个这样的缓冲区,编号从1至9。在任何时候,都可以将一个编号缓冲区的内容插入到编辑缓冲区中。这样做时,需要键入一个“(双引号),后面跟着缓冲区的编号,再后跟一个p或者P(put,放入)命令(提醒:当处理行时,p命令在当前行的下面插入,P命令在当前行的上面插入)。

2020年3月8日 星期日

vi撤销或重复改变命令

一旦开始进行替换和删除,能够撤销改变就变得十分重要,所以要掌握vi撤销或重复改变命令。例如,假设您希望将单词“advertisement”的所有匹配项都改变为 “ad”。您决定输入:

:%s/advertisement/ad/g
但是,您不小心键入错误,忘记了键入第二个“d”:

2020年3月7日 星期六

vi 删除文本命令

从编辑缓冲删除文本的方法有若干种,您既可以使用vi命令,也可以使用ex命令。vi的命令如下所示:

x 删除当前光标处的字符

X 删除光标左边的字符

D 删除从当前光标到本行末尾的字符

dmove 删除从当前光标到move所给位置的字符

dd 删除当前行

2020年3月5日 星期四

vi替换字符串命令s

当使用vi时,既可以使用vi(面向屏幕)命令,也可以选用较古老的ex(面向行)命令。到目前为止,我们讨论的大多数命令都是vi命令。下面我们将讨论ex命令。

所有的ex命令都以一个:(冒号)字符开头。每当在命令的开头键入一个冒号时,vi将在命令行(屏幕的底部)立即显示它。在键入命令的其它部分时,命令将回显在这一行上(这就是称这一行为命令行的原因) 。可以看出,ex命令要比vi命令长,而且更复杂。基于这一原因,在,在键入命令的过程中,vi将回显命令,从而使你看到自己正在做什么。vi命令中仅有的复杂长命令就是搜索命令(/和?),也由于这一原因,这两个命令也在命令行上显示。

2020年3月4日 星期三

vi修改文本

如何修改编辑缓冲区已有的数据?首先,我们讨论7条vi命令,,除了一种情况外,其它情况都需要切换到输入模式。下面先从这个不需要切换到输入模式的命令入手。

为了用一个字符切换到另一个单独的字符,可以键入r,后面跟着新字符。例如,假设您正向教授写信,解释无法按时完成学期论文的原因。您现在位于命令模式中,而当前行是:

2020年3月3日 星期二

vi插入文本

为了在编辑缓冲区中插入文本,必须键入命令从命令模式切换到输入模式。当结束文本插入之后,还要按<Esc>键离开输入模式返回命令模式(记住:挡在命令模式中按<Esc>键时,vi会发出嘀嘀声。如果不确定处于哪一种模式中,可以按<Esc>键两次。当听见嘀嘀声时,就意味着处于命令模式中了)。