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


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


    網站導航:
     
    主站蜘蛛池模板: 成人伊人亚洲人综合网站222| 7723日本高清完整版免费| 成人永久免费高清| 亚洲综合一区国产精品| 97性无码区免费| 亚洲白色白色永久观看| 嫩草在线视频www免费观看 | 久久久久亚洲AV无码去区首| 久久不见久久见中文字幕免费| 亚洲美女中文字幕| 91精品视频免费| 亚洲乱亚洲乱妇24p| 妞干网免费视频观看| 激情无码亚洲一区二区三区| 哒哒哒免费视频观看在线www| 亚洲天然素人无码专区| 日韩免费高清视频| 一级特级女人18毛片免费视频 | 国产精品久免费的黄网站| MM1313亚洲国产精品| 国产成人精品曰本亚洲79ren| 中文字幕免费观看视频| 亚洲欧洲日韩国产综合在线二区| 免费看又黄又无码的网站| 亚洲AV成人一区二区三区在线看| 日韩电影免费在线观看视频| 深夜A级毛片视频免费| 亚洲AV无码乱码国产麻豆| 黄色免费网站网址| www亚洲精品久久久乳| 亚洲日韩欧洲乱码AV夜夜摸| 91免费国产精品| 亚洲成a人无码亚洲成av无码| 亚洲人成电影在线播放| 最近2019免费中文字幕6| 亚洲日本va一区二区三区| 亚洲乱码国产一区网址| 久久这里只精品热免费99| 亚洲欧美日韩国产成人| 亚洲熟妇丰满多毛XXXX| 毛片免费观看的视频在线|