欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

unix下vi使用小结以及常用命令

程序员文章站 2022-07-11 23:49:15
...
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有什么区别

http://lijingshou.iteye.com/blog/1981730
相关标签: unix