• AIX中vi编辑器使用


    3.1 vi 简介 
    vi 是 UNIX 世界里使用非常普遍的全屏幕文本编辑器,几乎任何一种UNIX系统都会提供这套软件。AIX当然也支持这种编辑器。熟悉DOS下的文本处理后,用户在开始接触vi时也许会感到它并不好用,然而一旦用户熟悉、掌握了vi ,就会发现它实在是一种功能强大、使用灵活方便的编辑器。

    UNIX 提供一系列的ex编辑器,包括ex,edit和vi。相对于全屏幕编辑器,现在可能很难想像如何使用ex,edit这种行列编辑器。 vi 的原意是“Visual”,它是一个立即反应的编辑程式,也就是说可以立刻看到操作结果。vi 必须控制整个终端屏幕的显示输出,而终端的种类有许多种,特性又不尽相同,所以 vi 有必要知道现在所使用的是哪一种终端。这是通过 TERM 这个环境变量来设定的。

    在命令行键入vi就可以进入vi的编辑环境。vi 有三种模式:命令模式、文本输入模式以及命令项模式。执行vi以后,会先进入命令模式,此时用户可输入各种子命令对行进行编辑,如删除行、拷贝行等。在文本输入模式下,用户可以修改一行的内容并添加新行。在命令模式下键入 i、I、a 、A或o等即可进入文本输入模式,键入ESC键即可返回命令模式。在命令项模式下,用户可以通过子命令输入更多的参数,如“/”子命令要求输入下一个查找项。用户使用ESC键返回命令模式。

    3.2 vi的进入与离开 
    vi可以在全屏幕方式下编辑一个或多个文件。如果在执行vi时没有指定文件名,则vi 命令会自动产生一个无名的空文件。如果指定的文件不存在,则vi将按指定的文件名创建一个新的文件。进入 vi 后屏幕左方会出现波浪符号,凡是列首有该符号就代表此列目前是空的。要离开 vi 可以在命令模式下键入 :q , :wq 命令则是存档后再离开(注意冒号)。注意vi并不锁住所编辑的文件,因此多个用户可能同时编辑一个文件,那么最后保存的文件版本将被保留。

    以下是vi 命令使用的一些选项及说明:

    -c command :在对文件进行编辑前,先执行command命令;

    -r filename :恢复文件filename;

    -R :以只读方式编辑文件;

    -y number :每屏只编辑number 行文本。

    3.3 vi 的文本输入模式 
    使用以下几种命令可以进入文本输入模式(用户在任何时候都可以按ESC键返回命令模式):

    新增 (append) :

    a :从光标所在位置之后开始输入文本

    A :从光标所在行尾开始输入文本

    插入 (insert) :

    i :从光标所在位置之前开始输入文本

    I :从光标所在行的第一个非空白字符前面开始输入文本

    开始 (open) :

    o :在光标所在行后插入一新行。

    O :在光标所在行前插入一新行。

    3.4 vi 基本编辑命令
    在 vi 里,输入跟编辑是两码事。编辑是在命令模式下操作的,先利用命令移动光标来定位要进行编辑的地方,然后才下命令做编辑。

    命令
    说明
    备注

    cc 或S
    修改一整行的文本

    C
    改变一行中光标所在位置之后的部分

    dd
    删除光标所在的列

    D
    删除一行中光标所在位置之后的部分

    dw 
    删除光标所在的单词

    J
    将下一行文本内容合并到本行行尾

    r
    修改光标所在字符,r 后接要修正的字符

    R
    修改本行内容

    s
    修改光标所在字符 

    u
    恢复上一次所做的修改 

    x
    删除光标所在字符

    X
    删除光标左侧字符

    ~
    改变光标所在字符的大小写

    .
    重复上一次的操作

    <<
    将当前行移到左边

    >>
    将当前行移到右边

    p
    将缓冲区的内容拷贝到光标所在行的下一行

    P
    将缓冲区的内容拷贝到光标所在行的上一行

    “ad
    将文本删除至缓冲区a

    “ap
    粘贴缓冲区a中的内容

    yy或Y
    将当前行存入缓冲区

    yw
    将光标所在的单词存入缓冲区

    0
    移动到光标所在列的最前面
    =[Home]


    移动到光标所在列的最后面
    =[End]

    [CTRL+d]
    向下半页
    =[PageDown]

    [CTRL+f]
    向下一页


    [CTRL+u]
    向上半页 


    [CTRL+b]
    向上一页
    =[PageUp]

    [CTRL+e]
    下滚一行

    [CTRL+y]
    上滚一行

    H
    移动到屏幕的第一行

    M
    移动到屏幕的中间

    L
    移动到屏幕的最后一行 

    b
    移动到上个小字的第一个字母 

    B
    移动到上个大字的第一个字母

    w
    移动到下个小字的第一个字母 

    W
    移动到下个大字的第一个字母 

    e
    移动到下个小字的最后一个字母

    E
    移动到下个大字的最后一个字母

    ^
    移动到光标所在列的第一个非空白字符

    n-
    减号移动到上一行的第一个非空白字符,前面加上数字可以指定移动到以上 n 行

    n+
    加号移动到下一行的第一个非空白字符,前面加上数字可以指定移动到以下 n 行

    nG
    直接用数字 n 加上 G 移动到第 n 行 

    fx
    往右移动到 x 字符上

    Fx
    往左移动到 x 字符上 

    tx
    往右移动到 x 字符前 

    Tx
    往左移动到 x 字符前

    ;
    配合 f&t 使用,重复一次

    ,
    配合 f&t 使用,反方向重复一次


    /string
    往右移动到有 string 的地方


    ?string
    往左移动到有 string 的地方

    n
    配合 /&? 使用,重复一次


    配合 /&? 使用,反方向重复一次

    %
    移到匹配的”()”或”{}”上

    n(
    左括号移动到句子的最前面,前面加上数字可以指定往前移动 n 个句子
    句子是以! . ? 三种符号来界定

    n)
    右括号移动到下个句子的最前面,前面加上数字可以指定往后移动 n 个句子
    段落是以段落间的空白列界定

    n{
    左括弧移动到段落的最前面,前面加上数字可以指定往前移动 n 个段落

    n}
    右括弧移动到下个段落的最前面,前面加上数字可以指定往后移动 n 个段落


    这些编辑命令非常有弹性,基本上可以说是由命令与范围所构成。例如 dw 是由删除指令d 与范围 w 所组成,代表删除一个字 d (elete) w (ord) 。命令列表如下:

    d 删除(delete)

    y 复制(yank)

    p 放置(put)

    c 修改(change)

    范围可以是下列几个:

    e 光标所在位置到该字的最后一个字母

    w 光标所在位置到下个字的第一个字母

    b 光标所在位置到上个字的第一个字母

    $ 光标所在位置到该行的最后一个字母

    0 光标所在位置到该行的第一个字母

    ) 光标所在位置到下个句子的第一个字母

    ( 光标所在位置到该句子的第一个字母

    } 光标所在位置到该段落的最后一个字母

    { 光标所在位置到该段落的第一个字母

    3.5 文件处理子命令 
    :q 结束编辑(quit)

    如果不想存档而要放弃编辑过的档案则用 :q! 强制离开。

    :w 存档(write)

    其后可加所要存档的档名。 可以将档案命令合在一起,例如 :wq 即存档后离开。

    zz 功能与 :wq 相同。

    :n 开始编辑vi激活的文件列表中的下一个文件。

    :n filename 指定被编辑的新的文件。

    :e filename 在vi中编辑另一个文件filename。

    :e # 开始编辑另一个文件。

    :e ! 重新装入当前文件,如果当前文件有改动,则丢弃以前的改动。

    :r filename 将文件filename合并至当前文件的文件尾。

    另外值得一提的是 vi 的部份存档功能。可以用 :n,m w filename 将第 n 行到第 m 行 的文字存放的所指定的 filename 里

    原文:http://winco304.blog.163.com/blog/static/9428389120093118121500/

  • 相关阅读:
    压测场景下的 TIME_WAIT 处理
    拥抱云原生,Fluid结合JindoFS :阿里云OSS加速利器
    从DHTML、HTC、XHTML到AJAX
    altas(ajax)控件(一):多功能面板控件Accordion
    fedora7 常用软件安装
    Fedora7安装后的配置
    .net程序员的盲点(六):StringBuilder 和 String 的区别
    .net程序员的盲点(五):告诉你一个不一样的new
    .net程序员的盲点(四):索引器Indexers
    员工究竟渴望学到的是什么?-(杂谈-20070816)
  • 原文地址:https://www.cnblogs.com/langtianya/p/6840970.html
Copyright © 2020-2023  润新知