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


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


    網站導航:
     
    主站蜘蛛池模板: 亚洲一级特黄无码片| 24小时日本在线www免费的| 亚洲中文字幕无码一区| 成年网在线观看免费观看网址| 日韩高清在线高清免费| 亚洲性色AV日韩在线观看 | 免费国产成人午夜在线观看| 国产亚洲精品岁国产微拍精品| a级大片免费观看| 亚洲AV中文无码乱人伦下载| 91高清免费国产自产拍2021| 亚洲精品网站在线观看你懂的| 69视频在线观看免费| 亚洲一级大黄大色毛片| 在线免费视频一区二区| 国产精品成人亚洲| 国产成人精品日本亚洲专区 | 999任你躁在线精品免费不卡| 亚洲伊人tv综合网色| 久九九精品免费视频| 亚洲色大成网站www尤物| 亚洲成A人片在线观看中文| 久久免费视频网站| 亚洲国产电影在线观看| 在线a毛片免费视频观看| 无套内谢孕妇毛片免费看看| 亚洲小说区图片区另类春色| 9420免费高清在线视频| 亚洲国产成人手机在线观看| 亚洲熟伦熟女新五十路熟妇 | 国产偷伦视频免费观看| 亚洲AV综合色区无码二区爱AV| 欧洲精品免费一区二区三区 | 亚洲国产综合精品中文第一| 四虎影视在线永久免费看黄| 91在线免费观看| 亚洲人成电影网站久久| 亚洲综合精品网站在线观看| 老汉精品免费AV在线播放| 亚洲国产午夜精品理论片在线播放 | 亚洲午夜在线播放|