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

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

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

    posts - 108,comments - 56,trackbacks - 0
       Vi是“Visual interface”的簡(jiǎn)稱,它在Linux上的地位就仿佛Edit程序在Dos上一樣。它可以執(zhí)行輸出、刪除、查找、替換、塊操作等眾多文本操作,而且用戶可以根據(jù)自己的需要對(duì)其進(jìn)行定制,這是其他編輯程序所沒有的。
     
       Vi不是一個(gè)排版程序,它不象Word或WPS那樣可以對(duì)字體、格式、段落等其他屬性進(jìn)行編排,它只是一個(gè)文本編輯程序。
     
       Vi沒有菜單,只有命令,且命令繁多。Vi有三種基本工作模式:命令行模式、文本輸入模式和末行模式。
     
       命令行模式 (command mode/一般模式)
       任何時(shí)候,不管用戶處于何種模式,只要按一下鍵,即可使Vi進(jìn)入命令行模式;我們?cè)趕hell環(huán)境(提示符為$)下輸入啟動(dòng)Vi命令,進(jìn)入編輯器時(shí),也是處于該模式下。 
       在該模式下,用戶可以輸入各種合法的Vi命令,用于管理自己的文檔。此時(shí)從鍵盤上輸入的任何字符都被當(dāng)做編輯命令來(lái)解釋,若輸入的字符是合法的Vi命令,則Vi在接受用戶命令之后完成相應(yīng)的動(dòng)作。但需注意的是,所輸入的命令并不在屏幕上顯示出來(lái)。若輸入的字符不是Vi的合法命令,Vi會(huì)響鈴報(bào)警。
     
       文本輸入模式 (input mode/編輯模式)
       在命令模式下輸入插入命令i、附加命令a 、打開命令o、修改命令c、取代命令r或替換命令s都可以進(jìn)入文本輸入模式。在該模式下,用戶輸入的任何字符都被Vi當(dāng)做文件內(nèi)容保存起來(lái),并將其顯示在屏幕上。在文本輸入過程中,若想回到命令模式下,按鍵即可。 

       末行模式 (last line mode/指令列命令模式)
       末行模式也稱ex轉(zhuǎn)義模式。 
       Vi和Ex編輯器的功能是相同的,二者主要區(qū)別是用戶界面。在Vi中,命令通常是單個(gè)鍵,例如i、a、o等;而在Ex中,命令是以按回車鍵結(jié)束的正文行。Vi有一個(gè)專門的“轉(zhuǎn)義”命令,可訪問很多面向行的Ex命令。在命令模式下,用戶按“:”鍵即可進(jìn)入末行模式下,此時(shí)Vi會(huì)在顯示窗口的最后一行(通常也是屏幕的最后一行)顯示一個(gè)“:”作為末行模式的提示符,等待用戶輸入命令。多數(shù)文件管理命令都是在此模式下執(zhí)行的(如把編輯緩沖區(qū)的內(nèi)容寫到文件中等)。末行命令執(zhí)行完后,Vi自動(dòng)回到命令模式。

       一、由一般模式轉(zhuǎn)到輸入模式的命令
       1〉光標(biāo)移動(dòng)命令
    0 移動(dòng)到光標(biāo)所在列的最前面[Home]
    $ 移動(dòng)到光標(biāo)所在列的最後面[
    End]
    [CTRL][d] 向下半頁(yè)
    [CTRL][f] 向下一頁(yè)[PageDown]
    [CTRL][u] 向上半頁(yè)
    [CTRL][b] 向上一頁(yè)[PageUp] 
    H移動(dòng)到視窗的第一列
    M移動(dòng)到視窗的中間列
    L移動(dòng)到視窗的最后列
    G移動(dòng)到文件最后列
    nG直接用數(shù)字 n 加上大寫 G 移動(dòng)到第 n 行 (等同于命令“:n”) 
    fx往右移動(dòng)到 x 字符上
    tx往右移動(dòng)到 x 字符前
    shift 
    +g 跳到文件尾 (等同于G)
    gg 跳到文件頭
    xp 交換兩個(gè)字符位置
    ddp 上下兩行調(diào)換
    [ 移到文件開始位置
    ] 移到文件結(jié)束位置
    nk向上移n行
    n↑向上移n行
    n-向上移n行,光標(biāo)在該行的起始
    ni  向下移n行
    n+向下移n行,光標(biāo)在該行的起始
    n↓向下移動(dòng)n行
    w  向前移動(dòng)一個(gè)word
    nw  向前移動(dòng)n個(gè)word
    →  向右移動(dòng)一個(gè)字符【l】
    ←  向左移動(dòng)一個(gè)字符【h】
    ↑  向上移動(dòng)一行【k】
    ↓  向下移動(dòng)一行【j】

       2〉刪除操作命令
    x 刪除光標(biāo)所在的字符【delete】
    dw 刪除光標(biāo)所在的單詞
    d $ 刪除光標(biāo)至行尾的所有字符
    /d d 同/d d $
    dd 刪除當(dāng)前行
    dnd 刪除當(dāng)前n行
    dG  刪除當(dāng)前行到最后一行
    可在刪除命令前加上數(shù)字,如
    <5x表示刪除5行。

       3〉改變與替換操作命令
    r 替換光標(biāo)所在的字符
    /rr 替換字符序列
    c $ 替換自光標(biāo)位置至行尾的所有字符
    cl 修改當(dāng)前字符
    cc 修改當(dāng)前行
    c$ 修改到行尾的內(nèi)容
    :%s#abc#123#g 將文中的所有abc都替換為123
    ddp  上下兩行交換(其實(shí)是先dd,然后執(zhí)行p)

       4〉查詢命令
    /string 往前搜索string【支持正則】
    n 查找下一個(gè)
    ?string  往后搜索string
    /+
    上下箭頭 搜索歷史
    :
    +上下箭頭 :命令的歷史
    * 往前查找當(dāng)前word,前提是光標(biāo)移動(dòng)到要查找的word
    # 往后查找當(dāng)前word,前提是光標(biāo)移動(dòng)到要查找的word
    /\<word\> 只匹配word,不匹配wordstr等等
    %  查找匹配的括號(hào),前提是光標(biāo)要在一邊的括號(hào)上
    fx  在當(dāng)前行移動(dòng)到下一個(gè)字符x

       5〉拷貝與粘貼命令
    yw 將光標(biāo)所在單詞拷入剪貼板
    y$ 將光標(biāo)至行尾的字符拷入剪貼板
    Y 同
    yy 將當(dāng)前行拷入剪貼板
    yny  將當(dāng)前n行拷入剪貼板
    p 將剪貼板中的內(nèi)容粘貼在光標(biāo)后
    P 將剪貼板中的內(nèi)容粘貼在光標(biāo)前

       6〉文件編輯、保存及退出vi命令
    :q 不保存退出
    :q! 不保存強(qiáng)制性退出
    :w 保存編輯
    :w filename 存入文件filename中
    :w! filename 強(qiáng)制性存入文件filename中
    :wq 
    / :x / ZZ 保存退出
    :wq!  強(qiáng)制保存然后退出

       7〉其他命令
    :args  顯示當(dāng)前文件名
    u   撤銷,相當(dāng)于Ctrl+z
    U   一次撤銷一行的所有操作
    Ctrl+R  重做
    :help  查看所有幫助
    :help  0  查看關(guān)于0的幫助
    ZZ  退出幫助,回到編輯模式 
    Ctrl+G  知道【文件名  是否修改  當(dāng)前第一行  前面所占行的百分比】
    Ctrl+v  選擇一個(gè)塊
    :set number  顯示行號(hào)
    :set nonumber  不顯示行號(hào)
    :set rule  顯示光標(biāo)位置
    :set ignorecase  搜索不區(qū)分大小寫
    :set noignorecase 搜索區(qū)分大小寫
    :ab string string 提示(比如:ab abc abcdefg,當(dāng)輸入abc然后輸入空格,abc自動(dòng)變?yōu)閍bcdefg)
    :new filename 打開或新建文件,如果不指定文件名或者文件名不存在則是新建文件。
    :set ruler 打開光標(biāo)的行列位置顯示功能
    :set shiftwidth=4 設(shè)置自動(dòng)縮進(jìn)格數(shù)
    :set autoindent 打開自動(dòng)縮進(jìn)功能
    :set paste 粘貼的時(shí)候關(guān)閉自動(dòng)縮進(jìn)
    :set nopaste 粘貼的時(shí)候打開自動(dòng)縮進(jìn)

       三、進(jìn)入vi的命令
    vi filename: 打開或新建文件,并將光標(biāo)置于第一行首 
    vi 
    +n filename: 打開文件,并將光標(biāo)置于第n行首 
    vi 
    + filename: 打開文件,并將光標(biāo)置于最后一行首 
    vi 
    +/pattern filename: 打開文件,并將光標(biāo)置于第一個(gè)與pattern匹配的串處 
    vi 
    -r filename: 在上次正用vi編輯時(shí)發(fā)生系統(tǒng)崩潰,恢復(fù)filename 
    vi filename.filename: 打開多個(gè)文件,依次進(jìn)行編輯
    vi + /word filename:進(jìn)入vi并且由文件的word這個(gè)字開始

        注意:Ctrl+S在Linux下是停止顯示終端的輸出,這個(gè)時(shí)候屏幕就像定住了一樣,終端不會(huì)繼續(xù)輸出,也不會(huì)響應(yīng)你的輸入,需要按一下 Ctrl-Q 即可恢復(fù)輸入。

        命令大多了,還是看文檔。
    posted on 2007-09-06 11:33 破繭而出 閱讀(12891) 評(píng)論(1)  編輯  收藏 所屬分類: Linux

    FeedBack:
    # re: VI/VIM常用命令[未登錄]
    2013-04-27 14:34 | Alan
    有幫助。
    謝謝博主。  回復(fù)  更多評(píng)論
      

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲无砖砖区免费| 亚洲成在人线aⅴ免费毛片| 亚洲暴爽av人人爽日日碰| 亚洲av综合av一区| 亚洲国产一成久久精品国产成人综合 | 偷自拍亚洲视频在线观看99| 亚洲精品国产成人专区| 亚洲国产专区一区| 国产福利免费在线观看| 亚洲三级高清免费| 91在线老王精品免费播放| 久久久精品午夜免费不卡| 亚洲免费视频一区二区三区| 国产精品亚洲一区二区三区久久 | 欧洲乱码伦视频免费国产| 亚洲人成自拍网站在线观看| 亚洲乱码日产精品BD在线观看| 亚洲第一中文字幕| 自拍偷自拍亚洲精品被多人伦好爽| 国产三级免费观看| 精品久久久久久久免费加勒比| 成人免费a级毛片| 综合在线免费视频| 国产高清免费视频| 2020因为爱你带字幕免费观看全集| 久久伊人免费视频| 久久久高清日本道免费观看| 精品免费视在线观看| 中国一级毛片免费看视频| 一个人看的在线免费视频| 免费A级毛片无码A| 国产成人无码区免费A∨视频网站| 久久久久国色AV免费看图片| 18国产精品白浆在线观看免费| 18禁无遮挡无码国产免费网站| 8888四色奇米在线观看免费看| 精品无码国产污污污免费网站 | 国产男女猛烈无遮挡免费网站| 日韩中文无码有码免费视频| 波多野结衣久久高清免费| 国产精品国产自线拍免费软件|