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

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

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

    Sky's blog

    我和我追逐的夢

    常用鏈接

    統(tǒng)計(jì)

    其他鏈接

    友情鏈接

    最新評論

    vi常用命令

    用了vi兩年,因?yàn)椴挥胿i寫代碼作開發(fā),只是簡單的修改配置文件而已,因此,呵呵,兩年了還是一點(diǎn)不熟悉。最近因?yàn)楣疽笮枰獙W(xué)習(xí)在linux/unix上開發(fā)c/c++,只好努力學(xué)一下vi/vim了。

    找了一本書,O'Reilly的Learning The VI Editor,chm的電子版本,認(rèn)真地學(xué)了一遍,總結(jié)了一下常用命令:

    文件操作
    vi +n file?打開文件并移動(dòng)到第n行
    vi +? file?打開文件并移動(dòng)到最后一行
    vi R file / view file ?只讀打開文件
    :w??保存
    :w!??覆蓋已存在的文件文件
    :w newfile?保存為新文件
    :wq??保存并退出
    ZZ??保存并退出=:wq
    :q??退出
    :q!??退出不保存修改
    :e!??退回到上一次保存的狀態(tài)
    :1,10w newfile?將第一行到第10行保存為新文件
    :.,$w >> file?將當(dāng)前位置到結(jié)尾的內(nèi)容添加到別的文件
    :r file??讀取file文件的內(nèi)容

    移動(dòng)
    Numeric + h|j|k|l?執(zhí)行n次操作
    h??向左移動(dòng)(一個(gè)字符)
    j??向下移動(dòng)一行
    k??向上移動(dòng)一行
    l??向右移動(dòng)(一個(gè)字符)?
    e/E??移動(dòng)到單詞的末尾
    (/)??移動(dòng)到當(dāng)前(一下)句的開始
    {/}??移動(dòng)到當(dāng)前(一下)段的開始
    [[/]]??移動(dòng)到當(dāng)前(一下)部分的開始
    0??移動(dòng)到行首
    $??移動(dòng)到行末
    w??向后移動(dòng)一個(gè)文本塊
    W??向后移動(dòng)一個(gè)文本塊(忽略標(biāo)點(diǎn))
    b??向前移動(dòng)一個(gè)文本塊
    B??向前移動(dòng)一個(gè)文本塊(忽略標(biāo)點(diǎn))
    ^??移動(dòng)到當(dāng)前行的第一個(gè)非空白字符
    回車/+??移動(dòng)到下一行的開頭的第一個(gè)字符
    -??移動(dòng)到上一行的開頭的第一個(gè)字符
    CTRL-F??下翻一屏
    CTRL-B??上翻一屏
    CTRL-D??下翻半屏
    CTRL-U??下翻半屏
    z + 回車?將當(dāng)前行移到屏幕頂部
    z.??將當(dāng)前行移到屏幕中間
    z-??將當(dāng)前行移到屏幕底部
    CTRL-L/CTRL-R?重新刷新屏幕?
    H??移到屏幕的第一行
    nH??移到屏幕的第n行
    M??移到屏幕的中間
    L??移到屏幕的最后一行
    nL??移到屏幕的最后一行前的n行
    CTRL-L??顯示行信息
    G??移動(dòng)到文件的最后一行
    nG??移動(dòng)到文件的第n行
    ``??移動(dòng)到上一個(gè)位置

    編輯
    i??在當(dāng)前位置前插入
    I??在行首插入
    a??在當(dāng)前位置后添加
    A??在行末添加
    o??在當(dāng)前行下方新建一個(gè)空行開始插入
    O??在當(dāng)前行上方新建一個(gè)空行開始插入
    s??刪除當(dāng)前字符然后進(jìn)入插入狀態(tài)
    S??刪除當(dāng)前行然后進(jìn)入插入狀態(tài)
    cw??修改當(dāng)前詞語(刪除然后進(jìn)入插入狀態(tài))
    ?c2b?刪除前面兩個(gè)詞語?
    ?c$?刪除本行當(dāng)前位置后所有的內(nèi)容
    ?c0?刪除本行當(dāng)前位置前所有的內(nèi)容
    cc??修改當(dāng)前行(刪除然后進(jìn)入插入狀態(tài))
    r??替換當(dāng)前字符(還保持命令狀態(tài))
    R??連續(xù)替換(進(jìn)入替換狀態(tài))
    ~??修改當(dāng)前字符的大小寫
    J??連接兩行

    標(biāo)記
    mx??將當(dāng)前位置標(biāo)記為x
    'x??移動(dòng)到標(biāo)記為x的行
    `x??移動(dòng)到標(biāo)記為x的位置
    ``/''??在兩次位置間切換

    刪除
    dw??刪除一個(gè)單詞
    d2w??刪除兩個(gè)單詞
    dd??刪除當(dāng)前行
    d3d??刪除3行
    d0??刪除當(dāng)前行中在光標(biāo)前的所有內(nèi)容
    d$/D??刪除當(dāng)前行中在光標(biāo)后的所有內(nèi)容
    db??刪除前一個(gè)單詞
    x??刪除一個(gè)字符
    3x??刪除3個(gè)字符

    移動(dòng)
    p??粘貼
    xp??相當(dāng)于交換兩個(gè)字符的位置
    yw??復(fù)制一個(gè)單詞

    .??重復(fù)上一個(gè)操作
    .??取消上一個(gè)操作

    ?

    搜索
    /pattern?從前往后搜
    ?pattern?從后往前搜
    n/N??和上一詞搜索方向相同(相反)再搜
    fx/Fx??在同一行中查找下(上)一個(gè)x字符并移動(dòng)光標(biāo)

    替換
    :s/old/new?替換當(dāng)前行的第一個(gè)匹配
    :s/old/new/g?替換當(dāng)前行的全部匹配
    :1,100s/old/new/g?替換1-100行的全部匹配
    :1,$s/old/new/g?替換全部匹配=:%s/old/new/g
    :g/pattern/s/old/new/g?查找滿足pattern條件的行并進(jìn)行替換


    命令組合:
    Change?Delete?Copy?from Cursor to ...
    cH?dH?yH?top of screen
    cL?dL?yL?bottom of screen
    c+?d+?y+?next line
    c5|?d5|?y5|?column 5 of current line
    2c)?2d)?2y)?second sentence following
    c{?d{?y{?previous paragraph
    c/pattern d/pattern y/pattern pattern
    cn?dn?yn?next pattern
    cG?dG?yG?end of file
    c13G?d13G?y13G?line number 13
    (這里還是看書里面的原文吧。)

    posted on 2006-09-05 10:55 sky ao 閱讀(1258) 評論(0)  編輯  收藏 所屬分類: linux

    主站蜘蛛池模板: 久久精品国产亚洲AV不卡| 四虎最新永久免费视频| 国产美女无遮挡免费视频网站 | 亚洲综合色一区二区三区小说| 一级一看免费完整版毛片| 免费人成年激情视频在线观看 | a视频免费在线观看| 亚洲色WWW成人永久网址| 一级中文字幕乱码免费| 亚洲人成网站在线播放vr| 中文字幕无码免费久久| 中文字幕亚洲精品资源网| 日本zzzzwww大片免费| 亚洲AV无码一区二区三区人 | 亚洲国产精品美女久久久久| 国产在线观看免费完整版中文版| 美女一级毛片免费观看| 亚洲男人在线无码视频| 国产在线精品免费aaa片| 亚洲视频一区在线观看| 成人毛片免费观看| 羞羞网站在线免费观看| 亚洲精品无码不卡在线播HE| 91av在线免费视频| 亚洲综合在线一区二区三区| 免费va在线观看| 久久精品国产免费一区| 亚洲最大的黄色网| 免费h黄肉动漫在线观看| 久久免费精彩视频| 亚洲精品蜜夜内射| 国产aⅴ无码专区亚洲av麻豆 | a毛片基地免费全部视频| 国产亚洲视频在线观看网址| 亚洲欧洲自拍拍偷午夜色无码| 亚洲毛片免费观看| 国产精品亚洲lv粉色| 久久久亚洲精品国产| 四色在线精品免费观看| 热99RE久久精品这里都是精品免费| 亚洲国产精品成人久久久|