1. 程式人生 > >VIM命令模式與輸入模式切換

VIM命令模式與輸入模式切換

vi編輯器

vi是UNIX和類UNIX環境下的可用於建立檔案的螢幕編輯器。vi有兩種工作模式:命令模式和文字輸入模式。啟動vi需要輸入vi,按[Spacebar]鍵並輸入檔名後回車。

切換模式鍵

vi從命令模式切換到文字輸入模式。每個鍵以不同方式使vi進入文字輸入模式。按[ESC]鍵使vi從文字輸入模式回到命令模式。

表1列出了vi從命令模式切換到文字輸入模式的命令鍵及其功能。

表1 切換到文字輸入模式的命令鍵

功能

i

在游標左側輸入正文

I

在游標所在行的行首輸入正文

a

在游標右側輸入正文

A

在游標所在行的行尾輸入正文

o

在游標所在行的下一行增添新行,游標位於新行的行首

O

在游標所在行的上一行增添新行,游標位於新行的行首

說明:1. 游標的位置由雙下劃線(═)標明。

2. 當前行指游標所在的那一行。

退出命令

只有一種方式進入vi,但是有幾種方式退出vi,退出方式的選擇取決於如何處理編輯後的檔案。

除了ZZ命令外,這些命令都以:開始,用[Return]結束命令列。表2列出了vi編輯器的退出命令及其功能。

表2 vi編輯器的退出命令

功能

:wq

儲存檔案,退出vi編輯器

:w

儲存檔案,但不退出vi編輯器

:q

退出vi編輯器

:q!

不儲存檔案,退出vi編輯器               

ZZ

儲存檔案,退出vi編輯器

文字修改鍵

這些鍵只適用於命令模式。表3列出了vi編輯器的退出命令及其功能。

表3 命令模式下vi編輯器的文字修改鍵

功能

x

刪除游標位置指定的字元

dd

刪除游標所在的行

u

撤銷最近的修改

U

撤銷對當前行上做的所有修改

r

替換游標位置上的一個字元

R

替換從游標位置開始的字元,同時改變vi到文字輸入模式

.(點)

重複上一次的修改

游標移動指令

在命令模式下,這些鍵可以在文件中移動游標。表4列出了vi編輯器的退出命令及其功能。

表4 vi的游標移動鍵

功能

h或[   ]

將游標向左移動一格

j或[   ]

將游標向下移動一格

k或[   ]

將游標向上移動一格

l或[   ]

將游標向右移動一格

$

將游標移到當前行的行尾

w

將游標向右移一個字

b

將游標向左移一個字

e

將游標移到字尾

0(零)

將游標移到當前行的行首

[Return]鍵

將游標移到下一行的行首

[Spacebar]鍵

將游標向右移動一位

[Backspace]鍵

將游標向左移動一位

注意:在文字輸入模式下避免使用游標鍵(箭頭鍵)。因為在某些系統中,游標鍵被解釋為普通的ASCII 字元。如果在文字輸入模式下使用游標鍵,那麼對應的ASCII字元將被插入檔案中。

剪下和貼上鍵

這些鍵用來重新安排使用者檔案中的文字,在vi的命令模式下可用。表5列出了vi編輯器的剪下和貼上鍵及其功能。

表5 vi編輯器的剪下和貼上鍵

功能

d

刪除指定位置的文字,並存到臨時的緩衝區中。可以使用put操作符(p或P鍵)訪問這個緩衝區

y

將指定位置的文字複製到臨時緩衝區。可以使用put操作符訪問這個緩衝區

P

將指定緩衝區的內容放到當前游標的位置之上

p

將指定緩衝區的內容放到當前游標的位置之下

翻頁鍵

翻頁鍵用來大塊滾動使用者的檔案,在vi的命令模式下可用。表6列出了vi編輯器的翻頁鍵及其功能。

表 6  vi編輯器的翻頁鍵

功能

[Ctrl-d]

將游標向下移到檔案尾,通常每次移動12行

[Ctrl-u]

將游標向上移到檔案頭,通常每次移動12行

[Ctrl-f]

將游標向下移到檔案尾,通常每次移動24行

[Ctrl-b]

將游標向上移到檔案頭,通常每次移動24行

三種常見的模式:Normail Mode(命令模式),Insert Mode(輸入模式)和Visual Mode(檢視模式)。
命令模式和輸入模式的切換有Append,Insert,Replace,Subsitute 記作AIRS,這種記憶方法特別方便,英文單詞的意思是空氣,vim在命令模式和輸入模式的切換就像空氣一樣,無影無形。

編輯文字無非就是基本的字元輸入和切換游標的位置,平時游標切換就是通過鍵盤上的上下左右的鍵盤來實現的,這個上下左右的鍵盤切換游標雖然也是很方便,但是是不是要從我們鍵盤手勢上移動,而vim可以完全不用移動,通過hjkl。
h:左移一個位置
j:往下一行
k:往上一行
l:右移一個位置

非學,無以致疑;非問,無以廣識