linux操作系统05-v

上传人:san****019 文档编号:70895124 上传时间:2019-01-18 格式:PPT 页数:34 大小:287.31KB
返回 下载 相关 举报
linux操作系统05-v_第1页
第1页 / 共34页
linux操作系统05-v_第2页
第2页 / 共34页
linux操作系统05-v_第3页
第3页 / 共34页
linux操作系统05-v_第4页
第4页 / 共34页
linux操作系统05-v_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《linux操作系统05-v》由会员分享,可在线阅读,更多相关《linux操作系统05-v(34页珍藏版)》请在金锄头文库上搜索。

1、Acegene IT Co. Ltd.,1,Linux操作系统 文件编辑器vi,周炯 上海艾基信息技术有限公司,Acegene IT Co. Ltd.,2,Linux文本编辑器vi,vi的基本操作 vi高级编辑命令 vi的设置,Acegene IT Co. Ltd.,3,3.1 进入vi,vi是一个较大的UNIX命令,在启动的时候也有它自己的选项和参数 基本语法: vi -options +n file 常用选项有:-r, -R -r用于恢复系统突然崩溃时正在编辑的文件 -R用于以只读方式打开文件 +n用来指明进入vi后直接位于文件的第n行,如果不指定n,则位于最后一行,Acegene IT

2、Co. Ltd.,4,3.2 vi的工作方式,vi一共有三种工作方式:命令方式、插入方式和行方式:,命令方式,插入方式,行方式,插入命令,Esc,Esc,命令执行完,:,Acegene IT Co. Ltd.,5,一、命令方式,无论用户处于什么状态,按Esc键或组合键Ctrl+ 就可以进入命令方式。当用户初始进入vi时,也处于这个状态。 用户在命令方式下可以输入各种合法的vi内部命令,这些命令不会回显,而且不需要回车就会被执行,Acegene IT Co. Ltd.,6,二、文本插入方式,在命令方式下使用某些命令会导致vi马上进入文本插入方式,这些命令包括:i,I,a,A,o,O等 在这种方式

3、下用户的任何输入都被当作是文件的内容看待,并将其显示在屏幕上。,Acegene IT Co. Ltd.,7,三、最后行方式,行方式又称为最后行方式,通过在命令方式下键入冒号:可进入这个方式,在这种方式下vi会在屏幕的最后一行显示一个冒号并等待用户输入命令 行方式下用户输入的命令将回显在最后一行上,并且直到用户输入回车vi才会去执行它 命令执行完毕后,vi自动进入命令状态 或者在输入命令时敲Esc键或组合键Ctrl+ 、或用退格键删除所有的输入之后再按一下退格键回到命令方式,Acegene IT Co. Ltd.,8,3.3 基本编辑命令,移动光标(cursor movement) Bksp 左

4、移一个字符 Space 右移一个字符 Enter,+ 下移一行 h 左移一个字符 l 右移一个字符 j 下移一行 k 上移一行,Acegene IT Co. Ltd.,9,3.3 基本编辑命令,nG 跳到第n行 w,W 跳到下一个词的词头 b,B 跳到上一个词的词头 e,E 跳到下一个词的词尾 跳到行首(第一个非空字符) 0 跳到行首 $ 跳到行尾,Acegene IT Co. Ltd.,10,3.3 基本编辑命令,Ctrl-u 向下翻滚1/2屏 Ctrl-d 向上翻滚1/2屏 Ctrl-f 向下翻滚1屏 Ctrl-b 向上翻滚1屏 Ctrl-n 向下移动一行 Ctrl-p 向上移动一行 上述

5、命令(除nG外)的前面均可增加一个数字来控制移动的次数,Acegene IT Co. Ltd.,11,3.3 基本编辑命令,修改文本命令(modification) nr 用字符char代替光标处的字符,n指定字符char出现的次数。n缺省为1。 nR 用text的内容替换当前行n次。 n缺省为1。命令执行完后处于插入方式,必须按Esc键或组合键Ctrl+回到命令方式。 Cw,cw,cc 替换一个词或替换到行尾,Acegene IT Co. Ltd.,12,3.3 基本编辑命令,编辑中的每一行正文都有自己的行号,用下列命令可以移动光标到指定行: :n 将光标移到第n行 命令模式下,可以规定命令

6、操作的行号范围。数值用来指定绝对行号;字符“.”表示光标所在行的行号;字符 符“$”表示正文最后一行的行号;简单的表达式,例如“.+5”表示当前行往下的第5行。例如: :345将光标移到第345行,Acegene IT Co. Ltd.,13,3.3 基本编辑命令,在编辑模式下正确定位光标之后,可用以下命令切换到插入模式(Insert): i 在光标左侧输入正文 I 在光标所在行的开头输入正文 a 在光标右侧输入正文 A 在光标所在行的末尾输入正文 o 在光标所在行的下一行增添新行 O 在光标所在行的上一行增添新行,Acegene IT Co. Ltd.,14,3.3 基本编辑命令,删除文本命

7、令(delete) x 删除当前光标所在位置的字符 X 删除光标前的字符 dd 删除当前行 D 删除从当前光标位置直到行尾的所有字符 d 删除从当前光标位置直到 参数指定的位置,Acegene IT Co. Ltd.,15,3.3 基本编辑命令,字符串搜索(search) /pattern/offset /pattern ?pattern?offset ?pattern 上述四个命令分别表示向下/向上搜索指定的正则表达式pattern,并将光标停留在相对搜索结果距离为offset行处,Acegene IT Co. Ltd.,16,3.3 基本编辑命令,n重复命令, 搜索得到使用结果后,可以重复

8、命令n或N沿着相同或相反的方向重复上一次的搜索 f命令在当前行搜索指定的字符并将光标停在匹配字符上 t命令在当前行搜索指定的字符并将光标停在匹配字符的左边,Acegene IT Co. Ltd.,17,3.3 基本编辑命令,字符串替换(Substitute) 此命令要求先进入行方式 命令的语法为: addr1,addr2|gs/find_exp/repl_exp/g|nc 上述命令表示在第addr1行到addr2行的范围内将字符串find_exp用repl_exp代替。 n表示替换每行的第n个匹配,c表示需要用户确认 g放在命令末尾,表示行全程,不加g,表示只对搜索字符串的首次出现进行替换;g

9、放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。,Acegene IT Co. Ltd.,18,3.3 基本编辑命令,重复前一命令:. 取消上一命令:u 重画屏幕:Ctrl-l Ctrl_G命令显示当前编辑文本的状态,包括文本共有多少行、文件名以及目前光标停在多少行。 文件的保存:行方式下使用w命令,Acegene IT Co. Ltd.,19,3.3 基本编辑命令,退出vi:行方式下使用q命令将退出vi,如果文件作过改动但还没有保存,系统将作出提示并取消此次退出动作。行命令x相当于:wq命令。在命令方式下使用命令ZZ等效于:x命令。 如果由于读写权限或是更新方面的问题,导致vi

10、拒绝执行保存文件或退出vi的命令,那么可以在命令后加一个!号表示强制执行。,Acegene IT Co. Ltd.,20,3.4 高级命令,文件操作命令 addr1,addr2w! filename:将编辑缓冲区的addr1行到addr2行之间的内容写回到存储介质上的名为filename的文件中去,w后的!表示强制写入。 r filename : 将文件filename读入编辑缓冲区 e filename : 编辑已存在于缓冲区中的、名为filename的文件 f filename : 将当前文件重命名为 filename f : 打印当前文件名称和状态,如文件的行数、光标所在的行号等 上述命

11、令属于行方式,Acegene IT Co. Ltd.,21,3.4 高级命令,文本的移动和复制 addr1,addr2maddr3 addr1,addr2taddr3 上述行方式下的命令分别表示将第addr1行至第addr2行之间的内容移动/拷贝到第addr3行的后面 行的合并 命令方式下的命令J将当前行的下面一行合并到当前行的末尾,Acegene IT Co. Ltd.,22,3.4 高级命令,缓冲区操作 vi提供36个编辑缓冲区,它们分别为a-z共26个命名缓冲区,1-9共9个删除缓冲区,另外还有一个未命名的缓冲区,一般称之为buffer 0。 将文本内容送入缓冲区的命令为: “charn

12、y|y|w|l Char表示缓冲区的名字,小写表示覆盖写入,大写表示追加写入 n表示重复次数 表示想要写入缓冲区的文本的范围,从光标的当前位置算起。 y表示以行为单位 w表示以词为单位 l表示以字符为单位 从缓冲区中提取其内容并将其插入在当前文本的命令为: “charp|P P表示放在当前位置之前,p表示放在当前位置之后,Acegene IT Co. Ltd.,23,3.4 高级命令,在vi内使用shell 用户在运行vi的过程中不用推出vi就可以运行任何UNIX命令: :! 在unix_cmds参数中,可以使用%作为当前文件名的缩写,用#作为上次编辑文件的缩写,用!作为上次命令的缩写,Ace

13、gene IT Co. Ltd.,24,3.4 高级命令,使用自定义的缩写 :abbr|ab str1 str2命令用用户自定义的字符串str1来代替字符串str2 :unab|una str1取消缩写str1 上述四个命令都是行方式下的命令,Acegene IT Co. Ltd.,25,3.4 高级命令,宏 :map key cmds_list 此时key必须是一个单独的字母。或是一个Ctrl加上一个字母 此时定义的是宏命令 :map! key string 此时key必须是一个单独的字母。或是一个Ctrl加上一个字母 此时定义的是宏字符串,用于文本输入方式 :unmap key将取消key

14、的宏定义,Acegene IT Co. Ltd.,26,3.4 高级命令,要注意的是在输入Ctrl+key的转义序列时必须先按下下列组合键:Ctrl-v。 如果cmds_list是行方式下的命令,那么在其末尾必须加上一个回车,输入方法为先输入Ctrl-v,然后输入Ctrl-m。 Ctrl-m代表回车。,Acegene IT Co. Ltd.,27,3.5 vi的配置,vi的配置共有三种方法, 一种是在运行vi时使用行命令set来设置; 一种是使用EXINIT环境变量; 最后一种是使用用户主目录下的.exrc文件。 vi的显示是输出到终端上的,所以终端的类型会对vi的显示造成影响。 终端类型设置

15、是使用TERM环境变量 (ansi, vt100): $TERM=ansi;export $TERM,Acegene IT Co. Ltd.,28,一、行方式下的设置,为控制不同的编辑功能,vi 提供了很多内部选项。在行方式下使用命令set可以显示和修改vi的各种内部环境变量。 基本语法: :set argument=value,Acegene IT Co. Ltd.,29,一、行方式下的设置,命令set的参数及其功能如下: all 列出所有选项设置的情况 term 设置终端类型 ignorecase 在搜索中忽略大小写 list 显示制表符(I)和行尾标志(M) number 显示行号 re

16、port 显示由面向行的命令修改过的行数 ruler 在屏幕底部显示光标所在行、列的位置 terse 显示简短的告警信息 warn 显示简短的未保存告警 nomagic 取消元字符在搜索字符串中的特殊性 nowrapscan 搜索时不回绕 mesg 允许vi显示其他用户用write写到自己终 端上的信息 shiftwidth 指定自动缩进的制表位 autoindent 自动缩进 directory 指定编辑缓冲区的路径 showmode 显示文本插入方式 window 设置显示的文本行数 mk 将选项保存在当前目录的 .exrc 文件中 tabstop 设置按 Tab 键跳过的空格数。例如 :set tabstop=n,n 默认值为 8,Acegene IT Co. Ltd.,30,二、永久设置方

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号