【分享】vi的基本使用

不論你為了什麼目的使用OSX,遲早你會需要編輯文件檔。那什麼是 vi ? vi 是"visual interface"(視覺界面)的簡稱,而實際上是ex的延伸,ex呢?又是ed的延伸;不過現在已經沒有人用ed的,忘了這個名詞吧!在所有的UNIX機器上都一定會有vi,所以我覺得如果您使用OSX,又需要編輯系統的檔案(如/etc目錄下的檔案),學習 vi 是必需的。
vi有三種模式:一般模式,編輯模式,指令列命令模式。(圖1)
【分享】vi的基本使用
開始使用 vi 吧!(本篇都是以英文的環境下進行,如果輸入中文將會產生亂碼,如果要用vi輸入中文可以用iTerm)
開啟你的終端機,輸入 $vi demo (圖2)
【分享】vi的基本使用
開啟一個demo檔案,然後你會看到(圖3)。
【分享】vi的基本使用
現在是一般模式,開始編輯需要按下 i ,視窗下方會出現INSERT(圖4)。
【分享】vi的基本使用
如果要回到一般模式,按下esc。
編輯完成,儲存檔案,先按下 : (圖5), 到指令列命令模式,輸入 wq (write & quit寫入並離開)(圖6)。
【分享】vi的基本使用
【分享】vi的基本使用

下面是常用的命令:
●一般模式基本按鍵:
【移動】
k →游標上移,如要上移5行,按下5k。
j →游標下移,如要下移10行,按下10j。
h →游標左移,如要左移2字元,按下2h。
l →游標右移,如要右移4字元,按下4l。
(可用方向鍵,但是在UNIX系統,不一定可用)
crtl-u →向前捲動半頁。
crtl-d →向後捲動半頁。
G →移動到檔案尾端。
1G →移動到檔案開始。
0 →移動到本行開頭。
$ →移動到本行結尾。

【刪除】
x →刪除游標所在處右邊的一個字元(相當於 [del] 按鍵)
X →刪除游標所在處左邊的一個字元(相當於 [backspace] 亦即是倒退鍵)
dd →刪除游標所在的那一整列
ndd → n 為數字。刪除游標所在的向下 n 列,例如 20dd 則是向下刪除 20 列

【搜尋與取代】
/word →向游標之下尋找一個字串名稱為 word 的字串。例如要在檔案內搜尋 mac 這個字串,就輸入 /mac 即可!
?word →向游標之上尋找一個字串名稱為 word 的字串。

●編輯模式基本按鍵:
i →在游標所在處前開始插入文字,直到按下esc。
a →在游標所在處後開始插入文字,直到按下esc。
A →在游標所在處的行尾開始插入文字,直到按下esc。
R →取代游標所在處開始所有字元,直到按下esc。

●指令列命令模式:
:w →將編輯的資料寫入硬碟檔案中
:w! →若檔案屬性為『唯讀』時,強制寫入該檔案。不過,到底能不能寫入,還是跟您對該檔案的檔案權限有關!
:q →離開 vi
:q! →若曾修改過檔案,又不想儲存,使用 ! 為強制離開不儲存檔案。
:wq →儲存後離開,若為 :wq! 則為強制儲存後離開
:w filename →將編輯的資料儲存成另一個檔案(類似另存新檔),如 :w new.txt
: set nu →顯示行號,設定之後,會在每一行的字首顯示該行的行號(圖7)
: set nonu →與 set nu 相反,為取消行號!

【分享】vi的基本使用

自己動手試一試吧!
◤如果有誤歡迎指正◢
2006-08-12 19:23 發佈
文章關鍵字 VI 基本使用
感謝大大的教學...
不過小弟不太會用terminal的一些東西...
我也好想學啊...

不知道大大能不能抽空指教一下shell的指令與使用呢?

太感謝了
davince wrote:
能不能抽空指教一下shell的指令與使用呢?
(恕刪)

謝謝您的指教,我會將常用的shell指令整理出來的!
系統的威力來自於程式間彼此的關係多於程式本身!
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?