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

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

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

    邋遢居

    我的Java天堂

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      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是一個非常老且很強的的命令。我只想通過一些例子來演示他的用法。希望對被人有用。

    “:g”的概述

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

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

     

    今后會不斷更新……

     

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

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

    一會來分析

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

    Feedback

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

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

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

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


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


    網站導航:
     
    主站蜘蛛池模板: 91免费精品国自产拍在线不卡| 永久免费看bbb| 亚洲午夜精品在线| 日韩激情淫片免费看| 一区二区免费国产在线观看| 亚洲成AV人片天堂网无码| 在线看片免费人成视久网| 亚洲精品国产suv一区88 | 99re8这里有精品热视频免费| 亚洲高清在线观看| 麻豆成人精品国产免费| 国产无遮挡又黄又爽免费网站| 国产免费av片在线播放| 日本卡1卡2卡三卡免费| 亚洲Aⅴ在线无码播放毛片一线天 亚洲avav天堂av在线网毛片 | 在线看无码的免费网站| 国产精品亚洲一区二区无码 | 无码一区二区三区亚洲人妻| 国产亚洲真人做受在线观看| 成人毛片18女人毛片免费视频未| 中国一级毛片免费看视频| 亚洲偷自精品三十六区| 亚洲综合另类小说色区| 午夜免费福利影院| 91视频免费网址| 一个人看的免费视频www在线高清动漫 | 四虎影视无码永久免费| 亚洲熟女精品中文字幕| 亚洲av无码专区国产乱码在线观看 | 精品久久久久久久久免费影院| 国产免费黄色无码视频| 亚洲日韩看片无码电影| 亚洲午夜视频在线观看| 美腿丝袜亚洲综合| 国产精品二区三区免费播放心| 日本免费一区二区三区四区五六区| 有色视频在线观看免费高清在线直播| 国产成人亚洲合集青青草原精品| 亚洲国产美国国产综合一区二区| 婷婷综合缴情亚洲狠狠尤物| 成人无遮挡裸免费视频在线观看 |