Linux编辑器vi使用

vi的基本模式

vi编辑器具有3种工作模式,分别是命令行模式(command mode)、插入模式(insert mode)和底行模式(last line mode)
1.命令行模式在命令行模式(command mode)下用户可以输入命令来控制屏幕光标的移动,删除字符、单词或行,移动复制某区段,也可以进入到底行模式或者插入模式下。
2.插入模式用户只有在插入模式(insert mode)下才可以进行字符输入,用户按[Esc]键可回到命令行模式下。
3.底行模式在底行模式(last line mode)下,用户可以将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、显示行号等。这一模式下的命令都是以“:”开始。

vi中3种模式的切换

(1)命令行模式、底行模式转为插入模式在命令行模式或底行模式下转入到插入模式有3种方法
Linux编辑器vi使用_第1张图片
(2)插入模式转为命令行模式、底行模式
[Esc]键

**

vi的删除、修改与复制

**
Linux编辑器vi使用_第2张图片

vi的光标移动

命令行模式下使用vi中的光标移动指令
Linux编辑器vi使用_第3张图片

vi的查找与替换

查找的命令在命令行模式下,而替换的命令则在底行模式下(以“:”开头)
Linux编辑器vi使用_第4张图片
关于替换范围,有很多种写法,其中:百分号(%)表示所有行;点(.)表示当前行;美元符号($)表示最末行。举例如下。
:10,20 s/str1/str2/ 表示用字符串 str2替换第10行到第20行中首次出现的字符串 str1。
:2, $-5/str1/str2/g 表示用字符串 str2替换当前行后两行直到全文的倒数第五行所有出现的字符串 str1。
: s/str1/str2/ 表示用字符串 str2替换行中首次出现的字符串 str1。
: s/str1/str2/g 表示用字符串 str2替换行中所有出现的字符串 str1。
:., $ s/str1/str2/g 表示用字符串 str2替换正文当前行到末尾所有出现的字符串 str1。
:1, $ s/str1/str2/g 表示用字符串 str2替换正文中所有出现的字符串 str1。
:%s/str1/str2/g 表示用字符串 str2替换正文中所有出现的字符串 str1。
类似,在进行剪切复制和粘贴操作时,也可以带上范围,即按块操作。range y 块复制。举例如下。
:10, 20y表示复制第10行到第20行。
:., $y 表示复制当前行到文章最后一行。
range d 块删除。举例如下。
:10, 20d表示剪切第10行到第20行。
:., $d 表示剪切当前行到文章最后一行。

vi的文件操作指令(推出vi)

vi 中的文件操作指令都是在底行模式下进行的,所有的指令都是以“:”开头
Linux编辑器vi使用_第5张图片

你可能感兴趣的:(Linux)