进入vi后有两种模式
1.编辑模式
2.命令模式
进入vi后默认是命令模式,所以不要乱按就会得到dd的警告声,要输入文字的话 请按a后i就可以开始输入文字拉!
输入结束后 请按两下esc键,并输入Shift加冒号
输入q就是退出
输入wq就是存盘后退出
输入q!放弃存盘强行退出
.
Vi的使用
Vi已经是Unix系统中标准的文字编辑器,每个网管人员都必须熟悉它,因为你会在维护系统时常常遇到它.
Vi对初学者而言,第一印象总是不好,觉得它难用.其实,大家在用惯了办公室软件之后,再回过头来用这些未见过的怪物,难免无法适应,这是很正常的.但别忘了,各位都将是学校中重要网管的人员,您的角色不再是纯粹的使用者,而是一位面对复杂网络的管理者及问题解决者,你必须能够亲手操控你的系统,设定你的系统,调整你的系统,而这个过程,你就不得不去面对Vi.
不要拿Word的使用习惯来挑剔Vi,它们的作用方向不同,风格也不同,一旦您能上手,也许你会喜欢上它.Vi是网络管理人员的标准左右手.
So,打开你的心,接受会比反弹更有收获.
二.开启档案,关闭档案
vi?名 开启档案
:进入命令列的方法
q离开(命令列)
wq存盘然后离开(命令列)
q!放弃存盘,强迫离开(命令列)
ZZ存盘然后离开(不在命令列使用)
:e ?名 在Vi中开启档案
三.Vi的操作模式:
Vi有二种主要的操作模式, ESC键为单向的切换键(由本文输入模式回到编辑命令模式)
编辑命令模式:要vi做一些特定目的的动作.如插入,附加,取代,修改,删除,移动光标,搜寻等等.若是存盘等动作,则需在命令列中下达,欲切换至命令列,需先按:
本文输入模式:在此模式下,任何字符,皆被视为输入的数据.
一开始进入Vi之后,即进入编辑命令模式,你输入的每一个字符,皆被预视为一个指令.有效的指令会被接受,若是无效的指令,会产生beep beep声,以示警告.
若想做输入的动作,必须切换为本文输入模式,切换的方法,只要单按一个特殊意义的字符键即可,如下所示:
按i或I插入状态
按a或A附加状态
按R取代状态R会进行连续字符取代
按s或S删除一个字符;删除光标所在那一列
按cw, c2b, c$, c0修改状态
按o或O新增空白列
你不必一下子全用上,只要会i, a, o这个三个模式即可胜任愉快,因为大部份时候,你也只用这三个.
OK,现在你可以试着在本文输入模式下,键入一些资料看看.然后,按ESC切换回编辑命令模式.
四.移动光标:
Vi为了适用于各种不同的终端机模式,因此以字键的方式来操控光标.
k j h l上 下 左 右
Enter换列
w b往前一个word ;倒退一个word
0 $至该列开头;至该列尾端
+ -往下一列;往上一列
请记住一个要诀:
在Vi中,大部份的命令都可以在其前面加上数字,该数字表示重复该命令的次数.
例如: 8l表示往右移动8个字符, 3w表示往前移动三个word, 2b表示倒退2个word
注: word的定义,连续英数字元形成一个word,而其它特殊符号则每一个字符便是一个word(除非连续特殊字符),例如: --classify中含有2个word,一个是-- ;一个是classify
而-x,则有3个word.
在特殊的终端机模式下,方向键也是可以使用的.如linux或vt100.
其实大部份时候,你仍可以保有使用方向键的习惯.但大概只有local下才能使用PgUp , PgDn, End, Home等键喔!
不过,若你所使用的终端机模式不支持方向键,那么上表中的按键,就相当重要了.
五.卷页:
^f往下一页(forward)
^b往上一页(before)
^d往下半个屏幕(down)
^u往上半个屏幕(up)
六.跳列:
你可以指定跳至某一列位置.跳动之前,先查看一下目前所在列数是多少.
^g可以显示目前的位置,如: "ls.txt" line 53 of 264 --20%-- col 16-23
上面表示,目前是在第53列,全部共有264列,占该档百分之20的位置,目前的光标,实际是在第23行,但只算成第16行,因为中间有使用tab键.
80G或80gg跳至第80列
G跳至文件尾
gg跳至文件头
七.删除: (但不会进入本文输入模式)
x删除一个字符
dd删除一行
r取代一个字符
以上皆针对光标目前的所在位置产生作用.
还有dw, db, de, d0, d$等命令,但你不须一下子全用上.上表中这三个够用了.
记住一个要诀:Vi的命令繁多,但你真正用上手的不必多,而且这些也就够了.
八. undo (回复动作):
若你对上一个动作反悔了,可以使用undo的功能:
u取消上一个动作所产生的改变
U取消光标所在那一列所有的改变
:e!取消所有的改变,回复至未修改之前
九.关键词搜寻/取代:
/关键词 往下搜寻关键词
?关键词 往上搜寻关键词
n重复搜寻命令(不管往下或往上)
N和n相反方向
cw字符串 以该字符串取代原有的关键词
n.继续取代该字符串的动作
%s/目标/取代/g将目标字符串全换成取代字符串
十.选取、复制与搬移:
Y或yy选取光标所在那一列
5Y或5yy选取光标列所在共5列(5只是一个例子,可改用其它数字)
p将选取的内容,复制至光标之后
P将选取的内容,复制至光标之前
cw, x, dd等删除命令 会将被删除的内容放入buffer中,配合p或P即可做出搬移的效果.
十一.暂时跳出Vi:
在编辑过程中,你可能想要执行其它命令,方法如下:
:!命令 执行该令命
:sh暂时跳出Vi,欲回Vi按^d或exit
1.编辑模式
2.命令模式
进入vi后默认是命令模式,所以不要乱按就会得到dd的警告声,要输入文字的话 请按a后i就可以开始输入文字拉!
输入结束后 请按两下esc键,并输入Shift加冒号
输入q就是退出
输入wq就是存盘后退出
输入q!放弃存盘强行退出
.
Vi的使用
Vi已经是Unix系统中标准的文字编辑器,每个网管人员都必须熟悉它,因为你会在维护系统时常常遇到它.
Vi对初学者而言,第一印象总是不好,觉得它难用.其实,大家在用惯了办公室软件之后,再回过头来用这些未见过的怪物,难免无法适应,这是很正常的.但别忘了,各位都将是学校中重要网管的人员,您的角色不再是纯粹的使用者,而是一位面对复杂网络的管理者及问题解决者,你必须能够亲手操控你的系统,设定你的系统,调整你的系统,而这个过程,你就不得不去面对Vi.
不要拿Word的使用习惯来挑剔Vi,它们的作用方向不同,风格也不同,一旦您能上手,也许你会喜欢上它.Vi是网络管理人员的标准左右手.
So,打开你的心,接受会比反弹更有收获.
二.开启档案,关闭档案
vi?名 开启档案
:进入命令列的方法
q离开(命令列)
wq存盘然后离开(命令列)
q!放弃存盘,强迫离开(命令列)
ZZ存盘然后离开(不在命令列使用)
:e ?名 在Vi中开启档案
三.Vi的操作模式:
Vi有二种主要的操作模式, ESC键为单向的切换键(由本文输入模式回到编辑命令模式)
编辑命令模式:要vi做一些特定目的的动作.如插入,附加,取代,修改,删除,移动光标,搜寻等等.若是存盘等动作,则需在命令列中下达,欲切换至命令列,需先按:
本文输入模式:在此模式下,任何字符,皆被视为输入的数据.
一开始进入Vi之后,即进入编辑命令模式,你输入的每一个字符,皆被预视为一个指令.有效的指令会被接受,若是无效的指令,会产生beep beep声,以示警告.
若想做输入的动作,必须切换为本文输入模式,切换的方法,只要单按一个特殊意义的字符键即可,如下所示:
按i或I插入状态
按a或A附加状态
按R取代状态R会进行连续字符取代
按s或S删除一个字符;删除光标所在那一列
按cw, c2b, c$, c0修改状态
按o或O新增空白列
你不必一下子全用上,只要会i, a, o这个三个模式即可胜任愉快,因为大部份时候,你也只用这三个.
OK,现在你可以试着在本文输入模式下,键入一些资料看看.然后,按ESC切换回编辑命令模式.
四.移动光标:
Vi为了适用于各种不同的终端机模式,因此以字键的方式来操控光标.
k j h l上 下 左 右
Enter换列
w b往前一个word ;倒退一个word
0 $至该列开头;至该列尾端
+ -往下一列;往上一列
请记住一个要诀:
在Vi中,大部份的命令都可以在其前面加上数字,该数字表示重复该命令的次数.
例如: 8l表示往右移动8个字符, 3w表示往前移动三个word, 2b表示倒退2个word
注: word的定义,连续英数字元形成一个word,而其它特殊符号则每一个字符便是一个word(除非连续特殊字符),例如: --classify中含有2个word,一个是-- ;一个是classify
而-x,则有3个word.
在特殊的终端机模式下,方向键也是可以使用的.如linux或vt100.
其实大部份时候,你仍可以保有使用方向键的习惯.但大概只有local下才能使用PgUp , PgDn, End, Home等键喔!
不过,若你所使用的终端机模式不支持方向键,那么上表中的按键,就相当重要了.
五.卷页:
^f往下一页(forward)
^b往上一页(before)
^d往下半个屏幕(down)
^u往上半个屏幕(up)
六.跳列:
你可以指定跳至某一列位置.跳动之前,先查看一下目前所在列数是多少.
^g可以显示目前的位置,如: "ls.txt" line 53 of 264 --20%-- col 16-23
上面表示,目前是在第53列,全部共有264列,占该档百分之20的位置,目前的光标,实际是在第23行,但只算成第16行,因为中间有使用tab键.
80G或80gg跳至第80列
G跳至文件尾
gg跳至文件头
七.删除: (但不会进入本文输入模式)
x删除一个字符
dd删除一行
r取代一个字符
以上皆针对光标目前的所在位置产生作用.
还有dw, db, de, d0, d$等命令,但你不须一下子全用上.上表中这三个够用了.
记住一个要诀:Vi的命令繁多,但你真正用上手的不必多,而且这些也就够了.
八. undo (回复动作):
若你对上一个动作反悔了,可以使用undo的功能:
u取消上一个动作所产生的改变
U取消光标所在那一列所有的改变
:e!取消所有的改变,回复至未修改之前
九.关键词搜寻/取代:
/关键词 往下搜寻关键词
?关键词 往上搜寻关键词
n重复搜寻命令(不管往下或往上)
N和n相反方向
cw字符串 以该字符串取代原有的关键词
n.继续取代该字符串的动作
%s/目标/取代/g将目标字符串全换成取代字符串
十.选取、复制与搬移:
Y或yy选取光标所在那一列
5Y或5yy选取光标列所在共5列(5只是一个例子,可改用其它数字)
p将选取的内容,复制至光标之后
P将选取的内容,复制至光标之前
cw, x, dd等删除命令 会将被删除的内容放入buffer中,配合p或P即可做出搬移的效果.
十一.暂时跳出Vi:
在编辑过程中,你可能想要执行其它命令,方法如下:
:!命令 执行该令命
:sh暂时跳出Vi,欲回Vi按^d或exit