天天看點

vi常用指令總結

1. 打開檔案
   > vi  檔案       //該模式是指令模式

2. 尾行模式操作
   > :q             //該模式是“尾行模式”
   > :w             //儲存已經修改的文檔
   > :wq		//儲存并退出
   > :q!		//強行退出,不儲存修改
   > :/内容/		//查找指定内容,"n"會查找下一個,"N"會查找上一個
      //查找到文檔的最後,又會跑到文檔的開頭
   > :set number/nu     //給檔案每行内容設定編号
   > :set nonumber/nonu //取消編号設定
   > :%s/bin/abcd/      //替換所有行的bin内容為abcd
   > :s/bin/abcd/       //替換目前行首次出現的bin為abcd
   > :s/bin/abcd/g	//替換目前行所有的bin為abcd
   > :n			//光标跳轉到n行位置
   > /内容		//查找指定内容

3. 指令模式滑鼠移動
   字元移動
    上、下、左、右 鍵盤
    h(左)   j(下)   k(上)   l(右)

   單詞移動
    w : 下個單詞的首字母
    b : 本單詞或上個單詞的首字母
    e :  本單詞或下個單詞的尾字母

   行級移動     
    $  :  到達行尾
    0  :  數字0到達行首

   段落級移動   
    {  :  段落首部
    }  :  段落的尾部

   屏級移動     
    L  :  螢幕尾部(目前屏其作用,不會走到下一屏)
    H  :  螢幕首部

   文檔級移動
    G  :  文檔尾部
    1G :  文檔首行
    nG :  光标走到第n行

4. 指令模式删除文檔資訊
    字元級删除	x
    通用删除    
    d+光标移動距離
    d+$ 從目前位置删除到行尾
    d+0 從單前位置删除到行首
    d+w 删除單詞(包括單詞後邊的空格)

    d+} 删除到段落尾部(尾部空行有保留)
    d+{ 删除到段落的首部(首部上邊的空行也被删除,隻删除一行空白行)

    d+L  删除至螢幕尾部, 删除包括目前行
    d+H  删除至螢幕首部,删除包括目前行

    d+G  删除至文檔尾部,删除包括目前行
    d+1G 删除至文檔首部,删除包括目前行
    d+nG 删除至文檔的第n行,删除包括當期行和第n行

    dd   删除目前行
    n+dd  從目前行向下删除n行

5. 指令模式複制并粘貼
    yy    複制單行
    n+yy  複制n行
    y+光标移動距離    可以進行靈活複制  [該方式使用可以參考删除]   
    p     粘貼(光标所在位置的後邊開始粘貼,[光标所在行的後一行])

6. 删除的内容,也可以被粘貼,删除的内容被放到緩存裡邊,也可以提供粘貼服務

7. 在“指令模式”對操作進行撤銷
    u        //撤銷,向上會遞歸撤銷以往所有操作
    r+字元   //單個字元替換
    .        //點,重複執行上個指令
    J        //合并兩行