讲述Linux Vi删除复制取代和替换等

运维 系统运维
在编辑文本时,经常需要Linux Vi删除一些不需要的文本,我们可以用<Backspace>键将输错或不需要的文本删除,但此时有一个限制就是当删到行头之后,再想删上面那行的内容是不可能的。

Vi删除有很多值得学习的地方,这里我们主要介绍Linux Vi删除,包括介绍Vi删除等方面。在命令模式下可以使用Linux Vi删除提供的各种有关命令对文本进行修改,包括对文本内容的Linux Vi删除、复制、取代和替换等。

文本Linux Vi删除

在编辑文本时,经常需要Linux Vi删除一些不需要的文本,我们可以用键将输错或不需要的文本删除,但此时有一个限制就是当删到行头之后,再想删上面那行的内容是不可能的。 在命令模式下,Vi提供了许多Linux Vi删除命令。这些命令大多是以d开头的。常用的有:

Linux Vi删除单个字符

x:删除光标处的字符。若在x之前加上一个数字n,则删除从光标所在位置开始向右的n个字符。
X:删除光标前面的那个字符。若在X之前加上一个数字n,则删除从光标前面那个字符开始向左的n个字符。
显然这两个命令是删除少量字符的快捷方法。

Linux Vi删除多个字符

dd:删除光标所在的整行。在dd前可加上一个数字n,表示删除当前行及其后n-1行的内容。
D或d$:两命令功能一样,都是删除从光标所在处开始到行尾的内容。
d0:删除从光标前一个字符开始到行首的内容。
dw:删除一个单词。若光标处在某个词的中间,则从光标所在位置开始删至词尾。同dd命令一样,可在dw之前加一个数字n,表示删除n个指定的单词。

如果用户不小心进行了误Linux Vi删除操作,也不要紧,Vi提供了恢复误操作的命令,并且可以将恢复的内容移动,放在文本的任何地方。恢复命令用² np,其中n为寄存器号。这是因为Vi内部有9个用于维护删除操作的寄存器,分别用数字1,2,¼ ,9表示,它们分别保存以往用dd命令删除的内容。这些寄存器组成一个队列,例如最近一次使用dd命令删除的内容被放到寄存器1中;当下次再使用dd命令删除文本内容时,Vi将把寄存器1的内容转存到寄存器2中,而寄存器1中又将是最近一次dd命令删除的内容。以此类推,Linux Vi删除可以保存有最近九次用dd命令删除的内容,而前面的用dd命令删除的内容则被抛弃。

假设当前编辑文件为xu.c
/* this is a example */
#include
void main( ) {
int i , j ;
printf( “ please input a number : / n ” );
scanf ( “ % d ” , &i ) ;
j = i + 100 ;
printf ( “ /n j = % d /n ” , j ) ;
return ;

我们对其进行如下操作:
1. 将光标移至文件***行,按dd命令,此时文件***行的内容被Linux Vi删除,且被删除的内容保存在寄存器1中;
2. 按5j使光标下移至***个printf语句行;
3. 按dd命令将该行删除,此时寄存器1中将保存刚刚被删除的内容:
printf (“ please input a number :\ n ” );
而寄存器1原有的内容:
/* this is a example */

则被保存到寄存器2中;

在最末行模式下,也可以对文件内容进行Linux Vi删除,但它只能删除整行,一次可将某个指定范围内(起始行号,终止行号)的所有行全部删除。需要注意的是,用此种方法进行删除时,Vi并不把所删内容放入寄存器中,因而当发生误Linux Vi删除操作时,不能用² np命令恢复,只能用u命令进行有限的恢复。***提一下,如何在文本输入方式时将所输入文本删除。用户使用组合键即可,此时光标将返回插入开始的位置,并且Vi仍处于文本输入方式。

【编辑推荐】

  1. linux vi编辑器概念层层讲解
  2. linux vi编辑器之葵花宝典
  3. 讲述linux vi编辑器的基础命令使用方法
  4. 关于linux vi命令替换的使用说明
  5. 在linux vi命令行中添加行号的小技巧
责任编辑:佚名 来源: CSDN
相关推荐

2009-12-25 13:00:47

Linux编辑器Vi

2009-12-25 13:09:49

Linux Vi

2009-07-31 18:48:35

linux vi命令linux vi命令详替换命令

2009-10-26 10:47:57

linux vi编辑器

2010-03-16 15:47:06

Ubuntu Linu

2023-06-16 07:48:51

DOM对象JS

2009-10-26 10:24:35

linux脱机打印命令

2010-03-10 17:37:48

Linux磁盘配额

2009-10-20 09:19:11

Linux kill命

2009-12-24 13:46:23

Linux驱动

2009-11-24 13:53:03

SuSE Linux

2009-08-17 08:04:00

C#高级编程

2009-10-23 19:11:32

linux集群

2009-11-24 11:35:59

2009-12-24 09:47:17

Linux之父

2009-08-28 10:53:57

linux操作系统linux学习VI

2009-12-25 14:03:46

Linux vi

2009-12-18 15:28:19

Linux内核

2009-05-22 10:18:44

C指针OO

2009-07-31 17:38:47

linux vi命令详linux vi命令屏幕文本编辑器
点赞
收藏

51CTO技术栈公众号