vi(2)

来源:互联网 发布:龙渊网络和雷亚 编辑:程序博客网 时间:2024/05/20 16:09
当利用文本编辑器来处理文件时,编辑器会将文件复制一份到内存当中,此内存位置称为缓冲区(buffer)。保留原来的文件在外存当中,而对缓冲区中的文件作修改。如果编辑完成,若想保存,则用write命令将缓冲区中的文件复制一份到外存,取代原来的文件并释放缓冲区。若不想保存已修改的文件,只需使用quit命令退出编辑器。
   在系统提示符下输入vi就可以进入vi的编辑环境。Vi共有两种操作模式:
(1)文本输入模式:进行输入文本操作
(2)编辑命令模式:下达文件编辑﹑存盘﹑以及退出vi等等的操作命令。当运行vi后,会首先进入命令模式,此时输入的任何字符都视为命令。
1.2 Vi编辑器的基本使用
1.2.1 Vi使用实例:
注册到系统后,在系统提示符下输入:
vi filename //filename要带扩展名,否则默认为文本文件
如:vi test.c
按下Insert, 此时进入文本编辑方式。比如输入下列一段代码:
#include
main()

{
   printf(“This is my first C program under Linux!”);
}

输入完之后,按“ESC”和“:”键返回命令方式。
下面介绍Redo(重复)命令的使用:
比如刚才按ESC键结束Insert方式后,此时按下“.”键,屏幕上便显示:
#include
main()
{
   printf(“This is my first C program under Linux!”);
}

#include

main()

{
   printf(“This is my first C program under Linux!”);
}


即Insert命令被重新执行了一遍。需要注意的是:复制粘贴的位置依赖于光标的位置。
而取消误操作命令则是:U。

1.2.2文本输入命令:
(1)附加(append):
a  将新增文本附加在光标所在位置后面。
A  将新增文本附加在光标所在行的最后。
(2)插入(insert):
i  将文本插入到光标所在位置的前面,光标后的文本虽新增文本向后移
I  从光标所在行的第一个非空白字符前面开始插入文本。
(3)开始(open):
o  使新增文本独立一行且插在光标所在行的下一行

1.2.3删除与修改
移动光标的基本命令:
进入命令模式后按:
h
光标左移一个字符
j
光标下移一行(quit)
k
光标上移一行
l
光标右移一个字符

    
删除和修改的命令有如下几种:
x
删除光标所在的字符
dd
删除光标所在的行
r
修改光标所在字符,按r后接着输入要修正的字符
R
进入取代状态,新输入的文本会覆盖原来的文本,直到按下[ESC]键回到命令模式下为止
s
删除光标所在的字符并进入输入模式
S
删除光标所在的行并进入输入模式
yy
复制整行文字
cc
修改整行文字
D
删除光标到该行结束为止


1.2.4文件命令
文件命令以“:”开头。常用的文件命令入下表所示:
命令
说明
:q
结束编辑(quit)
:q!
放弃存盘直接退出(quit)
:w
存盘(write),其后可加所要存盘的文件名
:wq
存盘并退出
:x
必要时写盘并退出
:r file
把文件file读入编辑缓冲区
:e
另编辑文件
:e file
另编辑文件 file
:e!
另编辑文件,并清空缓冲区
:zz
功能与:wq
:set nu
显示行号功能
set nonu
不显示行号
:zz
功能与:wq
set all
显示环境设置
set list
显示不可见字符
:!cmd
在Vi中执行Shell命令
原创粉丝点击