ITPub博客

首页 > Linux操作系统 > Linux操作系统 > VI使用简介

VI使用简介

原创 Linux操作系统 作者:xzforacle 时间:2008-05-26 20:09:44 0 删除 编辑
 

进入vi(在系统提示符下面输入以下指令):

vi           进入vi而不读入任何文件

vi filename      进入vi并读入指定名称的文件(新、旧文件均可)。

vi +n filename    进入vi并且由文件的第几行开始。

vi +filename      进入vi并且由文件的最后一行开始。

vi + /word filename  进入vi并且由文件的word这个字开始。

vi filename(s)     进入vi并且将各指定文件列入名单内,第一个文件先读入。

vedit        进入vi并且在输入方式时会在状态行显示“INSERT MODE"。

编辑数个文件(利用vi filename(s))进入vi后)

:args         显示编辑名单中的各个文件名

:n          读入编辑名单中的下一个文件

:rew         读入编辑名单中的第一个文件

:e#         读入编辑名单内的前一个文件

:e file        读入另一个文件进vi(此文件可不在编辑名单内),若原文件经修改还没有存档,则应先以: w 存档。

:e! file       强迫读入另一个文件进入vi,原文件不作存档动作。

存储及退出vi

:w filename      存入指定文件,但未退出vi(若未指定文件名则为当前工作的文件名)。

:wq 或者 :x或者zz   存文件,并且退出vi.

:q          不作任何修改并退出vi。

:q!         放弃任何修改并退出vi。

:!command      暂时退出vi并执行shell指令,执行完毕后再回到vi。

:sh         暂时退出vi到系统下,结束时按Ctrl + d则回到vi。

加数据指令

i          在关标位置开始插入字符,结束时候按ESC键。

I          在光标所在行的最前面开始加字,结束时按ESC键。

a          在光标位置后开始加字,结束时按ESC键。

A          在光标所在行的最后面开始加字,结束时按ESC键。

o          在光标下加一空白行并开始加字,结束时按ESC键。

O          在光标上加一空白行并开始加字,结束时按ESC键。

!command       执行shell指令,并把结果加在光标所在行的下一行。

删除指令

nx          删除由光标位置起始的n个字符(含光标位置,按一个x表示删除光标所在的字符)

nX           删除由光标位置起始的n个字符(不含光标位置)。

ndw         删除光标位置其实的n个字符组(word)。

d0           将行的开始到光标位置的字符全部删除。

d$ 或D         将光标位置起始到行尾的字符全部删除。

ndd          将光标位置起始的n行(整行)删除(dd表示删除光标所在行)。

:start,endd     删除文件的第start到end行。

关标移动

0           移到一行的开始

$           移到一行的最后

[          移到文件开始位置

]          移到文件结束位置

nh          往左移n位

nl或者spacebar     往右移n位

nk          向上移n行

n+          向上移n行,光标在该行的起始

ni           向下移n行

n-          向下移n行,光标在该行的起始

H          移到屏幕的左上角

M          移到屏幕的中间行开头

L          移到屏幕的最后一行

G          移到文件的最后一行

nG或者:n       移到文件的第n行

nw          右移n个字组,标点符号属于字组

nW          右移n个字组,标点符号不属于字组

nb          左移n个字组,标点符号属于字组

nB          左移n个字组,标点符号不属于字组

Ctrl + u       屏幕上卷半个菜单

Ctrl + d        屏幕下卷半个菜单

Ctrl + b        屏幕上卷一个菜单

Ctrl + F        屏幕下卷一个菜单

修改指令

r          修改光标文件的字符

R          从光标位置开始修改,结束时按ESC键

new         更改n组字符,结束时按ESC键

ncc         从光标所在位置开始更改n行,结束时按ESC键

重排各行长度

i          并按Enter将该行由光标所在处断开,并进入insert方式

J           把下一行的数据连接到本行之后

寻找指令

/text        从光标位置往下找字串text

?text        从光标位置往上找字串text

n          继续找下一个字串(在输入上面的寻找指令之后使用)

寻找并且取代指令

:getxt1/s/ /text2/options   将各行的text1替换为text2

               option=g表示文件中所有的text1均被取代,若未输入任何option,则只有各行中的第一个出现的text1被取代

               option=go 在屏幕显示各取代的行

               option=gc 在每个字串取代之前要求确认 

Start,endgtext1/s/ / text2/options  同上,只寻找并取代第start~end行。

或:Start,ends/text1/text2/options

复制及移动文件

:first,last co dest      将first 到last行的数据复制到目标行(dest)下面

:Start,end m dest      将start 到 end行的数据移动到目标行(dest)下。   

:r filename          将指定文件的内容读入光标所在行下。

nY               将光标所在位置开始的n行数据暂存

p              复制暂存数据在光标的下一行

P              复制暂存数据在光标的上一行

其他命令

.              重复前一指令

u              取消前一指令

Ctrl + l           刷新屏幕显示

:set number          显示文件的行号,但不会存文件

:set nonumber         解除行号显示

:set ai            设置每行起始位置(以光标当前位置为起始)

:set noai           取消行起始位置设定

:f 或 + g        告诉用户有关现行编辑文件的数据。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4670/viewspace-310369/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 配置xmanager
下一篇: shell基础
请登录后发表评论 登录
全部评论

注册时间:2008-05-26

  • 博文量
    15
  • 访问量
    31026