??xml version="1.0" encoding="utf-8" standalone="yes"?>
1) 命o行模式command modeQ?/p>
2) 插入模式QInsert modeQ?/p>
只有在Insert mode下,才可以做文字输入Q按「ESC」键可回到命令行模式?/p>
3) 底行模式Qlast line modeQ?/p>
文件保存或退出viQ也可以讄~辑环境Q如L字符丌Ӏ列?#8230;…{?/p>
不过一般我们在使用时把vi化成两个模式Q就是将底行模式Qlast line modeQ也入命o行模式command modeQ?/p>
2、vi的基本操?br /> a) q入vi
在系l提C符可入vi及文件名U后Q就q入vi全屏q编辑画面:
$ vi myfile
b) 切换x入模式(Insert modeQ编辑文?/p>
在「命令行模式Qcommand modeQ」下按一下字母「i」就可以q入「插入模式(Insert modeQ」,q时候你可以开始输入文字了?/p>
c) Insert 的切?/p>
d) 退出vi及保存文?/p>
在「命令行模式Qcommand modeQ」下Q按一下「:」冒号键q入「Last line mode」,例如Q?/p>
: w filename Q输?「w filename」将文章以指定的文g名filename保存Q?/p>
: wq (输入「wq」,存盘q出vi)
: q! (输入q!Q?不存盘强刉出vi)
3、命令行模式Qcommand modeQ功能键
1Q? 插入模式
按「i」切换进入插入模式「insert mode」,?#8220;i”q入插入模式后是从光标当前位|开始输入文Ӟ
按「a」进入插入模式后Q是从目前光标所在位|的下一个位|开始输入文字;
按「o」进入插入模式后Q是插入新的一行,从行首开始输入文字?/p>
2Q? 从插入模式切换ؓ命o行模?/p>
按「ESC」键?/p>
3Q? Ud光标
vi可以直接用键盘上的光标来上下左右UdQ但正规的vi是用写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右UM根{?/p>
按「ctrl?「b」:屏幕往“?#8221;Ud一c?/p>
按「ctrl?「f」:屏幕往“?#8221;Ud一c?/p>
按「ctrl?「u」:屏幕往“?#8221;Ud半页?/p>
按「ctrl?「d」:屏幕往“?#8221;Ud半页?/p>
按数字?」:Ud文章的开头?/p>
按「G」:Ud到文章的最后?/p>
按?」:Ud到光标所在行?#8220;行尾”?/p>
按「^」:Ud到光标所在行?#8220;行首”
按「w」:光标跛_下个字的开?/p>
按「e」:光标跛_下个字的字尾
按「b」:光标回到上个字的开?/p>
按?l」:光标Ud该行的第#个位|,如:5l,56l?/p>
4Q? 删除文字
「x」:每按一ơ,删除光标所在位|的“后面”一个字W?/p>
?x」:例如Q?x」表C删除光标所在位|的“后面”6个字W?/p>
「X」:大写的XQ每按一ơ,删除光标所在位|的“前面”一个字W?/p>
?X」:例如Q?0X」表C删除光标所在位|的“前面”20个字W?/p>
「dd」:删除光标所在行?/p>
?dd」:从光标所在行开始删??/p>
5Q? 复制
「yw」:光标所在之处到字尾的字W复制到~冲Z?/p>
?yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区?/p>
?yy」:例如Q?yy」表C拷贝从光标所在的该行“往下数”6行文字?/p>
「p」:缓冲区内的字符贴到光标所在位|。注意:所有与“y”有关的复制命令都必须?#8220;p”配合才能完成复制与粘贴功能?/p>
6Q? 替换
「r」:替换光标所在处的字W?/p>
「R」:替换光标所C处的字符Q直到按下「ESC」键为止?/p>
7Q? 回复上一ơ操?/p>
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复?/p>
8Q? 更改
「cw」:更改光标所在处的字到字֤
「c#w」:例如Q「c3w」表C更?个字
9Q? 跌指定的行
「ctrl?「g」列出光标所在行的行受?/p>
?G」:例如Q?5G」,表示Ud光标x章的W?5行行首?/p>
4、Last line mode下命令简?br /> 在用「last line mode」之前,误住先按「ESC」键定您已l处于「command mode」下后,再按「:」冒号即可进入「last line mode」?/p>
A) 列出行号
「set nu」:输入「set nu」后Q会在文件中的每一行前面列受?/p>
B) 跛_文g中的某一?/p>
?」:?」号表示一个数字,在冒号后输入一个数字,再按回R键就会蟩到该行了Q如输入数字15Q再回RQ就会蟩到文章的W?5行?/p>
C) 查找字符
?关键字」:先按?」键Q再输入您想L的字W,如果W一ơ找的关键字不是您想要的Q可以一直按「n」会往后寻扑ֈ您要的关键字为止?/p>
?关键字」:先按?」键Q再输入您想L的字W,如果W一ơ找的关键字不是您想要的Q可以一直按「n」会往前寻扑ֈ您要的关键字为止?/p>
D) 保存文g
「w」:在冒可入字母「w」就可以文件保存v来?/p>
E) dvi
「q」:按「q」就是退出,如果无法dviQ可以在「q」后跟一个?」强制离开vi?/p>
5、vi命o列表
1、下表列出命令模式下的一些键的功能:
h
左移光标一个字W?/p>
l
右移光标一个字W?/p>
k
光标上移一?/p>
j
光标下移一?/p>
^
光标Ud臌?/p>
0
数字“0”Q光标移x章的开?/p>
G
光标U至文章的最?/p>
$
光标Ud臌?/p>
Ctrl+f
向前d
Ctrl+b
向后d
Ctrl+d
向前d?/p>
Ctrl+u
向后d?/p>
i
在光标位|前插入字符
a
在光标所在位|的后一个字W开始增?/p>
o
插入新的一行,从行首开始输?/p>
ESC
从输入状态退臛_令状?/p>
x
删除光标后面的字W?/p>
#x
删除光标后的Q个字符
X
(大写X)Q删除光标前面的字符
#X
删除光标前面?个字W?/p>
dd
删除光标所在的?/p>
#dd
删除从光标所在行数的#?/p>
yw
复制光标所在位|的一个字
#yw
复制光标所在位|的#个字
yy
复制光标所在位|的一?/p>
#yy
复制从光标所在行数的#?/p>
p
_脓
u
取消操作
cw
更改光标所在位|的一个字
#cw
更改光标所在位|的#个字
2、下表列命o模式下的一些指?br />
w filename
储存正在~辑的文件ؓfilename
wq filename
储存正在~辑的文件ؓfilenameQƈ退出vi
q!
攑ּ所有修改,退出vi
set nu
昄行号
/?
查找Q在/后输入要查找的内?/p>
n
??一起用,如果查找的内容不是想要找的关键字Q按n或向后(?联用Q或向前Q与?联用Ql查找,直到扑ֈ为止?/p>
对于W一ơ用viQ有几点注意要提醒一下:
1、用vi打开文gQ是处于「命令行模式Qcommand