版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章 文 本 编 辑 主要内容主要内容 进入和退出进入和退出vivi的方法的方法 vivi编辑器的工作方式编辑器的工作方式 vivi文本插入和修改命令的规则、应用文本插入和修改命令的规则、应用 移动光标的命令移动光标的命令 屏幕命令、字符串检索等命令的使用屏幕命令、字符串检索等命令的使用 exex命令命令( (末行命令末行命令) )的使用的使用 3.1 vi的工作方式的工作方式3.1.1 3.1.1 命令方式命令方式 当我们输入命令当我们输入命令vi,进入进入 vi编辑器时,就处于编辑器时,就处于vi的命令方式的命令方式 。 从命令方式进入输入方式从命令方式进入输入方式通过通过输入输入viv
2、i的插入命令的插入命令( ( i i ) )、附加命令、附加命令( ( a a ) )、打开命令打开命令( (o o ) )、替换命令、替换命令( ( s s ) )、修改命令、修改命令( ( c c ) )或取代命令或取代命令( ( r r ) ) 由输入方式回到由输入方式回到命令方式命令方式按下按下键键3.1.2 输入方式vi和和ex编辑器功能是相同的,二者主要区别编辑器功能是相同的,二者主要区别是用户界面。是用户界面。在在vi 中,命令通常是单个字母,例如中,命令通常是单个字母,例如a , x , R等。等。在在ex中,命令是以中,命令是以键结束的正文行键结束的正文行为了使用为了使用ex
3、转义方式,可输入一个冒号(转义方式,可输入一个冒号(:) 例如,例如, : 1 , : 1 , s / I / i / g s / I / i / g 则从文件第一行至文件末尾()将大写则从文件第一行至文件末尾()将大写I I全部替全部替换成小写换成小写 i i3.1.3 ex转义方式3.2.1 进入vi 在在系统提示符(系统提示符($ )下输入命令)下输入命令vi和想要编辑和想要编辑(建立)的文件名,便可进入(建立)的文件名,便可进入vi。 例如:例如:vi vi example.cexample.c 3.2 进入和退出vi :wq:wq 把编辑缓冲区的内容写到正在编辑的文件中,把编辑缓冲区
4、的内容写到正在编辑的文件中,退出编退出编 辑器,回到辑器,回到 shell下。下。 :ZZ:ZZ 仅当作过修改时才将缓冲区内容写到文件上。仅当作过修改时才将缓冲区内容写到文件上。 : :x 与与 :ZZ相同。相同。 : :q! 强行退出强行退出vi。感叹号(。感叹号(! )告诉告诉vi,无条件退出,无条件退出,丢弃缓冲区内容丢弃缓冲区内容3.2.2 退出vi3.3.1 插入命令 在在i命令之后输入的内容都插在光标位置之命令之后输入的内容都插在光标位置之前前,光,光标后的文本相应向右移动。如按下标后的文本相应向右移动。如按下Enter键,就插键,就插入新的一行或者换行入新的一行或者换行。 输入输
5、入I命令命令后在后在当前行(即光标所在行)的行首当前行(即光标所在行)的行首插插入新增文本,入新增文本,行首是该行的第一个非空白字符行首是该行的第一个非空白字符。当输入当输入I命令时,光标就移到行首。命令时,光标就移到行首。 3.3 文本输入 a 在光标之后插入,光标可在一行的任何位置。在光标之后插入,光标可在一行的任何位置。 A 在光标所在行的行尾添加文本。在光标所在行的行尾添加文本。3.3.2 附加命令 o 在光标所在行的下面插入一行。在光标所在行的下面插入一行。 O 在光标所在行的上面插入一行。在光标所在行的上面插入一行。3.3.3 打开命令 四个表示方向的箭头键四个表示方向的箭头键:
6、(退格键)(退格键) U 将光标回退到刚插入字符串的第一个字符,将光标回退到刚插入字符串的第一个字符,并重新开始插入。并重新开始插入。 W 将光标移到最后插入单词的首字符。将光标移到最后插入单词的首字符。 T 在插入正文时,如果光标在当前行的开头,在插入正文时,如果光标在当前行的开头,并且设置了自动缩进选项,那么这个命令就插入缩进并且设置了自动缩进选项,那么这个命令就插入缩进所对应的空格。如果光标在新插入词的中间,设从该所对应的空格。如果光标在新插入词的中间,设从该词开头至光标位的位移为词开头至光标位的位移为k,缩进空格为,缩进空格为n,那么这个,那么这个命令就在光标前插入命令就在光标前插入(
7、 n-k)个空格;如果)个空格;如果k大于大于n,则,则n 扩大一倍。扩大一倍。3.3.4 输入方式下光标移动3.4 移动光标 向右(向前)移动一个字符的命令(键)向右(向前)移动一个字符的命令(键): l 右向键右向键 一次向右移动一次向右移动n个字符:个字符:6l, 5, 8 向左(向后)移一个字符的命令(键):向左(向后)移一个字符的命令(键): h 左向键左向键 一次向左移动一次向左移动n个字符:个字符:h 移到下一行的命令(键):移到下一行的命令(键): Enter j N 下向键下向键 一次向下移动一次向下移动n行:行:+ , 3, 7j 移到上一行的命令(键):移到上一行的命令(
8、键): k P 上向键上向键 一次向上移动一次向上移动n行:,行:,k 移至行首的命令(键)移至行首的命令(键): 将光标移到当前行的第一个非空白符(非制表符或非空将光标移到当前行的第一个非空白符(非制表符或非空格符)格符) 0 总是将光标移到当前行的第一个字符,不管它是否为空总是将光标移到当前行的第一个字符,不管它是否为空白符白符 移至行尾移至行尾的命令(键):命令(键): 移至指定行的命令(键)移至指定行的命令(键): 行号行号G 移至指定列的命令(键):移至指定列的命令(键): 列号列号| 按词前移的命令(键):按词前移的命令(键): w 词被定义为以标点符号或空白符(制表符、换行符词被
9、定义为以标点符号或空白符(制表符、换行符或空格)分开的字母数字串或空格)分开的字母数字串 W 词被定义为非空白字符串词被定义为非空白字符串 按词后移的命令(键):按词后移的命令(键): b 词被定义为以标点符号或空白符(制表符、换行符词被定义为以标点符号或空白符(制表符、换行符或空格)分开的字母数字串或空格)分开的字母数字串 B 词被定义为非空白字符串词被定义为非空白字符串 移移至词尾的命令(键):至词尾的命令(键): e E 对搜索词的定义分别与对搜索词的定义分别与w和和W相同。如光标已在一个词中,相同。如光标已在一个词中,它就移至该词末尾它就移至该词末尾 按按句移动的命令(键):句移动的命
10、令(键): ( ) 命令(命令( 和和 )分别分别将光标移至上一个和下一个句子的开头。将光标移至上一个和下一个句子的开头。句子被定义为以句点()、问号(?)或感叹号(!)句子被定义为以句点()、问号(?)或感叹号(!)结尾、后随二个空格或一个换行的字符序列。句子在第一结尾、后随二个空格或一个换行的字符序列。句子在第一个非空白字符处开始。个非空白字符处开始。 在屏幕上移动在屏幕上移动的命令(键)的命令(键):位移位移H H 将光标移至屏幕的左上角。将光标移至屏幕的左上角。位移位移M M 将光标移至屏幕中间行的开头。将光标移至屏幕中间行的开头。位移位移L L 当显示内容超过一屏时,它将光标移当显示
11、内容超过一屏时,它将光标移至屏幕上的最底行;当显示内容不足至屏幕上的最底行;当显示内容不足一屏时,它使光标停在最后一行上。一屏时,它使光标停在最后一行上。1文本文本删除删除 删除字符的命令(键):删除字符的命令(键): x 删除光标所在的字符删除光标所在的字符 X 删除光标前面的那个字符删除光标前面的那个字符 删除文本对象的命令(键):删除文本对象的命令(键): dd 删除光标所在的整行删除光标所在的整行 D 从光标位置开始删除到行尾从光标位置开始删除到行尾 d 从光标位置开始删到由光标从光标位置开始删到由光标移动限定的文本对象的末尾移动限定的文本对象的末尾3.5 文本修改2.2.复原命令复原
12、命令 u 如果插入后用如果插入后用u命令,就删除刚插入的正文;如命令,就删除刚插入的正文;如果删除后用它,就相当于又插入刚删除的正文。果删除后用它,就相当于又插入刚删除的正文。 U 把当前行恢复成它被编辑之前的状态,不管你把当前行恢复成它被编辑之前的状态,不管你把光标移到该行后对它编辑了多少次。把光标移到该行后对它编辑了多少次。3.3.重复命令重复命令 . . 重复实现刚才的插入命令或删除命令重复实现刚才的插入命令或删除命令4.4.修改命令修改命令 命令命令c c、C C和和 cccc修改文本对象,并用新输入的文本修改文本对象,并用新输入的文本代替老文本。代替老文本。 c c命令的一般使用方式
13、是:命令的一般使用方式是: c c后面紧接着光标移动命令(限定删除文本的范后面紧接着光标移动命令(限定删除文本的范围),之后是新的文本,最后键击围),之后是新的文本,最后键击 C C命令修改从光标位置到该行末尾的文本。一般方命令修改从光标位置到该行末尾的文本。一般方式是:式是: C C后面紧接着是输入新的文本,最后是后面紧接着是输入新的文本,最后是 cccc命令除影响到整行(不是行的一部分)外,其命令除影响到整行(不是行的一部分)外,其余作用与余作用与C C命令相同。命令相同。5 5. . 取代命令取代命令r命令用随后打入的单个字符取代光标所在的字符命令用随后打入的单个字符取代光标所在的字符R
14、命令用随后打入的文本取代光标位及其右面的若干字符,命令用随后打入的文本取代光标位及其右面的若干字符,每打入一个字符就替代原有的一个字符。每打入一个字符就替代原有的一个字符。6.6.替换命令替换命令 s(小写)命令用随后打入的的正文替换光标所在的字符(小写)命令用随后打入的的正文替换光标所在的字符 S(大写)命令用新打入的正文替换当前行(整行)(大写)命令用新打入的正文替换当前行(整行)7. 7. 行结合命令行结合命令 行结合命令行结合命令J(大写字母)把光标所在行与下面一行(大写字母)把光标所在行与下面一行结合成一行结合成一行8.8.文本位移命令文本位移命令 命令将限定正文行向右移动,通常是命
15、令将限定正文行向右移动,通常是8 8个空格。个空格。 文本右移命令的一般格式是:文本右移命令的一般格式是: 光标移动命令光标移动命令 命令将光标所在行右移命令将光标所在行右移8 8个空格。个空格。 命令将光标所在行左移命令将光标所在行左移8 8个空格。个空格。9.9.过滤命令过滤命令 过滤命令的格式是:过滤命令的格式是: ! ! 其功能是把光标所在行和光标移动命令指定行之间的其功能是把光标所在行和光标移动命令指定行之间的所有行,由给定的所有行,由给定的LinuxLinux命令进行加工,替换原来的命令进行加工,替换原来的那部分正文。那部分正文。 编辑已存文件的最常用方式是:编辑已存文件的最常用方
16、式是: $ vi $ vi 文件名文件名 从某一指定行进入从某一指定行进入vivi。其格式是:。其格式是: $ vi $ vi 行号行号 文件名文件名 从某一指定词进入从某一指定词进入vivi。其格式是:。其格式是: $ vi $ vi / /词词 文件名文件名 编辑多个文件编辑多个文件 可以同时调入多个文件,依次对它们进行编辑。其命令格可以同时调入多个文件,依次对它们进行编辑。其命令格式是:式是: $ vi 文件文件1 文件文件2 当完成对第一个文件的编辑及存盘(用当完成对第一个文件的编辑及存盘(用:w:w命令命令)后,输)后,输入入命令命令:n:n就进入第二个文件。就进入第二个文件。 3.
17、6 编辑文件 向前检索命令的格式是:向前检索命令的格式是: /模式模式Enter 系统从光标所在行开始向前查找这个模式,找到第一个相系统从光标所在行开始向前查找这个模式,找到第一个相匹配的字符串后,光标就停在该模式的第一个字符上匹配的字符串后,光标就停在该模式的第一个字符上/ /模模式式/ /位移位移EnterEnter 位移可以是、数字、数字位移可以是、数字、数字“/ /模式模式/ /” 从光标所在行起始向前检索指定的模式,从光标所在行起始向前检索指定的模式,光标停在首先找到的那一行的前一行的行首光标停在首先找到的那一行的前一行的行首“/ /模式模式/ /数字数字” 其功能与上一形式相同,但
18、光标停在其功能与上一形式相同,但光标停在匹配行之前倒数第匹配行之前倒数第n 行(即,行号行(即,行号=匹配行号匹配行号n)的行首,)的行首,这里这里n是是“数字数字”值值“/ /模式模式/+/+” 是从光标所在行起始向前检索指定的模式,是从光标所在行起始向前检索指定的模式,光标停在首先找到的那一行的下面一行的行首光标停在首先找到的那一行的下面一行的行首“ / /模式模式/+/+数字数字” 其功能与上一形式相同,但光标停在其功能与上一形式相同,但光标停在匹配行之后正数第匹配行之后正数第n行(即,行号行(即,行号=匹配匹配行号行号+ n)的行)的行首,这里首,这里n是是“数字数字”值值3.7 字符
19、串检索 向后检索命令的格式是:向后检索命令的格式是: ?模式?模式 Enter ?模式?位移?模式?位移Enter 如果在模式中想包含以下特殊字符:如果在模式中想包含以下特殊字符: * / 需要使用其转义形式,即在这些字符前面加上反斜线(需要使用其转义形式,即在这些字符前面加上反斜线(),),使其失去特殊含义,作为一般字符对待使其失去特殊含义,作为一般字符对待 检索下一个字符串的命令检索下一个字符串的命令: n n 重复检索的方向与上一个检索命令相同重复检索的方向与上一个检索命令相同 N N 重复检索的方向与上一个检索命令相反重复检索的方向与上一个检索命令相反 查找字符的命令:查找字符的命令:
20、 f f字符字符 在当前行上向前查找给定的字符在当前行上向前查找给定的字符 F F字符字符在当前行上向后查找给定的字符在当前行上向后查找给定的字符 ;重复上一次查找动作,查找方向相同重复上一次查找动作,查找方向相同 ,反向重复查找反向重复查找 光标靠近字符的命令:光标靠近字符的命令: t 向前移动光标靠近给定字符,但不在该字符上向前移动光标靠近给定字符,但不在该字符上 T 向后移动光标靠近给定字符,但不在该字符上向后移动光标靠近给定字符,但不在该字符上 置标记命令的格式是:置标记命令的格式是:m m小写字母小写字母 移至标记命令:移至标记命令: 标记字母标记字母单引号单引号()命令将光标移到预
21、置标记行的开头命令将光标移到预置标记行的开头 标记字母标记字母倒单引号倒单引号()命令将光标精确移到该行的)命令将光标精确移到该行的置标记位置置标记位置 全局替换命令一般格式是:全局替换命令一般格式是: g /模式命令表模式命令表 g命令分为两个执行阶段:命令分为两个执行阶段: 第一阶段,对编辑缓冲区中与给定模式相匹配的各行做上标记;第一阶段,对编辑缓冲区中与给定模式相匹配的各行做上标记; 第二阶段,对每个置上标记的当前行(以第二阶段,对每个置上标记的当前行(以表示)执行给出的命表示)执行给出的命令表令表下面是一些常用的全局命令:下面是一些常用的全局命令: g / s1 / p 打印包含字符串
22、打印包含字符串s1s1的所有行的所有行 g /s1 / s / s2 / 在包含字符串在包含字符串s1s1的所有行中用字符串的所有行中用字符串s2s2替换替换s1s1的的首次出现首次出现 g / s1 / s / s2 / g 用字符串用字符串s2s2替换字符替换字符s1s1的所有出现,包括在一的所有出现,包括在一行中行中s1s1出现多次出现多次 g / s1 / s / s2 / gp 功能与上例相同,它还将所有修改过的行显示功能与上例相同,它还将所有修改过的行显示在屏幕上在屏幕上 g / s1 / s / s2 / gc 确认(确认(confirmconfirm)替换。字符串)替换。字符串
23、s1s1每出现一次,每出现一次,就询问你是否用字符串就询问你是否用字符串s2s2替换。如果回答替换。如果回答Y Y ,则进行替换;否,则进行替换;否则,不做替换则,不做替换 g / s0 / s / s1 / s2 / g 对包含字符串对包含字符串s0s0的所有行做上标记,然后只的所有行做上标记,然后只对有标记的行进行替换对有标记的行进行替换 用字符串用字符串s2s2替换字符串替换字符串s1s1的所有出的所有出现现 g ! /模式模式/命令表命令表 其功能是对所有不匹配给定模式的文本行执其功能是对所有不匹配给定模式的文本行执行给出的命令表行给出的命令表 g / / s / / g 在文件的每一
24、行的开头插入给定的空格在文件的每一行的开头插入给定的空格 s /模式模式/替代文本替代文本/选项选项 对于每一指定的行,与正则表达式对于每一指定的行,与正则表达式“模模式式”匹配的第一个字符串用匹配的第一个字符串用“替代文本替代文本”取代取代进入进入ex 命令的方法是命令的方法是在命令方式下输入在命令方式下输入冒号(:冒号(:),则在状态行上出现冒号提示符,),则在状态行上出现冒号提示符,随后就可输入随后就可输入ex 命令。命令。一种办法是指定行号,一种办法是指定行号,例如,例如, : 20 光标移到第光标移到第20行的行首。行的行首。另一种办法是给定模式,向前或向后查找。另一种办法是给定模式
25、,向前或向后查找。(与(与3.7节类似)节类似)3.8 ex命令ex 命令还用下述字符指定行的地址:命令还用下述字符指定行的地址: . 当前行。多数命令的默认地址是当前行。当前行。多数命令的默认地址是当前行。 n 编辑器缓冲区中的第编辑器缓冲区中的第n行,行号从行,行号从1开始顺序编排。开始顺序编排。 $ 缓冲区中最后一行。缓冲区中最后一行。 % 1,$(从第(从第1行至最后一行)的缩写。行至最后一行)的缩写。 +n或者或者n n表示相对当前行的位移表示相对当前行的位移 x 如果预先在前面的正文行上利用如果预先在前面的正文行上利用m命令置上标记,现命令置上标记,现在要快速地找到或返回到有标记的
26、正文行上,那么就可以在要快速地找到或返回到有标记的正文行上,那么就可以利用利用x的形式,其中的形式,其中x是标记名是标记名1e命令命令利用利用e命令可以在编辑当前文件之时编辑另外的文件。命令可以在编辑当前文件之时编辑另外的文件。当前文件名总是由当前文件名总是由vi记住,并用百分号(记住,并用百分号(%)表示,)表示,而编辑缓冲区中的上一个文件名是用而编辑缓冲区中的上一个文件名是用#号表示的。号表示的。 e命令常用形式如下:命令常用形式如下: e文件名文件名 它编辑由文件名指定的文件它编辑由文件名指定的文件 e!文件名文件名它不把修改过的当前文件从编辑缓冲区中它不把修改过的当前文件从编辑缓冲区中
27、写出去写出去 e +n文件名文件名它从第它从第n行开始编辑指定的文件行开始编辑指定的文件 3.8.2 常用ex命令2w命令命令w(写)命令可把编辑缓冲区中全部或者部分内容写(写)命令可把编辑缓冲区中全部或者部分内容写到当前文件或者另外某个文件中。到当前文件或者另外某个文件中。 它有以下几种常用形式它有以下几种常用形式 : w文件名文件名它把所做的修改写回到指定的文件,并显示它把所做的修改写回到指定的文件,并显示所写的行数和字符数所写的行数和字符数 w文件名文件名它把缓冲区内容附加到现有文件的末尾,它把缓冲区内容附加到现有文件的末尾,先前文件内容并不被破坏先前文件内容并不被破坏 w! 文件名文件
28、名它可跳过通常写命令对文件的检查,将缓它可跳过通常写命令对文件的检查,将缓冲区内容写到系统允许的任何文件上冲区内容写到系统允许的任何文件上 3r命令命令r(读)命令把文本读入编辑缓冲区的任意指定位置。(读)命令把文本读入编辑缓冲区的任意指定位置。所读入文本必须至少有一行长,可以是一个文件或者命令的所读入文本必须至少有一行长,可以是一个文件或者命令的输出。输出。 常用形式如下:常用形式如下: r文件名文件名它将指定文件的文本副本放入缓冲区中指定行它将指定文件的文本副本放入缓冲区中指定行之后之后 r !命令命令它把命令的输出读到缓冲区指定行之后它把命令的输出读到缓冲区指定行之后4q命令命令 q(退
29、出)命令可从(退出)命令可从vi 中退出来。中退出来。 它有下述五种使用方式:它有下述五种使用方式: q它的功能是退出它的功能是退出vi q!它的功能是立即从它的功能是立即从vi 中退出,不保留所做的修改,中退出,不保留所做的修改,也不显示任何提示信息也不显示任何提示信息 wq文件名文件名它的功能等价于执行它的功能等价于执行w命令后又执行命令后又执行q命令命令 wq !文件名文件名它的功能是忽略执行它的功能是忽略执行w命令之前所做的检命令之前所做的检查查 x文件名文件名如果该文件做过修改,并且尚未写出去,那如果该文件做过修改,并且尚未写出去,那么这个命令就把缓冲区内容写出去,然后退出么这个命令就把缓冲区内容写出去,然后退出vi;否则,;否则,只是退出只是退出vi。 vi 命令命令功能描述功能描述命令命令功能描述功能描述vi file从第一行开始v i + # file从第#行开始v i + file从文件尾开始vi +/pattern file从指定的模式匹配处开始v i r file从瘫痪恢复vi L/-r从瘫痪中列恢复列表 vi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 扬州大学《社会工作导论》2025-2026学年期末试卷
- 2024电脑采购合同标准电脑采购合同
- 函数的表示课件2025-2026学年人教版八年级数学下册
- 2024年员工职业工作阶段感想总结
- 急性气管支气管炎患者科普指南
- 2024年药品微机操作员工作总结(共3篇)
- 婚庆喜糖营销方案(3篇)
- 屋面拆除运输施工方案(3篇)
- 广电春节营销方案(3篇)
- 散步团队营销方案(3篇)
- 学而思课堂管理制度
- 非计划再次手术管理培训课件
- 员额检察官遴选笔试试题
- 车辆销售行业的安全知识培训
- 低血压的护理
- 2023年湖北卷化学高考试卷(含答案)
- 2023年初中语文升学考试历年各地满分作文参考(17篇)
- 设备报价方案
- 农村继续承包 授权委托书
- 电气仪表安装工程专项施工方案
- 纺织结构复合材料第一讲
评论
0/150
提交评论