Mac終端:vi/vim的簡單使用

vi/vim 的使用

基本上 vi/vim 共分爲三種模式,分別是命令模式(Command mode),插入模式(Insert mode)和底線命令模式(Last line mode)

命令模式:

用戶剛剛啓動 vi/vim,便進入了命令模式。

  • i 切換到插入模式,以輸入字符。

  • x 刪除當前光標所在處的字符。

  • : 切換到底線命令模式,以在最底一行輸入命令。

若想要編輯文本:啓動Vim,進入了命令模式,按下i,切換到輸入模式

輸入模式:

在命令模式下按下 i 就進入了輸入模式。

在輸入模式中,可以使用以下按鍵:

ENTER(回車鍵)        		換行

BACK SPACE(退格鍵)    	刪除光標前一個字符

方向鍵              	在文本中移動光標

HOME/END               	移動光標到行首/行尾

Page Up/Page Down       上/下翻頁

ESC                    	退出輸入模式,切換到命令模式

底線命令模式:

在命令模式下按下 :(英文冒號)就進入了底線命令模式。

底線命令模式可以輸入單個或多個字符的命令,可用的命令非常多。

在底線命令模式中,基本的命令有(已經省略了冒號):

  • q   退出程序

  • w   保存文件

按ESC鍵可隨時退出底線命令模式。

vi/vim 使用實例

使用 vi 來建立名爲 test.txt 的文件

vi test.txt

按下 ESC 按鈕回到一般模式

在一般模式中按下 :wq 儲存後離開 vi

vi/vim 按鍵說明(一般模式下)

h 或 向左箭頭鍵(←) 光標向左移動一個字符
j 或 向下箭頭鍵(↓) 光標向下移動一個字符
k 或 向上箭頭鍵(↑) 光標向上移動一個字符
l 或 向右箭頭鍵(→) 光標向右移動一個字符

如果你將右手放在鍵盤上的話,你會發現 hjkl 是排列在一起的,因此可以使用這四個按鈕來移動光標。 如果想要進行多次移動的話,例如向下移動 30 行,可以使用 “30j” 或 “30↓” 的組合按鍵, 亦即加上想要進行的次數(數字)後,按下動作即可!

Ctrl + f 屏幕『向下』移動一頁,相當於 [Page Down]按鍵

Ctrl + b 屏幕『向上』移動一頁,相當於 [Page Up] 按鍵



0 或功能鍵[Home] 這是數字『 0 』:移動到這一行的最前面字符處

$ 或功能鍵[End] 移動到這一行的最後面字符處

G 移動到這個檔案的最後一行

gg 移動到這個檔案的第一行

n<Enter> n 爲數字。光標向下移動 n 行


/word 向光標之下尋找一個名稱爲 word 的字符串。例如要在檔案內搜尋 vbird 這個字符串,就輸入 /vbird 即可

n       重複前一個搜尋的動作

N      『反向』進行前一個搜尋動作

:n1,n2s/word1/word2/g       n1 與 n2 爲數字。在第 n1 與 n2 行之間尋找 word1 這個字符串,並將該字符串取代爲 word2

:n1,$s/word1/word2/g        從第一行到最後一行尋找 word1 字符串,並將該字符串取代爲 word2

:n1,$s/word1/word2/gc       從第一行到最後一行尋找 word1 字符串,並將該字符串取代爲 word2 !且在取代前顯示提示字符給用戶確認 (confirm) 是否需要取代
x   向後刪除一個字符

X   向前刪除一個字符



dd      刪除遊標所在的那一整行

ndd     n 爲數字。刪除光標所在的向下 n 行(包括遊標所在的那一行)



yy      複製遊標所在的那一行

nyy     n 爲數字。複製光標所在的向下 n 行



p       爲將已複製的數據在光標下一行貼上

P       爲將已複製的數據在光標上一行貼上



u             復原前一個動作(撤銷)

Ctrl + r    重做上一個動作

.            重複前一個動作

一般模式切換到編輯模式

i   從目前光標所在處插入

I   在目前所在行的第一個非空格符處開始插入



a   從目前光標所在的下一個字符處開始插入

A   從光標所在行的最後一個字符處開始插入



o   在目前光標所在的下一行處插入新的一行

O   在目前光標所在處的上一行插入新的一行



r   只會取代光標所在的那一個字符一次

R   會一直取代光標所在的文字,直到按下 ESC 爲止

一般模式切換到指令行模式

:w      將編輯的數據寫入硬盤檔案中

:w!     強制將編輯的數據寫入硬盤檔案中



:q      離開

:q!     爲強制離開不儲存檔案



:wq     儲存後離開

:wq!    強制儲存後離開



:set nu       顯示行號,設定之後,會在每一行的前綴顯示該行的行號

:set nonu     取消行號
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章