首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

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

2013-11-29 
unix下vi使用小结以及常用命令之所以要学习vi,是因为公司的unix服务器只支持vi.个人觉得理解了vi的工作方

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

之所以要学习vi,是因为公司的unix服务器只支持vi.个人觉得理解了vi的工作方式,即可基本掌握如何使用vi,而不需要记忆太多的东西.

?

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有什么区别

?

?

热点排行