鸟哥的Linux私房菜学习笔记--vi的使用

基本上vi共分为三种模式,分别是【一般指令模式】、【编辑模式】与【指令列命令模式】。这三种模式的作用分别是:

一般指令模式(command mode)

以vi打开一个文件就是直接进入一般指令模式(这是默认的模式,也简称为一般模式)。在这个模式中,你可以使用【上下左右】按键来移动光标,你可以使用【删除字符】或【删除整列】来处理文件,可可以使用【复制、贴上】来处理你的文件数据。

编辑模式(insert mode)

在一般指令模式中可以进行删除、复制、粘贴等等的动作,但是却无法编辑文件内容!要等到你按下【i  I  o  O  a  A  r  R】等任何一个字母之后才会进入编辑模式。注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现【INSERT 或 REPLACE】的字样,此时才可以进行编辑。而如果要回到一般指令模式时,则必须按下【Esc】这个按键即可退出编辑模式。

指令列命令模式(command-line mode)

在一般模式当中,输入【:/ ?】三个中的任何一个按钮,就可以将光标移动到最底下哪一系。在这个模式当中,可以提供你【搜寻资料】的动作,而读取、存储、大量取代字符、离开vi,显示行号等等的动作则是在次模式中达成的。

注意到上面的图标,你会发现一般指令模式可与编辑模式及指令模式却换,但编辑模式与指令模式之间不可相互切换,这一点非常重要。

简易执行范例

1.使用【vi filename】进入一般指令模式

例如:$ /bin/vi welcome.txt

直接输入【vi 文件名】就能够进入vi的一般指令模式了。不过请注意,由于一般帐号预设已经使用了vim来取代,因此如上表所示,如果使用一般帐号来测试,得要使用绝对路径的方式来直行/bin/vi才好!另外,请注意,记得vi后面一定要加文件名,不管该文件是否存在!

整个画面主要分为两部分,上半部分与最底下一列两者可以视为独立的。上半部分显示的是文件的实际内容,最底下一列则是状态显示列,或者命令下达列!

2.按下 i 进入编辑模式,开始编辑文字

在一般指令模式之中,只要按下i,o,a等字符就可以进入编辑模式了!在编辑模式当中,你可以发现在左下角状态栏中会出现 -INSERT- 的字样,那就是可以输入任意字符的提示。这个时候,键盘上除了【Esc】这个按键之外,其他的按键都可以视作一般的输入按钮了,所以你可以进行任何的编辑咯!

3.按下【Esc】按钮回到一般指令模式

好了,假设我们已经按照上面的样式给他编辑完毕了,那么应该如何退出呢?就是按下【Esc】这个按钮即可!马上你就会发现左下角的 -INSERT- 不见了!

4.进入指令列模式,文件存储并离开vi环境

OK,我们要存档了,存档(write)并离开(quit)的指令很简单,输入【:wq】即可存档离开!注意,按下 : 该光标就会移动到最底下一列去!这时你在提示字符后面输入【ls -l】即可看到我们刚刚简历的welcome.txt文件。

按键说明

除了上面建议的范例 i,【Esc】,:wq 之外,其实vi还有非常多的按键可以使用,在介绍之前还要再次强调,vi的三种模式只有一般指令模式可以与编辑,指令列模式切换,编辑模式与指令模列模式之间并不能切换的!


第一部分:一般指令模式可用的按钮说明,光标移动、复制粘贴、搜索取代等。

h 或向左箭头键:光标向左移动一个字符

j 或向下箭头键:光标向下移动一个字符

k 或向上箭头键:光标向上移动一个字符

l 或向右箭头键:光标向右移动一个字符

如果你将右手放在键盘上的话,你会发现 h j k l 是排列在一起的,因此可以使用这四个按钮来移动光标。如果想要进行多次移动的话,例如向下移动30列,可以使用“30j”或者“30向下箭头键”的组合按钮即可。

【Ctrl + f】:屏幕向下移动一页,相当于【Page Down】按键

【Ctrl + b】:屏幕向上移动一页,相当于【Page Up】按键

u:复原前一个动作。

【Ctrl + r】:重做上一个动作。

0或功能键【Home】:移动到这一列的最前面字符处

$或功能键【End】:移动到这一列的最后字符处

G:移动到这个文件的最后一列

gg:移动到这个文件的第一列

/word:向光标下寻找一个名称为word的字符串

?word:向光标上寻找一个名称为word的字符串

x,X:x为向后删除一个字符(相当于【del】按键),X为向前删除一个字符(相当于【backspace】亦退格键)

dd:删除游标所在的那一整列

yy:复制游标所在的那一列

 . :重复删除、粘贴等等动作,重复前一个动作。

。。。。。。指令太多懒的写了

第二部分:一般指令模式切换到编辑模式的可用安久说明

i,I:进入插入模式,i为【从目前光i包所在出插入】,I为【在目前所在列的第一个非空格符出开始插入】

a,A:进入插入模式,a为【从目前光标所在的下一个字符处开始插入】,A为【从光标所在列的最后一个字符处开始插入】

o,O:进入插入模式,o为【在目前光标所在的下一列出插入新的一列】;O为【在目前光标所在出的是那个一列插入新的一列】

r,R:进入取代模式,r【取代光标所在的那一个字符一次】;R【一直取代光标所在的文字】,知道按下ESC为止;

上面这些按键中,在vi画面的左下角会出现【-INSERT-】或【-REPLACE-】的字样。由名称就知道该动作了。

【Esc】:退出编辑模式,回到一般指令模式中

第三部分:一般指令模式切换到指令模式的可用按钮说明

:w 将编辑的数据写入硬盘文件中

:w! 若文件属性为【只读】时,强制写入该文件。不过,到底能不能写入,还是跟你对该文件的权限有关

:q 离开vi

:q! 若曾修改过文件,又不想存储,使用 ! 为强制离开不存储文件

:wq 存储后离开,若为 :wq! 则为强制存储后离开

vim环境的变更

:set nu 显示行号,设定之后,会在每一列的前缀显示该列的行号

:set nonu 与set nu相反,为取消行号!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值