<3>Linux-文件操作命令(2)
vi编辑器的使用
vi简介
- vi可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其环境进行定制.只是一个文本编辑器,不能排版。vi没有菜单,只有命令
- vi有三种基本工作模式,分别是:命令模式(command mode)、插入模式(insert mode)和末行模式(last line mode)
vi三种工作模式
vi编辑器的使用
- 进入vi:
– 命令“vi 文件名”
– 命令“vi”,在退出vi时再指定文件名
1. 选项“+n”,表示希望在进入vi之后,光标处于文件中第n行上。
2.选项“+”表示希望在进入vi之后光标处于文件最末行。
用vi打开文件后,在命令模式下,先按希望定位到的行号
然后再按G键,可以实现行的定位。“#G”----其中#代表数字
- 保存文件:
– 1.在命令模式下,连按两次大写字母<Z>。
– 2.在末行模式下:
:w 保存当前编辑的文件,但并不退出vi,而是继续等待用户输入命令。
:w <newfile> 另存为
:w! <newfile> 把当前文件的内容保存到指定的文件newfile中,如果newfile已经存在,则覆盖原有内容。
- 在末行模式下,有四种方法可以退出vi返回到shell:
– :q 系统退出vi返回到shell。在用此命令时,若编辑的文件没有被保存,则vi在窗口的最末行给出提示信息。
– :q! vi放弃所作修改而直接退到shell下。
– :wq 先保存文件,然后再退出vi返回到shell。
– :x 该命令的功能与命令模式下的ZZ命令功能相同
复制
- 命令模式下输入yy或nyy,表示复制当前行或当前行开始的连续n行到缓冲区,n是一个具体的整数。
例如: “6yy”表示复制从光标所在的该行“往下数”6行文字到缓冲区。 - 命令模式下P或p将缓冲区内的字符贴到光标所在位置。其中,P是粘贴到光标所在行的上面,p是下面。
移动
- 命令模式下输入dd或ndd,表示剪切当前行或当前行开始的连续n行到缓冲区,n是一个具体的整数。
例如: “6dd”表示剪切从光标所在的该行“往下数”6行文字到缓冲区。 - 命令模式下P或p将缓冲区内的字符贴到光标所在位置。其中,P是粘贴到光标所在行的上面,p是下面。
删除
- x:删除光标所在的文字
- nx:删除光标后面的n个字符
- X:删除光标前面的一个字符
- nX:删除光标前面的n个字符
- dd:删除光标所在行
- ndd:删除光标所在行向下数n行
撤销与重复
- u 按u键可撤销上一步操作
- . 按. 键将重复上一步操作
查找
- 在命令模式下输入以下命令可查找指定的字符串
/字符串:vi将从光标的当前位置开始向文件尾查找,如果找到,光标停留在该字符串的首字母上。
?字符串:vi将从光标的当前位置开始向文件头查找,如果找到,光标停留在该字符串的首字母上。
n 继续定位满足条件的字符串
搜寻与替换
- 10,20s/old/new/ 将第10行至第20行资料的“old”改成“new”。
- :%s/old/new/ 将编辑缓冲区中所有的“old”改成“new” 。
- :1,%s/^/string1/ 在文件的第一行至最后一行的行首插入“string1”。
- :%s/$/some string/ 在整个文件每一行的行尾添加“some string”。
:1,%s/word1/word2/c 从第一行到最后一行寻找word1 字串,并将该字串替换为 word2 。需要逐一确认c