2009年3月4日 星期三

[轉貼]VI Editor使用方法












vi 總共有三大模式:

1. Command mode (Normal mode)
預設模式,任何按鍵操作皆具備命令意義

2.Insert mode
進入資料編輯/新增模式

3.Last line mode (Command-line command)
功能指定項目,提供檔案開啟、存檔、字串替換等功能

------------------------------------------------------------

當一進去 vi 時候,即是在第一種模式下(Command mode),這種模式具有指令功能:

dd == 刪除一行
dnd == n 代表數字,即可刪除游標往下 n 行
v == Virtual mode 可以反白所要區塊
y == yank 模式,即可將反白的區塊複製
p == paste 模式,再執行 y 後,即可在游標處貼上該資料
/ == 左下角可以輸入欲搜尋字串(pattern)
: == 進入到第三種模式 (Last Line Mode)

------------------------------------------------------------

而可以藉由下列指令進入第二種模式(Insert mode):

i,a,o or I,A,O

此時左下角會有 INSERT 字樣出現,代表已經進入第二種模式

也就是可以開始編輯資料,在編輯完資料後,必須先回到第一種模式(按 Esc)

再到第三種模式(Last Line mode)(按 :)以便對檔案進行儲存動作。

------------------------------------------------------------

當回到第一種模式(Command Line)後,可以借由打入 :(冒號)

進入到第三種模式(Last Line),即可進行檔案存取操作。

:e filename :開啟編輯檔案
:r filename :讀取指定檔案檔案內容合併到目前畫面
:w filename :寫入儲存檔案
:q :離開結束程式
:x :同 wq 功能
:wq :儲存檔案然後結束程式
:e! filename :強迫開啟編輯另外檔案,放棄目前編輯的檔案
:w! filename :強迫寫入儲存檔案
:q! :強迫離開結束程式 (就算是檔案異動了尚未儲存)
:wq! :強迫儲存檔案然後結束程式
:%s/foo/bar/gc :用 bar 取代所有 foo 字樣

=== 環境設定 ===

:set :查閱目前功能設定與支援狀態
:set all :查閱所有功能設定支援狀態
:set (no)number :設定行號顯示
:set (no)wrap :設定是否自動斷行顯示
:set (no)backup :設定是否儲存備份檔案
:set (no)autoindent :設定是否自動縮排
:set (no)incsearch :設定是否遞增式尋找字串
:set (no)ignorecase :設定忽略大小寫尋找
:set (no)hlsearch :設定支援尋找結果高亮度顯示
:set (no)paste :設定目前屬於剪貼模式
:set tabstop=n :設定 tab 跳位按鍵顯示的 n 字元寬度

------------------------------------------------------------