vi是linux/unix下標配的乙個純字元介面的文字編輯器。由於不支援滑鼠功能,也沒有圖形介面,相關的操作都要通過鍵盤指令來完成,需要記憶大量命令。因此很多人不大喜歡它,但同時由於鍵盤的方式往往比滑鼠來得快,一旦熟練後用起來是有種非常流暢的感覺的,也有人因此而非常喜歡它。
不管你喜歡也好,不喜歡也好,vi是linux的標配編輯器,很多時候你也只有這乙個編輯器可用,如果要做乙個linux coder,熟悉vi還是非常有必要的。
ps:由於vi的命令非常多,本文主要只介紹一些基礎命令。並且就算是這些基礎命令中,也有許多是不大常用的,我就把這些命令以灰色文字顯示了,初學者可以不用太關注這些灰色命令。
兩種工作模式
前面已經說過,由於vi沒有圖形介面,如翻頁、移動游標、儲存、退出等操作都必須借助鍵盤來完成。另外,vi還提供了大量快捷鍵來加速操作,因此,vi統的編輯模式下,還引入了一種新的工作模式——命令模式。
ps:有的文章中還列舉了一種last line模式,這個可以算作一種特殊的命令模式,只不過命令會顯示在最後一行,並且需要敲回車才能執行。這些命令通常以 :/?$ 等特殊字元開頭。
模式查詢:要判斷當前處於那種模式,可以通過最後一行(狀態列)來判斷:如果處於編輯模式,則顯示為如下兩種狀態。
模式間的切換:
在編輯模式下,通過esc鍵可以進入命令模式;命令模式下,執行某些插入命令後進入編輯模式。如果你不知道當前處於那種模式下,
按esc進入命令模式
,按insert進入編輯模式。
啟動vi
vi的啟動引數有不少,但通常的使用方式如下:vi filename
如果引數中的檔案存在,則開啟該檔案,如果引數中的檔案不存在,則會新建該檔案(不是立即建立,而是在儲存的時候建立)。
另外,在命令模式下,也可以通過insert鍵進入編輯模式(插入狀態),不過通常還是前面介紹的四個命令來進入編輯模式。
插入文字
剛進入vi時,是出於命令模式的,這是是無法輸入文字的,因此需要進入插入模式。進入插入模式的命令有如下幾個:
輸入這幾個命令後,就進入了編輯模式,可以通過螢幕下方最後一行看到當前為插入狀態:
可以通過insert鍵切換插入狀態和改寫狀態(和影象介面中一樣)。
另外,在命令模式下,也可以通過insert鍵進入編輯模式(插入狀態),不過通常還是前面介紹的四個命令來進入編輯模式。
離開和儲存檔案
在vi中,離開和儲存檔案對應的命令有這幾個(使用前記得進入命令模式):
移動游標
在vi中,移動游標並不是我們遊戲中常用的wasd,而是h、j
、k、l
,分別控制游標左、下、上、右移一格
,分別分布在右手四個指頭,新手需要一段時間來適應。使用非常頻繁,需要熟練掌握。
其它一些游標控制命令如下:
另外,還有幾個行操作相關命令集中介紹一下
刪除文字
複製貼上
我個人並不是很習慣vi提供的複製貼上,由於沒有高亮選中,用起來感覺不是很方便。平時大都是用的終端工具的複製貼上功能,因此這裡的命令我都加灰了,感興趣的可以看看。
撤銷和重做
撤銷和重做在任何編輯器裡都是非常有用的命令:
查詢和替換
查詢和替換的語法筆記複雜,先簡單的介紹一下查詢的語法:
使用了查詢命令之後,使用如下兩個鍵快速查詢:
至於替換的語法,限於篇幅所限,這裡就不介紹了。
vi對程式設計的支援
vi對程式設計還是提供了一定的支援的。例如,它是支援括號配對、語法高亮顯示的。
不過,由於並不支援語法解析功能,作為編碼工具和專業的**編輯器如sourceinsight、visualstudio等比起來還是有很大差距的。個人感覺做小型專案和臨時修改**用還行,但做大型專案是有點力不從心的。
Linux程式設計簡介 VI
vi是linux unix下標配的乙個純字元介面的文字編輯器。由於不支援滑鼠功能,也沒有圖形介面,相關的操作都要通過鍵盤指令來完成,需要記憶大量命令。因此很多人不大喜歡它,但同時由於鍵盤的方式往往比滑鼠來得快,一旦熟練後用起來是有種非常流暢的感覺的,也有人因此而非常喜歡它。不管你喜歡也好,不喜歡也好...
VI使用簡介
文字編輯器 有很多,比如圖形模式的gedit kwrite openoffice,文字模式下的編輯器有vi vim vi的增強版本 vi和vim是我們在linux中最常用的編輯器。vi或vim是linux最基本的文字編輯工具,vi或vim雖然沒有圖形介面編輯器那樣點滑鼠的簡單操作,但vi編輯器在系統...
vi 使用簡介
當要建立或編輯乙個文字檔,可用此命令,例鍵入 vi aaa 得如下之畫面 游標位置 空行 null aaa new file 訊息列及冒號 命令列 此時若要輸入字元,需先鍵入命令 a a i i o o 中的其中乙個然後再輸入本文,其中若鍵入 將新增一行並可繼續輸入,輸入完畢後要按下 esc 鍵,此...