表2-7存盘与退出命令
键 wq w q q! ZZ
功能
保存文件,退出vi 保存文件,但不退出vi 退出编辑器
退出编辑器,同时放弃所做的修改
保存文件,退出vi
插入 (insert)
i键:从光标所在位置前面开始插入资料,光标后的资料随着后移。
I键:从光标所在行的第一个非空白字元前面开始插入资料。
开始 (open)
o键: 在光标所在行下新增一行并进入输入模式。 O键: 在光标所在行上方新增一列并进入输入模式。 2.5.2 基本编辑操作
通过上面功能键的介绍,配合方向键、Insert键、Delete键等等,已经可以利用vi来处理文字资料了。当然vi还提供其他许多能让文字的处理更方便的功能。 1.文本删除与修该
在命令模式下,vi的删除和修改命令(键)如下: x 删除光标所在字符
dd 删除光标所在的行(连续按两次d键) r 替换当前光标所在字符
R 从当前光标的位置开始替换字符,并且使vi进入文本输入模式
s 删除光标所在字符,并进入输入模式
S 删除光标所在的行,并进入输入模式 u 放弃最近的修改
U 放弃对当前行的所有修改 2.编辑命令
这些编辑命令非常有弹性,基本上可以说是由命令与范围所构成。例如dw是由删除命令d与范围w所组成的,代表删除一个字d(elete)w(ord)。命令如表2-8所示: 表2-8编辑命令
命 含义 令
d 删除
(delete) y 复制
(yank)
p 放置
(put)
c 修改
(change)
这些提供了更多的编辑文字的能力。值得注意的是删除与复制都会将指定范围的内容放到缓存区里,然后就可以用命令p贴到其它地方去,这是vi用来处理区段拷贝与移动的办法。范围如表2-9所示:
在某些vi的版本中,例如Linux所用的elvis里就可以大幅简化这些命令。如果稍微观察一下这些编辑命令就会发现问题其实是指定范围的方式有点复杂,实际上只有四个命令罢了。对于整行操作,vi另外提供了更方便的编辑命令。前面曾经提到过删除整行文字的命令dd就是其中一个;cc可以修改整行文字;而yy则是复制整行文字的;命令D则可以删除光标到该行结束为止所有的文字。 2.5.3 查找与替换
vi编辑器首先进行搜索定位,如需替换,则使用目标模式进行替换即可,下面用实例的方式进行讲解。
表2-9范围字符列表
字 含义 符 W 光标所在位置到下个字的
第一个字母 E 光标所在位置到该字的最
后一个字母 B 光标所在位置到上个字的
第一个字母
$ 光标所在位置到该行的最
后一个字母 0 光标所在位置到该行的第
一个字母 ) 光标所在位置到下个句子
的第一个字母 ( 光标所在位置到该句子的
第一个字母 } 光标所在位置到该段落的
最后一个字母 { 光标所在位置到该段落的
第一个字母
【例18】使用:s命令替换文件中指定的单词。
将当前行的第一个单词Linux替换为Windows;方法如下:
首先将光标移到一个包含Linux单词的行,然后输入如下命令,即可将当前行的第一个Linux改为Windows。
:s替换命令中使用了两个斜杠“/”隔开被替换与目标单词。如果找到左边单词,就是用右边的单词替换。
:s/Linux/Windows
【例19】指定搜索范围。
如将文件test的1~7行的第一个linux换成windows。首先使用vi打开test文件。然后执行如下命令:
:1,7s/linux/windows
【例20】替换所有的匹配实例。
如将文件test的1~7行中的所有linux换成windows。首先使用vi打开test文件,然后执行如下命令:
用户可以在vi中查找指定的字符串。查找的方向可以是向前,也可以是向后查找。下面用几个实例来解释说明一下。 【例 21】查找指定的字符串
如现需要查找字符串“zhang san”,在命令模式下输入如下命令: :/zhang san
输入之后回车,则可以向前查找包含空格的字符串“zhang san”。而使用“?”则可以实现从后向前查找。对上例,命令如下: :?zhang san
如果需要继续查找,则可以使用下列命令: N: 当前方向相反方向查找下一个单词 n: 当前方向查找下一个单词
实验四: 文件与目录操作
一、学习目的
1、 掌握文件和目录的区别
2、 熟悉文件和目录的相关操作:建立、复制、移动、删除、重命名、查找、统计等 3、 理解文件的类型及查看 三、 学习任务
:1,7s/linux/windows/g
1、 了解LINUX的目录文件结构(通过cd、ls –l命令)。 2、 使用ls命令的常用选项,选项-a,-d,-l,-t,-R,-u都
有何意义?
3、 检查当前的子目录pwd。
4、 在你的注册目录下创建(mkdir)子目录:dir1、dir2。 5、 进入dir1子目录。
6、 再回到你的注册目录,并用pwd证实。
14、使用cd和pwd命令,掌握相对路径和绝对路径。
对照右图,假如从目录user3开始,键完以下命令后,你的位置会在哪里。请将结果填在横线上。 $pwd /home/user3 / $cd .. $pwd $cd.. home usr tmp $cd usr $pwd bin $cd /usr $pwd user3 user4 $cd .. /tmp $pwd tree $cd . $pwd
15、在你的主目录中创建一个叫junk的目录。将这个目录变为工作目录,应当使用什么命令?这个新目录的绝对路径名是什么?
16、在主目录创建以下目录,要求只能用一个命令行:
junk/dira/dirl junk/dira
junk/dira/dir2
junk/dira/dirl/dirc
你碰到什么问题了吗?如果碰到问题,在重试之前,将刚才创建的所有目录删除,这个删除应该使用哪一个命令? 17、在主目录获取一个在junk目录下的dirA目录的列表。