<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    邋遢居

    我的Java天堂

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      61 Posts :: 2 Stories :: 90 Comments :: 0 Trackbacks

    刪除空行

    g/^\s*$/d                  : delete all blank lines

     

    這個里面使用了“:g”命令,Google了一下,找到了如下描述:

    :g is something very old and which is very powerful. I just wanted to illustrate the use of it
    with some examples. Hope, it will be useful for someone.
    Brief explanation for ":g"
    -------------------------
    Syntax is:
        :[range]:g/<pattern>/[cmd]
    You can think the working as, for the range (default whole file), execute
    the colon command(ex) "cmd" for the lines matching <pattern>. Also, for all
    lines that matched the pattern, "." is set to that particular line (for
    certain commands if line is not specified "." (current line) is assumed).
    Some examples
    -------------
    Display context (5 lines) for all occurences of a pattern
        :g/<pattern>/z#.5
        :g/<pattern>/z#.5|echo "=========="
        << same as first, but with some beautification >>
    Delete all lines matching a pattern
        :g/<pattern>/d
    Delete all blank lines (just an example for above)
        :g/^\s*$/d
    Double space the file
        :g/^/pu =\"\n\"
        :g/^/pu _
        << the above one also works >>
    Copy all lines matching a pattern to end of file
        :g/<pattern>/t$
    Yank all lines matching a pattern to register 'a'
        0"ay0:g/<pattern>/y A
    Increment the number items from current line to end-of-document by one
        :.,$g/^\d/exe "normal! \<c-a>"
    Comment (C) lines containing "DEBUG" statements
        g/^\s*DEBUG/exe "norm! I/* \<Esc>A */\<Esc>"
    A Reverse lookup for records
    (eg: An address book, with Name on start-of-line and fields after a space)
        :g/<patern>?^\w?p               "if only name is interested
        :g/<patern>/ka|?^\w?p|'ap       "if name and the lookup-line is interested
        :g/<patern>/?^\w?|+,/^[^ ]/-1p  "if entire record is interested
    Reverse a file (just to show the power of 'g')
        :g/^/m0
    Foot note 1: use :v to negate the search pattern
    Foot note 2: Some explanation of commonly used commands with :g
    :2,8co15 => Copy lines 2 through 8 after line 15
    :4,15t$  => Copy linesa 4 through 15 towards end of document (t == co)
        :-t$  => Copy previous line to end of document
         :m0  => Move current line to the top of the document
    :.,+3m$-1 => Move current line through cur-line+3 to the last but one line
                 of the document
    Foot note 3: Commands used with :g are ex commands, so a help search should
                 be,
                    :help :<help-topic>
                    eg. :help :k

    嘗試翻譯如下

    :g是一個非常老且很強(qiáng)的的命令。我只想通過一些例子來演示他的用法。希望對被人有用。

    “:g”的概述

             語法::[rang]:g/<pattern>/[cmd]

    你可以認(rèn)為他是這么工作,在特定的范圍內(nèi)([rang]確定,默認(rèn)是整個文件)。他逐行逐行的用<pattern>去匹配,如果匹配成功就執(zhí)行 冒號命令 (“cmd”來指定)。另外,如果<pattern>匹配所有行,那么只有對當(dāng)前行執(zhí)行 冒號命令。

     

    今后會不斷更新……

     

    --------------------------

    :%s/^\(.*\)\n\1/\1$/        : 刪除重復(fù)行 # 非貪婪匹配,\{-}

    一會來分析

    posted on 2008-05-28 10:55 Jet Geng 閱讀(2481) 評論(3)  編輯  收藏

    Feedback

    # re: GVIM使用技巧匯集 2008-06-10 10:08 hamburger
    最近在做一些文字處理碰到這樣一個需求,為sql的insert語句增加一個排序Column,值當(dāng)然就是1,2,3...了,目前只會一個尷尬的做法:

    :g/table_name/s/);/,999);/ );是每個Sql的結(jié)尾
    :let i=0 | g:/table_name/s/999/\=i | let i=i+1
    不熟悉vim的語法,能不能一下子做到呢?
    ps:我試了一下\=i后面可以用.abc來增加額外的內(nèi)容。
    我的郵箱hamburgerwang(a)gmail.com  回復(fù)  更多評論
      

    # re: GVIM使用技巧匯集[未登錄] 2012-07-27 15:59 lee
    :let i=0 | g:/table_name/s/999/\=i | let i=i+1
    這個語句有點(diǎn)問題
    我用這個成功了
    :let i=0 | g/table_name/s/999/\=i/ | let i=i+1  回復(fù)  更多評論
      

    # re: GVIM使用技巧匯集[未登錄] 2012-08-01 09:33 jet
    謝謝lee,當(dāng)時筆誤!  回復(fù)  更多評論
      


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲国产成人久久精品大牛影视| 国产亚洲一卡2卡3卡4卡新区| 免费专区丝袜脚调教视频| 在线亚洲高清揄拍自拍一品区| 免费一级国产生活片| 久草视频在线免费看| 亚洲综合色一区二区三区| 丝袜熟女国偷自产中文字幕亚洲| 三年片在线观看免费观看大全动漫| 亚洲乱人伦中文字幕无码| 77777亚洲午夜久久多人| 在线观看AV片永久免费| 精品一区二区三区免费视频| 亚洲另类精品xxxx人妖| 在线观看亚洲天天一三视| 免费在线观看的网站| 日韩av无码免费播放| 亚洲αⅴ无码乱码在线观看性色| 日韩亚洲人成在线综合日本| 日本特黄特黄刺激大片免费| 中文字幕在线观看免费视频| 日韩久久无码免费毛片软件| 亚洲国产精品一区二区久| 久久精品国产亚洲沈樵| 伊人久久亚洲综合影院| 免费观看激色视频网站bd| 中文在线观看免费网站| 国产精品亚洲专区无码WEB| 亚洲狠狠ady亚洲精品大秀| 亚洲区小说区激情区图片区| 国产又大又长又粗又硬的免费视频| 97在线视频免费播放| 97国免费在线视频| 猫咪免费人成在线网站| 亚洲国产成人手机在线观看| 亚洲成a人片在线观看播放| 亚洲AV综合色区无码一区 | 国产亚洲午夜高清国产拍精品| 成全高清视频免费观看| 国产精品入口麻豆免费观看| 日本三级在线观看免费|