当前位置:  技术问答>linux和unix

在vi里边,怎样

    来源: 互联网  发布时间:2014-12-09

    本文导语:  在vi里边,怎样可以完成“寻找并替换”的功能?又怎样完成块的定义复制粘贴之类功能?——看了半天help, 没什么进展。   谢谢。 | d(delete)、c(change)和y(yank)这一类的指令在 vi 中的指令...

在vi里边,怎样可以完成“寻找并替换”的功能?又怎样完成块的定义复制粘贴之类功能?——看了半天help, 没什么进展。
  谢谢。

|
d(delete)、c(change)和y(yank)这一类的指令在 vi 中的指令格式为:
        Operator + Scope = command
        (运算子)   (范围)
        运算子:
        d       删除指令。删除资料,但会将删除资料复制到记忆体缓冲区。
        y       将资料(字组、行列、句子或段落)复制到缓冲区。
        p       放置(put)指令,与 d 和 y 配和使用。可将最後delete或yank的资
                料放置於游标所在位置之行列下。
        c       修改(change)指令,类似delete与insert的组和。删除一个字组、句
                子等之资料,并插入新键资料。

        范围:
        e       由游标所在位置至该字串的最後一个字元。
        w       由游标所在位置至下一个字串的第一个字元。
        b       由游标所在位置至前一个字串的第一个字元。
        $       由游标所在位置至该行的最後一个字元。
        0       由游标所在位置至该行的第一个字元。
        )       由游标所在位置至下一个句子的第一个字元。
        (       由游标所在位置至该句子的第一个字元。
        {       由游标所在位置至该段落的最後一个字元。
        }       由游标所在位置至该段落的第一个字元。

        整行动作
        dd      删除整行。
        D       以行为单位,删除游标後之所有字元。
        cc      修改整行的内容。
        yy      yank整行,使游标所在该行复制到记忆体缓冲区。

..删除与修改
        x       删除游标所在该字元。
        X       删除游标所在之前一字元。
        dd      删除游标所在该行。
        r       用接於此指令之後的字元取代(replace)游标所在字元。
                如: ra 将游标所在字元以 a 取代之。
        R       进入取代状态,直到《ESC》为止。
        s       删除游标所在之字元,并进入输入模式直到《ESC》。
        S       删除游标所在之该行资料,并进入输入模式直到《ESC》。

..搬移与复制
        利用 delete 及 put 指令可完成资料搬移之目的。
        利用 yank 及 put 指令可完成资料复制之目的。
        yank 和 delete 可将指定的资料复制到记忆体缓冲区,而藉由 put 指令
        可将缓冲区内的资料复制到萤幕上。
        例:
        搬移一行        .在该行执行 dd
                        .游标移至目的地
                        .执行 p
        复制一行        .在该行执行 yy
                        .游标移至目的地
                        .执行 p
删除、复制及搬移
        :10,20d                删除第10行至第20行的资料。
        :10d                   删除第10行的资料。
        :%d                    删除整个编辑缓冲区。
        :10,20co30             将第10行至第20行的资料复制至第30行之後。
        :10,20mo30             将第10行至第20行的资料搬移至第30行之後。

        字串搜寻与取代
        s(substitute)指令可搜寻某行列范围。
        g(global)指令则可搜寻整个编辑缓冲区的资料。
        s指令以第一个满足该条件的字串为其取代的对象,若该行有数个满足该条
        件的字串,也仅能取代第一个,若想取代所有的字串则需加上g参数。
        :1,$s/old/new/g                将档案中所有的『old』改成『new』。
        :10,20s/^/   /         将第10行至第20行资料的最前面插入5个空白。
        :%s/old/new/g          将编辑缓冲区中所有的『old』改成『new』。

|
beginline,endline s/findstr/replacestr/g

|
vi速成!直接写命令
[helloworld@root] vimtutor

|
up

|
内容比较详尽,其实全部的东西都在帮助里,随时都可以查。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。














站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3