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

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

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

    隨筆 - 100  文章 - 50  trackbacks - 0
    <2015年1月>
    28293031123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    收藏夾

    我收藏的一些文章!

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    VI是Linux/Unix下標配的一個純字符界面的文本編輯器。由于不支持鼠標功能,也沒有圖形界面,相關的操作都要通過鍵盤指令來完成,需要記憶大量命令。因此很多人不大喜歡它,但同時由于鍵盤的方式往往比鼠標來得快,一旦熟練后用起來是有種非常流暢的感覺的,也有人因此而非常喜歡它。

    不管你喜歡也好,不喜歡也好,VI是Linux的標配編輯器,很多時候你也只有這一個編輯器可用,如果要做一個Linux Coder,熟悉VI還是非常有必要的。

    PS:由于VI的命令非常多,本文主要只介紹一些基礎命令。并且就算是這些基礎命令中,也有許多是不大常用的,我就把這些命令以灰色文字顯示了,初學者可以不用太關注這些灰色命令。

     

    兩種工作模式

    前面已經說過,由于VI沒有圖形界面,如翻頁、移動光標、保存、退出等操作都必須借助鍵盤來完成。另外,VI還提供了大量快捷鍵來加速操作,因此,VI統的編輯模式下,還引入了一種新的工作模式——命令模式。

    • 編輯模式: 在此模式下,輸入可見字符時和傳統Windows環境下輸入字符的功能相同。按Esc鍵可切換值命令模式。
    • 命令模式: 在此模式下,輸入的可見字符對應的是命令。當插入命令執行后進入編輯模式。

    PS:有的文章中還列舉了一種Last Line模式,這個可以算作一種特殊的命令模式,只不過命令會顯示在最后一行,并且需要敲回車才能執行。這些命令通常以 :/?$ 等特殊字符開頭。

    模式查詢:要判斷當前處于那種模式,可以通過最后一行(狀態欄)來判斷:如果處于編輯模式,則顯示為如下兩種狀態。

                

    模式間的切換:在編輯模式下,通過Esc鍵可以進入命令模式;命令模式下,執行某些插入命令后進入編輯模式。如果你不知道當前處于那種模式下,按ESC進入命令模式按Insert進入編輯模式

     

    啟動VI

    VI的啟動參數有不少,但通常的使用方式如下:vi filename

    如果參數中的文件存在,則打開該文件,如果參數中的文件不存在,則會新建該文件(不是立即創建,而是在保存的時候創建)。

     

    插入文本

    剛進入VI時,是出于命令模式的,這是是無法輸入文本的,因此需要進入插入模式。進入插入模式的命令有如下幾個:

    • i    從目前光標所在之處插入文字
    • a    從目前光標所在下一個字符插入文字
    • o    往下插入一個空行
    • O    往上插入一個空行

    輸入這幾個命令后,就進入了編輯模式,可以通過屏幕下方最后一行看到當前為插入狀態:

        

    可以通過Insert鍵切換插入狀態和改寫狀態(和圖像界面中一樣)。

        

    另外,在命令模式下,也可以通過Insert鍵進入編輯模式(插入狀態),不過通常還是前面介紹的四個命令來進入編輯模式。

     

    離開和保存文件

    在VI中,離開和保存文件對應的命令有這幾個(使用前記得進入命令模式):

    • :w            保存
    • :w filename     另存為
    • :wq            保存并退出 [常用]
    • :q!            強制退出
    • SHIFT+zz        保存并退出,功能同:wq [常用]

     

    移動光標

    在VI中,移動光標并不是我們游戲中常用的WASD,而是hjkl,分別控制光標左、下、上、右移一格,分別分布在右手四個指頭,新手需要一段時間來適應。使用非常頻繁,需要熟練掌握。

    其它一些光標控制命令如下:

    • Ctrl+B:屏幕往后移動一頁。
    • Ctrl+F:屏幕往前移動一頁。
    • Ctrl+U:屏幕往后移動半頁。
    • Ctrl+D:屏幕往前移動半頁。
    • gg:移動文章的開頭。
    • G:移動到文章的最后。
    • w:光標跳到下個word的開頭。
    • e:光標跳到下個word的字尾。
    • b:光標回到上個word的開頭。
    • $:移到光標所在行的行尾。
    • ^:移到該行第一個非空白的字符。
    • 0:移到該行的開頭位置。
    • #:移到該行的第#個位置,例:51、121。

    另外,還有幾個行操作相關命令集中介紹一下

    • :set nu        顯示行號
    • :set nonu        隱藏行號
    • :#            移動到第#行,如:15
    • Ctrl+G:     在狀態欄顯示當前進度
    • #G:        移動到第#行,例:15G

     

    刪除文字

    • x:刪除光標所在位置的后面一個字符。
    • #x:例如,6x 表刪除光標所在位置的后面6個字符。
    • X:大字的X,每按一次刪除光標所在位置的前面一個字符。
    • #X:例如,20X 表刪除光標所在位置的前面20個字符。
    • dd:刪除光標所在行。
    • #dd:例如,6dd表刪除從光標所在的該行往下數6行之文字。

     

    復制粘貼

    我個人并不是很習慣VI提供的復制粘貼,由于沒有高亮選中,用起來感覺不是很方便。平時大都是用的終端工具的復制粘貼功能,因此這里的命令我都加灰了,感興趣的可以看看。

    • yw:將光標所在處到字尾的字符復制到緩沖區中。
    • p:將緩沖區內的字符粘貼到光標所在位置(指令'yw'與'p必須搭配使用)。
    • yy:復制光標所在行。[超常用]
    • p:復制單行到您想粘貼之處。(指令'yy'與'p'必須搭配使用)
    • #yy:如:6yy表示拷貝從光標所在的該行往下數6行之文字。[常用]
    • p: 復制多行到您想粘貼之處。(指令'#yy'與'p'必須搭配使用)
    • ayy:將復制行放入buffer a, vi提供buffer功能,可將常用的數據存在buffer
    • ap:將放在buffer a的數據粘貼。
    • b3yy:將三行數據存入buffer b。
    • b3p:將存在buffer b的資料粘貼

     

    撤銷和重做

    撤銷和重做在任何編輯器里都是非常有用的命令:

    • u:假如您誤操作一個指令,可以馬上按u,回復到上一個操作。
    • .: 重復執行上一次的指令

     

    查找和替換

    查找和替換的語法筆記復雜,先簡單的介紹一下查找的語法:

    • /pattern<Enter> :向下查找pattern匹配字符串
    • ?pattern<Enter> :向上查找pattern匹配字符串

    使用了查找命令之后,使用如下兩個鍵快速查找:

    • n:按照同一方向繼續查找
    • N:按照反方向查找

    至于替換的語法,限于篇幅所限,這里就不介紹了,給一個鏈接供大家參考一下:http://blog.csdn.net/lanxinju/article/details/5731843

     

    VI對編程的支持

    VI對編程還是提供了一定的支持的。例如,它是支持括號配對、語法高亮顯示的。

    不過,由于并不支持語法解析功能,作為編碼工具和專業的代碼編輯器如SourceInsight、VisualStudio等比起來還是有很大差距的。個人感覺做小型項目和臨時修改代碼用還行,但做大型項目是有點力不從心的。

    posted on 2015-01-27 10:07 fly 閱讀(132) 評論(0)  編輯  收藏 所屬分類: Linux學習

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


    網站導航:
     
    主站蜘蛛池模板: 看成年女人免费午夜视频| 无码一区二区三区AV免费| 日韩免费码中文在线观看| 日韩视频在线精品视频免费观看 | 亚洲国产精品18久久久久久| 久久永久免费人妻精品下载| 亚洲国产成人爱av在线播放| 亚洲中文字幕精品久久| 日韩精品无码专区免费播放| 国产午夜免费秋霞影院| 亚洲免费综合色在线视频| 日本高清免费网站| 免费国产黄网站在线看| 亚洲午夜福利精品无码| 国产精品成人69XXX免费视频| 亚洲人成精品久久久久| 香蕉成人免费看片视频app下载| 亚洲精品视频专区| 亚洲免费一级视频| 久久精品国产亚洲av麻豆图片 | 97在线视频免费公开观看| 久久亚洲精品无码AV红樱桃| 久草在视频免费福利| 视频一区二区三区免费观看| 国产国拍精品亚洲AV片| 国产成人免费在线| 亚洲GV天堂无码男同在线观看| 国产又大又长又粗又硬的免费视频| 深夜a级毛片免费视频| 亚洲一区爱区精品无码| 午夜不卡AV免费| 久久亚洲AV成人无码软件| 成人免费视频国产| 30岁的女人韩剧免费观看| 国产亚洲视频在线| 亚洲黄色高清视频| 亚洲精品成人在线| 暖暖免费高清日本中文| 日本免费一区二区久久人人澡| 亚洲自偷自偷偷色无码中文| 91视频国产免费|