unix下vi使用小结以及常用命令
学习vi,最重要的事情是理解vi的模式,以及各个模式下面都能进行哪些操作.想得简单一点,我们可以把vi理解成两种模式即插入模式与命令行模式:
插入模式(Insert Mode):在插入模式下面只能进行文本插入(输入)操作,而且在插入模式下,是不能通过键盘上的上下左右箭头键移动光标的.这一点往往是新手刚进行vi操作的时候最懊恼的事情.想象自己刚刚在vi上成功输入几个字符之后,若想像windows一样,移动光标(通过上下左右键)到别处去,在vi上是行不通的,最终会导致插入一些意外的字符.这时,我们就需要按ESC键进入命令行模式.最后注意在插入模式下Backspace键是不能删除字符的,但是回车跟空格是有效的
命令行模式(Command Mode):在命令行模式下,我们可以进行光标移动,数据删除,数据复制,粘贴.我们可以在命令行模式下通过a,A, i,I,o,O命令进入插入模式.最后在命令行下可以通过:wq!之类的命令进行强制保存(底行模式)
对于一个新手来说做常做的事情是编辑文本,进行插入操作/删除操作.所以就需要不断地在两种模式之间进行切换[ESC, a, i, o]以及内容删除[dd,x,X],所以每当你搞不清楚处于何种模式,或者误插入了你不想要字符的时候,你只要按ESC,就会进入命令行模式,便可以把刚才的误操作给删除掉. 如后再按[a,o,i]进入插入模式,进行文本插入操作.
在理解了vi的运行方式之后,我们就可以进行基本的文件编辑工作.再接下去的事情,无非是多记住一些在各种模式下面的常用命令,让我们更好地使用vi.
vi常用命令
1.命令行模式下光标移动:
h(左),j(下),k(上),l(右)以及方向键:上下左右移动光标
0与$:移动到行开头与结尾
G:移动到文件最后一行
20G:移动到文件第20行
20[space]:向右移动20个字符
20[Enter]:光标向下移动20行
2.命令行下查找与替换
/string: 向下查找, 按n查找下一个, N查找上一个,这个跟less命令的查找使用方式是一样的
?string:往前查找, 按n查找下一个, N查找上一个
:1,$s/src/dest/g 从第一行到最后一行替换src为dest,$代表结尾
:1,$s/src/dest/g 从第一行到最后一行替换src为dest,并且每次替换前就行确认
:n1,n2s/src/dest/g 从第一行到最后一行替换src为dest
3.命令行下删除复制粘贴:
x,X:向前,向后删除一个字符,前面可以加数目
d0与d$:删除光标到行第一个字符/最后一个字符
dd: 删除整行, 加数字代表删除向下n行
yy:复制所在行,加数字代表复制向下n行
y0与y$: 复制光标到行头/行尾
p:从光标下一行开始粘贴, P的话是从粘贴到光标所在的上一行
4.命令行模式进入插入模式
i:光标处插入,之前光标选中的字符会后移
大写i:所在行第一个非空字符处插入
a:光标所在下一个字符插入,类似i
大写A:所在行最后一个字符插入
o与O:光标所在行上/下一行插入新的一行
5.命令行模式进行保存
:q! 强制离开不保存
:wq! 强制保存后离开
:q 离开,保存否???
6.命令行下其他操作
u: 撤销上一个操作,只能撤销最近一次,再撤销,又回去了..会不断循环
[ctrl]+r: 重做上一次操作
. 就是小数点那个:重复前一个操作,不知道跟Ctrl+r有什么区别
[url]http://lijingshou.iteye.com/blog/1981730[/url]
学习vi,最重要的事情是理解vi的模式,以及各个模式下面都能进行哪些操作.想得简单一点,我们可以把vi理解成两种模式即插入模式与命令行模式:
插入模式(Insert Mode):在插入模式下面只能进行文本插入(输入)操作,而且在插入模式下,是不能通过键盘上的上下左右箭头键移动光标的.这一点往往是新手刚进行vi操作的时候最懊恼的事情.想象自己刚刚在vi上成功输入几个字符之后,若想像windows一样,移动光标(通过上下左右键)到别处去,在vi上是行不通的,最终会导致插入一些意外的字符.这时,我们就需要按ESC键进入命令行模式.最后注意在插入模式下Backspace键是不能删除字符的,但是回车跟空格是有效的
命令行模式(Command Mode):在命令行模式下,我们可以进行光标移动,数据删除,数据复制,粘贴.我们可以在命令行模式下通过a,A, i,I,o,O命令进入插入模式.最后在命令行下可以通过:wq!之类的命令进行强制保存(底行模式)
对于一个新手来说做常做的事情是编辑文本,进行插入操作/删除操作.所以就需要不断地在两种模式之间进行切换[ESC, a, i, o]以及内容删除[dd,x,X],所以每当你搞不清楚处于何种模式,或者误插入了你不想要字符的时候,你只要按ESC,就会进入命令行模式,便可以把刚才的误操作给删除掉. 如后再按[a,o,i]进入插入模式,进行文本插入操作.
在理解了vi的运行方式之后,我们就可以进行基本的文件编辑工作.再接下去的事情,无非是多记住一些在各种模式下面的常用命令,让我们更好地使用vi.
vi常用命令
1.命令行模式下光标移动:
h(左),j(下),k(上),l(右)以及方向键:上下左右移动光标
0与$:移动到行开头与结尾
G:移动到文件最后一行
20G:移动到文件第20行
20[space]:向右移动20个字符
20[Enter]:光标向下移动20行
2.命令行下查找与替换
/string: 向下查找, 按n查找下一个, N查找上一个,这个跟less命令的查找使用方式是一样的
?string:往前查找, 按n查找下一个, N查找上一个
:1,$s/src/dest/g 从第一行到最后一行替换src为dest,$代表结尾
:1,$s/src/dest/g 从第一行到最后一行替换src为dest,并且每次替换前就行确认
:n1,n2s/src/dest/g 从第一行到最后一行替换src为dest
3.命令行下删除复制粘贴:
x,X:向前,向后删除一个字符,前面可以加数目
d0与d$:删除光标到行第一个字符/最后一个字符
dd: 删除整行, 加数字代表删除向下n行
yy:复制所在行,加数字代表复制向下n行
y0与y$: 复制光标到行头/行尾
p:从光标下一行开始粘贴, P的话是从粘贴到光标所在的上一行
4.命令行模式进入插入模式
i:光标处插入,之前光标选中的字符会后移
大写i:所在行第一个非空字符处插入
a:光标所在下一个字符插入,类似i
大写A:所在行最后一个字符插入
o与O:光标所在行上/下一行插入新的一行
5.命令行模式进行保存
:q! 强制离开不保存
:wq! 强制保存后离开
:q 离开,保存否???
6.命令行下其他操作
u: 撤销上一个操作,只能撤销最近一次,再撤销,又回去了..会不断循环
[ctrl]+r: 重做上一次操作
. 就是小数点那个:重复前一个操作,不知道跟Ctrl+r有什么区别
[url]http://lijingshou.iteye.com/blog/1981730[/url]