简单的介绍UNIX下的常用编辑工具VIWindows系统 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    vi全屏幕编辑器 vi(Visual)是以视觉为导向的全屏幕编辑器、共分为三种方式(mode): command方式: ?任何输入都会作为编辑命令,而不会出现在屏幕上,若输入错误则有“岬”的声音;任何输入 ?都引起立即反映 insert方式: ?任何输入的数据都置于编辑寄存器

    vi全屏幕编辑器

    vi(Visual)是以视觉为导向的全屏幕编辑器、共分为三种方式(mode):

    command方式:

    ?任何输入都会作为编辑命令,而不会出现在屏幕上,若输入错误则有“岬”的声音;任何输入

    ?都引起立即反映

    insert方式:

    ?任何输入的数据都置于编辑寄存器,

简单的介绍UNIX下的常用编辑工具VIWindows系统

。在command方式下输入(I,a,A等),可进入insert方式,??insert方式下按ESC,可跳回command方式。

    escape方式:

    以“:”或者“/”为前导的指令,出现在屏幕的最下一行,任何输入都被当成特别指令。

    进入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 或者或者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行,

电脑资料

简单的介绍UNIX下的常用编辑工具VIWindows系统》(https://www.unjs.com)。

    或: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??????? 告诉用户有关现行编辑文件的数据。

    HopeCao 回复于:2002-11-07 22:42:00不错,不过我很少用到这么多命令!

    烦人 回复于:2002-11-08 00:00:14请教一下,怎么用vi删除一个文件中每行的第a个到第b个字符?

    RootZero 回复于:2002-11-08 00:36:45不错!!!!

    比我写的还要好!

    cctv666666 回复于:2002-11-09 22:23:13很不错很实用:)

    mzd73 回复于:2002-11-09 22:25:25[quote][b]下面引用由[u]烦人[/u]在 [i]2002/11/08 00:00am[/i] 发表的内容:[/b]

    请教一下,怎么用vi删除一个文件中每行的第a个到第b个字符?

    [/quote]

    查出从A到B共有几个字符,例如6个字符,输入6x,就可以了。

    xczgf 回复于:2002-11-10 10:18:51正是本人所需,非常不错.

    kesine 回复于:2002-11-10 12:33:33大家都利害啊

    dddhf 回复于:2002-12-07 08:38:10看了以后,感觉内容很好!

    我还要请教一下,怎么样显示行号,怎么样截取文件的一部分到另一个文件!

    谢谢!怎样取消行号。合并文件等!

    xlcc 回复于:2002-12-07 19:43:57VI基本上不用,我要编辑就直接去图型模式下。VI太麻烦

    c1l2d3 回复于:2002-12-07 20:14:58平时不用那么多,有几个就足够了,不过学学有用,先收了

   

    原文转自:http://www.ltesting.net

最新文章