vi和vim使用

三种模式,分别是『一般指令模式』、『编辑模式』与『指令列命令模式』。

一般指令模式(command mode)
以vi 打开一个档案就直接进入一般指令模式了(这是预设的模式,也简称为一般模式)。在这个模式中, 你可以使用『上下左右』按键来移动游标,你可以使用『删除字元』或『删除整列』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件资料。
编辑模式(insert mode)
在一般指令模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的!要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现『INSERT或REPLACE』的字样,此时才可以进行编辑。而如果要回到一般指令模式时,则必须要按下『Esc』这个按键即可退出编辑模式。
指令列命令模式(command-line mode)
在一般模式当中,输入『 : / ?』三个中的任何一个按钮,就可以将游标移动到最底下那一列。在这个模式当中,可以提供你『搜寻资料』的动作,而读取、存档、大量取代字元、离开vi 、显示行号等等的动作则是在此模式中达成的!

按键说明

一般指令模式可用的按键说明,游标移动、复制贴上、搜寻取代等
屏幕『向下』移动半页: [Ctrl] + [d]
屏幕『向上』移动半页: [Ctrl] + [u]
游标向右移动这一列的n个字符: n空格键
移动到这个档案的第n行#: nG
游标向下移动n行#:n回车键
搜寻与取代
在第n1与n2列之间寻找word1这个字串,并将该字串取代为word2
#:n1,n2s/word1/word2/g
从第一列到最后一列寻找word1字串,并将该字串取代为word2
#:1,$s/word1/word2/g
从第一列到最后一列寻找word1字串,并将该字串取代为word2,且在取代前显示提示字元给使用者确认(confirm)是否需要取代
#:1,$s/word1/word2/gc
删除、复制与粘贴
删除游标所在到第一行的所有资料#:d1G
删除游标所在到最后一列的所有资料#:dG
删除游标所在处,到该行的最后一个字符#:d$
删除游标所在处,到该行的最前面一个字符#:d0
将游标所在行与下一行的资料结合成同一列#:J
复原前一个动作#:u
重做上一个动作#:[Ctrl]+r
重复前一个动作#:.
区块选择的按键意义
用长方形的方式选择区块#:[Ctrl]+v

多档案编辑

vim /etc/hosts /etc/resolv.conf
编辑下一个档案::n
编辑上一个档案::N
列出目前这个vim的开启的所有档案::files
多视窗功能

在指令列模式输入『:sp {filename}』  
『[ctrl]+w+↑』[ctrl]+w+j及『[ctrl]+w+↓』[ctrl]+w+k在两个视窗之间移动