**VI:**vi是linux系统中一款著名的编辑软件,也是linux系统中第一款全屏幕编辑软件,vi从诞生至今,为广大linux用户熟悉,几乎是应用linux系统必备的一项基本技能。
**Vi的启动:**只需要在linux终端输入vi即可,如果启动时没有指定名字或者指定的文件名不存在,则vi将打开一个新的缓冲区域来进行编辑,如果在打开时指定了一个已有的文件,则vi会将该文件的整个内容读取到已准备进行编辑的缓冲区当中。
VI的三种模式: Vi编辑器有三种基本的工作模式,分别是命令模式、插入模式、末行模式,在使用的时候,一般将末行模式也算是命令模式。
命令行模式:
控制屏幕光标的移动、字符、字或者行的删除,移动,复制某区域
插入模式
用于文本的编辑,在此模式下,用户可以进行输入、查找等基本的文本操作
末行模式
将文本保存或退出编辑器,也可以设置编辑环境,如查找字符串,列出行号等。
VI的基本操作:
命令行模式操作
①进入插入模式
i:从光标当前位置开始输入文件
I:在光标所在行的行首插入
a:从目前光标所在位置的下一个位置开始输入文字
A:在光标所在行的行末插入
o:插入新的一行,从行首开始输入文字
O:在光标所在的行的下面插入一行
s:删除光标后的一个字符,然后进入插入模式
S:删除光标所在的行,然后进入插入模式
②从插入模式切换为命令行模式
只需按“ESC”键即可
③移动光标
Vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写字母k、j、 h、l分别控制光标的上下左右。
ctrl+b:屏幕往后移动一页
ctrl+f:屏幕往前移动一页
ctrl+u:屏幕往后移动半页
ctrl+d:屏幕往前移动半页
0:移动到文本开头
G:移动到文本最后
$:移动到光标所在行的行尾
^:移动到光标所在行的行首
w:光标跳到下个字的开头
e:光标跳到下个字的字尾
b:光标回到上个字的开头
nl:光标位置向后移动n个位置
④删除文字
x:每按一次,删除光标所在位置的后面一个字符
nx:删除光标所在位置后面的n个字符
X:每按一次,删除光标所在位置的前面一个字符
nX:删除光标所在位置的前面n个字符
dd:删除光标所在行
ndd:从光标所在行开始删除n行
⑤复制
yw:将光标所在之处到字尾的字符复制到缓冲区中
nyw:复制n个字符到缓冲区中
yy:复制光标所在行到缓冲区中
nyy:复制从光标所在行开始的n个字符
p:将缓冲区内的字符写到光标所在的位置
⑥替换
r:替换光标所在处的字符
R:替换光标所到处的字符,直到按下ESC键为止
⑦撤销上一次操作
u:如果误执行一个命令,可以马上按下u,回到上一个操作,按多次u可以执行多次撤销操作
⑧更改
cw:更改光标所在处的字到字尾处
cnw:更改n个字
⑨跳至指定的行
ctrl+g:列出光标所在行的行号
nG:移动光标至该文本的第n行行首
⑩退出
ZZ:存盘退出
ZQ:不保存退出
末行模式操作
在使用末行模式之前,请记住先按下ESC键,确定已处于命令行模式后,在输入冒号:,即可进入末行模式。
①列出行号
set nu
②取消行号
set nonu
③搜索时忽略大小写
set ic
④取消搜索时忽略大小写
set noic
⑤跳到文件中的某一行
n
⑥查找字符
/关键字:
?关键字
⑦运行shell命令
!cmd:运行shell命令cmd
⑧替换字符
s/search/replace/g
%s/search/replace
n1,n2 s/search/replace/g
⑨保存文件
w
⑩退出vi
q:退出vi,如果无法退出,可以在q后面跟上一个!,强制退出vi。
qw:退出时保存文件