《Linux操作系统ppt.ppt》由会员分享,可在线阅读,更多相关《Linux操作系统ppt.ppt(32页珍藏版)》请在优知文库上搜索。
1、第第3 3章章 文本编辑文本编辑 主要内容主要内容进入和退出进入和退出vivi的方法的方法vivi编辑器的工作方式编辑器的工作方式vivi文本插入和修改命令的规则、应用文本插入和修改命令的规则、应用移动光标的命令移动光标的命令屏幕命令、字符串检索等命令的使用屏幕命令、字符串检索等命令的使用exex命令的使用命令的使用 3.1 vi3.1 vi的工作方式的工作方式3.1.1 3.1.1 命令方式命令方式 当我们输入命令当我们输入命令vi,vi,进入进入 vivi编辑器时,就处于编辑器时,就处于vivi的命令方式的命令方式 3.1.2 3.1.2 输入方式输入方式通过输入通过输入vivi的插入命令
2、的插入命令( i )( i )、附加命令、附加命令( a )( a )、打开命令、打开命令(o )(o )、替换命令、替换命令( s )( s )、修改命令、修改命令( c )( c )或取代命令或取代命令( r )( r )可以从命令方式进入到输入方式可以从命令方式进入到输入方式由输入方式回到命令方式的办法是按下由输入方式回到命令方式的办法是按下键(通常在键(通常在键盘的左上角)键盘的左上角)3.1.3 ex3.1.3 ex转义方式转义方式vivi和和exex编辑器功能是相同的,二者主要区别是用户编辑器功能是相同的,二者主要区别是用户界面。界面。在在vi vi 中,命令通常是单个字母,例如中
3、,命令通常是单个字母,例如a , x , Ra , x , R等。等。在在exex中,命令是以中,命令是以键结束的正文行键结束的正文行为了使用为了使用exex转义方式,可输入一个冒号(转义方式,可输入一个冒号(: :) 例如,例如, : 1 , : 1 , s / I / i / g s / I / i / g 则从文件第一行至文件末尾()将大写则从文件第一行至文件末尾()将大写I I全部替换成小写全部替换成小写 i i 3.2 3.2 进入和退出进入和退出vivi 3.2.1 3.2.1 进入进入vivi在系统提示符(在系统提示符($ $ )下输入命令)下输入命令vivi和想要编辑(建立)的
4、和想要编辑(建立)的文件名,便可进入文件名,便可进入vivi。例如:例如:vi example.cvi example.c 3.2.2 3.2.2 退出退出vivi:wq :wq 把编辑缓冲区的内容写到你编辑的文件中,退出编把编辑缓冲区的内容写到你编辑的文件中,退出编 辑器,回到辑器,回到 shellshell下。下。 (其操作过程是,先键入冒号(其操作过程是,先键入冒号“:”,再键入命令,再键入命令wqwq。以下。以下命令操作相同。)命令操作相同。):ZZ :ZZ 仅当作过修改时才将缓冲区内容写到文件上。仅当作过修改时才将缓冲区内容写到文件上。:x :x 与与 :ZZ:ZZ相同。相同。:q!
5、 :q! 强行退出强行退出vivi。感叹号(。感叹号(! )! )告诉告诉vivi,无条件退出,无条件退出,丢弃缓冲区内容丢弃缓冲区内容3.3 3.3 文本输入文本输入3.3.1 3.3.1 插入命令插入命令在在i i命令之后输入的内容都插在光标位置之前,光标后的命令之后输入的内容都插在光标位置之前,光标后的文本相应向右移动。如按下文本相应向右移动。如按下EnterEnter键,就插入新的一行或键,就插入新的一行或者换行。者换行。输入输入I I命令后在当前行(即光标所在行)的行首插入新增命令后在当前行(即光标所在行)的行首插入新增文本,行首是该行的第一个非空白字符。当输入文本,行首是该行的第一
6、个非空白字符。当输入I I命令时命令时,光标就移到行首。,光标就移到行首。 3.3.2 3.3.2 附加命令附加命令a a 在光标之后插入,光标可在一行的任何位置在光标之后插入,光标可在一行的任何位置。A A 在光标所在行的行尾添加文本。在光标所在行的行尾添加文本。3.3.3 3.3.3 打开命令打开命令o o 在光标所在行的下面插入一行。在光标所在行的下面插入一行。O O 在光标所在行的上面插入一行。在光标所在行的上面插入一行。3.3.4 3.3.4 输入方式下光标移动输入方式下光标移动四个表示方向的箭头键四个表示方向的箭头键: : (退格键)(退格键)U U 将光标回退到刚插入字符串的第一
7、个字符,并将光标回退到刚插入字符串的第一个字符,并重新开始插入。重新开始插入。W W 将光标移到最后插入单词的首字符。将光标移到最后插入单词的首字符。T T 在插入正文时,如果光标在当前行的开头,并在插入正文时,如果光标在当前行的开头,并且设置了自动缩进选项,那么这个命令就插入缩进所对应且设置了自动缩进选项,那么这个命令就插入缩进所对应的空格。如果光标在新插入词的中间,设从该词开头至光的空格。如果光标在新插入词的中间,设从该词开头至光标位的位移为标位的位移为k k,缩进空格为,缩进空格为n n,那么这个命令就在光标前,那么这个命令就在光标前插入插入( n-k( n-k)个空格;如果)个空格;如
8、果k k大于大于n n,则,则n n 扩大一倍。扩大一倍。 3.4 3.4 移动光标移动光标向右(向前)移动一个字符的命令(键):向右(向前)移动一个字符的命令(键): l l 右向键右向键 一次向右移动一次向右移动n n个字符:个字符:6l, 5, 86l, 5, 8向左(向后)移一个字符的命令(键):向左(向后)移一个字符的命令(键): h h 左向键左向键 一次向左移动一次向左移动n n个字符:个字符:h h移到下一行的命令(键):移到下一行的命令(键): EnterEnter j N j N 下向键下向键 一次向下移动一次向下移动n n行:行:+ , 3, 7j+ , 3, 7j移到上
9、一行的命令(键):移到上一行的命令(键): k P k P 上向键上向键 一次向上移动一次向上移动n n行:,行:,k k移至行首的命令(键)移至行首的命令(键): : 将光标移到当前行的第一个非空白符(非制表符或非空格符)将光标移到当前行的第一个非空白符(非制表符或非空格符) 0 0 总是将光标移到当前行的第一个字符,不管它是否为空白符总是将光标移到当前行的第一个字符,不管它是否为空白符移至行尾的命令(键):移至行尾的命令(键): 移至指定行的命令(键)移至指定行的命令(键): : 行号行号G G移至指定列的命令(键):移至指定列的命令(键): 列号列号| | 按词前移的命令(键):按词前移
10、的命令(键): w w 词被定义为以标点符号或空白符(制表符、换行符或空格)分词被定义为以标点符号或空白符(制表符、换行符或空格)分开的字母数字串开的字母数字串 W W 词被定义为非空白字符串词被定义为非空白字符串按词后移的命令(键):按词后移的命令(键): b b 词被定义为以标点符号或空白符(制表符、换行符或空格)分词被定义为以标点符号或空白符(制表符、换行符或空格)分开的字母数字串开的字母数字串 B B 词被定义为非空白字符串词被定义为非空白字符串移至词尾的命令(键):移至词尾的命令(键): e Ee E 对搜索词的定义分别与对搜索词的定义分别与w w和和W W相同。如光标已在一个词中相
11、同。如光标已在一个词中,它就移至该词末尾,它就移至该词末尾 按句移动的命令(键):按句移动的命令(键): ( ) 命令(命令( 和和 )分别分别将光标移至上一个和下一个句子的开头。句子被将光标移至上一个和下一个句子的开头。句子被定义为以句点()、问号(?)或感叹号(!)结尾、后随二个空定义为以句点()、问号(?)或感叹号(!)结尾、后随二个空格或一个换行的字符序列。句子在第一个非空白字符处开始。格或一个换行的字符序列。句子在第一个非空白字符处开始。 在屏幕上移动的命令(键):在屏幕上移动的命令(键): 位移位移H H 将光标移至屏幕的左上角。将光标移至屏幕的左上角。 位移位移M M 将光标移至
12、屏幕中间行的开头。将光标移至屏幕中间行的开头。 位移位移L L 当显示内容超过一屏时,它将光标移至屏当显示内容超过一屏时,它将光标移至屏幕上的最底行;当显示内容不足一屏时,它使光标停在最幕上的最底行;当显示内容不足一屏时,它使光标停在最后一行上。后一行上。 3.5 3.5 文本修改文本修改1 1文本删除文本删除删除字符的命令(键):删除字符的命令(键): x x 删除光标所在的字符删除光标所在的字符 X X 删除光标前面的那个字符删除光标前面的那个字符删除文本对象的命令(键):删除文本对象的命令(键): dd dd 删除光标所在的整行删除光标所在的整行 D D 从光标位置开始删除到行尾从光标位
13、置开始删除到行尾 dd 从光标位置开始删到由光标移动从光标位置开始删到由光标移动限定的文本对象的末尾限定的文本对象的末尾2.2.复原命令复原命令 u u 如果插入后用如果插入后用u u命令,就删除刚插入的正文;如果删除后用它,就命令,就删除刚插入的正文;如果删除后用它,就相当于又插入刚删除的正文。相当于又插入刚删除的正文。 U U 把当前行恢复成它被编辑之前的状态,不管你把光标移到该行后把当前行恢复成它被编辑之前的状态,不管你把光标移到该行后对它编辑了多少次。对它编辑了多少次。3.3.重复命令重复命令 重复实现刚才的插入命令或删除命令重复实现刚才的插入命令或删除命令4.4.修改命令修改命令 命
14、令命令c c、C C和和 cccc修改文本对象,并用新输入的文本代替修改文本对象,并用新输入的文本代替老文本。老文本。c c命令的一般使用方式是:命令的一般使用方式是: c c后面紧接着光标移动命令(限定删除文本的范围),之后面紧接着光标移动命令(限定删除文本的范围),之后是新的文本,最后键击后是新的文本,最后键击C C命令修改从光标位置到该行末尾的文本。一般方式是:命令修改从光标位置到该行末尾的文本。一般方式是: C C后面紧接着是输入新的文本,最后是后面紧接着是输入新的文本,最后是cccc命令除影响到整行(不是行的一部分)外,其余作用与命令除影响到整行(不是行的一部分)外,其余作用与C C
15、命令相同。命令相同。5. 5. 取代命令取代命令r r命令用随后打入的单个字符取代光标所在的字符命令用随后打入的单个字符取代光标所在的字符R R命令用随后打入的文本取代光标位及其右面的若干字符命令用随后打入的文本取代光标位及其右面的若干字符,每打入一个字符就替代原有的一个字符。,每打入一个字符就替代原有的一个字符。6.6.替换命令替换命令s s(小写)命令用随后打入的的正文替换光标所在的字符(小写)命令用随后打入的的正文替换光标所在的字符S S(大写)命令用新打入的正文替换当前行(整行)(大写)命令用新打入的正文替换当前行(整行)7. 7. 行结合命令行结合命令行结合命令行结合命令J J(大写
16、字母)把光标所在行与下面一行结合成一行(大写字母)把光标所在行与下面一行结合成一行8.8.文本位移命令文本位移命令 命令将限定正文行向右移动,通常是命令将限定正文行向右移动,通常是8 8个空格。个空格。 文本右移命令的一般格式是:文本右移命令的一般格式是: 光标移动命令光标移动命令 命令将光标所在行右移命令将光标所在行右移8 8个空格。个空格。 命令将光标所在行左移命令将光标所在行左移8 8个空格。个空格。9.9.过滤命令过滤命令过滤命令的格式是:过滤命令的格式是: ! ! 其功能是把光标所在行和光标移动命令指定行之间的所有行,由给定其功能是把光标所在行和光标移动命令指定行之间的所有行,由给定的的LinuxLinux命令进行加工,替换原来的那部分正文命令进行加工,替换原来的那部分正文。 3.6 3.6 编辑文件编辑文件编辑已存文件的最常用方式是:编辑已存文件的最常用方式是: $ vi $ vi 文件名文件名从某一指定行进入从某一指定行进入vivi。其格式是:。其格式是: $ vi $ vi 行号行号 文件名文件名从某一指定词进入从某一指定词进入vivi。其格式是:。其格式是: $ vi