<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,當時筆誤!  回復  更多評論
      


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


    網站導航:
     
    主站蜘蛛池模板: 69xx免费观看视频| 日韩人妻无码精品久久免费一| 国产一卡2卡3卡4卡2021免费观看 国产一卡2卡3卡4卡无卡免费视频 | 好吊妞788免费视频播放| 亚洲高清在线观看| 日韩人妻无码精品久久免费一| 亚洲AV无码成人专区片在线观看| 99re8这里有精品热视频免费| 亚洲中文字幕日产乱码高清app| 九九综合VA免费看| 在线播放亚洲第一字幕| 你懂的网址免费国产| 亚洲视频在线播放| 又粗又大又黑又长的免费视频| 国产成+人+综合+亚洲专| 成人无遮挡裸免费视频在线观看| 亚洲人成小说网站色| 在线观看国产情趣免费视频| 黄色一级视频免费| 国产亚洲?V无码?V男人的天堂 | 成年免费大片黄在线观看岛国| 亚洲国产视频一区| 男女交性永久免费视频播放| 国产综合成人亚洲区| 亚洲欭美日韩颜射在线二| 18禁美女裸体免费网站| 日韩亚洲国产综合高清| 亚洲国产综合人成综合网站| 伊人免费在线观看高清版| 亚洲精品福利在线观看| 日本免费一区二区三区最新| 久久九九免费高清视频| 亚洲欧洲日产国产最新| 国产一级理论免费版| 国产精品网站在线观看免费传媒| 亚洲精品福利网站| 精品国产亚洲男女在线线电影 | 在线免费观看亚洲| 国产传媒在线观看视频免费观看| 成在人线av无码免费高潮水| 亚洲嫩草影院在线观看|