一. unix linux 下标准编辑器为vi
vi三种状态模式:命令模式(command mode )、插入模式(insert mode)、 底行模式(last line mode )。一般可以把底行模式归为命令模式
①命令模式: 控制屏幕光标的移动,字符、字或行的删除,移动复制某区域及进入 插入模式、或底行模式。
备注:插入模式和底行模式均是在命令模式的情况下切换过去的;从插入模式或底行模式跳出的时候,也是默认跳出到命令模式
②插入模式: 只有在插入模式下才可以做文字的输入。按Esc 键退回到命令模式
③底行模式:文件保存或退出vi ,也可以设置编辑环境,如寻找字符串、列出行号。。。等等
二.vi基本操作
1.进入vi
vi file ;进入vi全屏幕编辑模式,当前模式为命令模式
2.切换到插入模式
在命令模式下按 i ,a,o ,即进入插入模式
i ;从光标当前位置开始插入
a ;从光标开始下一个位置开始插入
o ;从光标开始下一行位置开始插入
备注:如果在插入文字的时候想要删除文字,需要按Esc 退出到 命令模式才能删除
3.退出vi及保存文件
在命令模式下先按 :,进入到底行模式
:wq 存盘并退出
:w newfilename 文件以指定的文件名newfilename 保存
:q! 不存盘强制退出vi
4.移动光标
用上下左右光标可以移动,按小写的 h j k l (左下上右 )移动
0 ;数字0,移到文章的开头
G ; 大写字母g,移动到文章的结尾
$ ;移动到光标所在行的‘行尾’
^ ;移动到光标所在行的‘行首’
「#l」:光标移到该行的第#个位置,如:5l,56l。
5.删除文字
x ;小写的x,删除光标所在位置的‘后面’一个字
X ;大写X,删除光标所在位置的‘前面’一个字
dd ;删除光标所在的行
#dd ;从光标开始所在行开始删除# 行,例 5dd,
6.复制
yw ;将光标开始的地方到字尾的字符复制到缓存区
yy :复制光标所在行到缓冲区。
#yy:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。
【p」:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。
7.替换
r ;小写r,替换光标所在处的字符
R ;大写R, 替换光标所在之处的字符,知道按下Esc 键为止
8.撤回,恢复上一次操作
u ;小写的u,按一次撤回一步,按多次可以撤回多步。
9.更改
cw ;更改光标所在的字到字尾处
c#w :例【c3w]表示更改3个字
10.跳至制定行
Ctrl + g ;列出光标所在的行号
#G ;15G ,表示移动光标至文章的第15行行首。
三、底行模式下命令简介
1.列出行号
「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号。
2.跳到文件中的某一行
#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。
3.查找字符
「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。
「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。
4. 保存文件
「w」:在冒号输入字母「w」就可以将文件保存起来。
5.离开vi
「q」:按「q」就是退出,如果无法离开vi,可以在「q」后跟一个「!」强制离开vi。:q
「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。:wq