全部博文(921)
分类: BSD
2006-08-31 21:36:56
编辑文件是日常使用计算机的一项基本操作,特别是在使用Linux的时候,很多时候需要对配置文件进行编辑修改,以完成某一些目的。在Linux下,最常用的莫过于VI编辑器了,简单方便,功能却很强大。但是对于刚刚接触Linux的我来说,很多观念还没有转变过来,用起来自然就不顺手了。这里记下在学习VI使用时最基本的编辑命令,以方便以后查阅。
所有的命令都是在命令模式下输入。如果不知道当前是不是命令模式的,则按几下ESC键。ESC键是VI从编辑模式切换回命令模式的按键。所有的命令都区分大小写,如G命令不能用g命令代替。
1、移动光标命令
j 向下移动光标一个字符
h 向左移动光标一个字符
k 向上移动光标一个字符
l 向右移动光标一个字符
如果需要移动多个字符,则在上述命令前输入数字n,则光标向相应的方向移动n字符,如命令10j向下移动10个字符。
G 移动光标到指定的行位置,如将光标移动到第三行开头处的命令是
如果想知道当前处于哪一行,则可以按Ctrl+G(这里G键不分大小写),VI将在底行显示当前行的信息。
2、卷屏命令
Ctrl+F 屏幕信息向上滚动一个屏幕,光标移至下一屏的第一行
Ctrl+D 屏幕信息向上滚动半个屏幕,光标移至本屏幕首行
Ctrl+B 屏蔽信息向下滚动一个屏幕,光标移至上屏的末行
Ctrl+U 光标向上移动半屏
3、删除命令
x 删除光标当前处的字符
dw 删除光标当前处的单词
dd 删除光标当前处的行
4、添加命令
a 在当前光标之后添加文本
A 在当前光标所在行之后添加文本
i 在当前光标之前添加文本
I 在当前光标所在行之前添加文本
o 在当前光标所在行的下面开辟一新行
O 在当前光标所在行的上面开辟一新行
5、块操作命令
mx 把当前光标所在的位置定义为块首或块尾,其中x是任一小写字母。如果还没有定义块首标记,则当前定义的是块首标记,如果已经定义了块首标记,则当前定义的块标记为块尾标记。
'x,'y co n 把定义于块标记x和y之间的块拷贝到指定的第n行之后,如果第n行后已经有了文本,则原来的文本顺次向后移动。如果第n行不存在,则拷贝失败。n处可以指定为一小数点(.),其意义为当前行。'x和'y处也可以指定数字,其意义为拷贝第'x到'y行的文本。
'x,'y m n 把定义于块标记x和y之间的块移动到指定的第n行之后,如果第n行后已经有了文本,则原来的文本顺次向后移动。如果第n行不存在,则移动失败。n处可以指定为一小数点(.),其意义为当前行。'x和'y处也可以指定数字,其意义为移动第'x到'y行的文本。
6、拷贝和粘贴命令
yy 拷贝当前光标所在行到剪贴板
yw 拷贝当前光标所在位置处的词到剪贴板
p 粘贴当前剪贴板的内容到光标当前行的下一行
P 粘贴当前剪贴板的内容到光标当前行的上一行
7、文件操作命令
:a,b w filename 将当前文件中的第a行到第b行的文本保存到指定的文件filename中
:w >> filename 将当前文件附加到指定的文件filename中
:a,b w >> filename 将当前文件中第a行到第b行的文本附加到指定的文件filename中
:'x,'y w filename 将当前编辑的文件中的指定块保存到文件filename中
:r filename 将指定的文件filename读取到当前文件的当前光标行之下
这些是VI编辑器的基本命令,掌握了这些命令就可以利用VI来进行一些基本的编辑操作了。