Vim 模式及常用命令整理

2022-04-04 20:53:55 字數 3057 閱讀 3109

vim 命令

以:和/開頭的命令都有歷史紀錄,可以首先鍵入:或/然後按上下箭頭來選擇某個歷史命令。

vim的模式

基本上可以分為3種模式,分別是命令模式(command mode)、插入模式(insert mode)和底行模式(last line mode),下圖所示為vim各種模式相互轉換的關係圖。

插入模式:只有在插入模式下,才可以輸入文字。按[esc]鍵可回到命令列模式。

開啟與退出

vi啟動是:vi filename

該命名開啟或者建立乙個檔案。首先進入vi後,是cmd模式(命令模式)。在該模式下可以移動游標,複製,移動,刪除等。

vim -o file1 file2: 同時開啟兩個檔案, ctrl+w 進行視窗切換

zz: 儲存檔案並退出。note: 與其他編輯器不一樣,vim 不會自動建立乙個備份檔案。如果你輸入 "zz", 你的修改立即生效並且不能恢復。你可以配置 vim 讓它產生乙個備份檔案。

:w 儲存

wq: 儲存並退出

:q: 退出

:q!: 放棄修改。按回車使命令生效。

i 在當前位置生前插入

i 在當前行首插入

a 在當前位置後插入

a 在當前行尾插入

o 在當前行之後插入一行

o 在當前行之前插入一行

編輯模式下,只能輸入,不能使用hjkl的游標移動,使用esc可以切換到cmd模式

游標控制:命令模式

游標在螢幕文字中的移動既可以用箭頭鍵,也可以使用 hjkl 字母鍵。

h (左移)    j (下行)     k (上行)     l (右移)

以上四個命令可以配合數字使用,比如20j就是向下移動20行,5h就是向左移動5個字元。

gg命令:         跳到檔案的首行

g命令:           跳到檔案的最後一行

0(數字0)   移動到本行第乙個字元上

^命令:           跳轉到行首第乙個普通字元上

$命令:            跳轉到行尾, 3$ 移動到下面3行的行尾

b(begin)命令:     跳轉到當前單詞的前面, 2b 向後移動2個單詞

e(end)命令:         跳轉到當前單詞的後面

w 命令:              向前移動乙個單詞(游標停在單詞首部),如果已到行尾,則轉至下一行行首。此命令快,可以代替l命令。

:       移動到本行第乙個字元。同0健。

冒號+行號:        跳到指定行。比如跳到240行就是 :240回車。另乙個方法是行號+g,比如230g跳到230行。

number%命令: 跳轉到number%處, 例如跳轉到20%, 鍵入20%即可

ctrl + e 向下滾動一行

ctrl + y 向上滾動一行

ctrl + d 向下滾動半屏

ctrl + u 向上滾動半屏

ctrl + f 向下滾動一屏

ctrl + b 向上滾動一屏

刪除命令:命令模式

在命令模式下,vim提供了許多刪除命令。這些命令大多是以d開頭的。

d或d$命令:刪除從游標所在處開始到行尾的內容。

d0命令:刪除從游標前乙個字元開始到行首的內容。

dw命令:刪除乙個單詞。若游標處在詞的中間,則從游標所在位置開始刪至詞尾。同dd命令一樣,可在dw之前加乙個數字n,表示刪除n個指定的單詞。

複製命令:命令模式

y^/y0:      複製至行首, 不含游標所在處字元

y$:            複製至行尾。含游標所在處字元

yw:           複製乙個 word

yg:           複製至檔尾

y1g:         複製至檔首

dd命令:  剪下當前行。

yy命令(或大寫乙個 y):   拷貝當前行。2yy 表示複製兩行。

cc命令:   剪下當前行並且進入插入模式。

d命令:    剪下從游標位置到行尾到剪貼簿。

y命令:    拷貝當前行。

c命令:    和 d 類似,最後進入插入模式。

x命令:     剪下當前字元到剪貼簿。

s命令:     剪下當前字元到剪貼簿,最後進入插入模式。

貼上命令:命令模式

小寫 p 代表貼至游標後(下)。 p 大寫 p 代表貼至游標前(上)

撤銷和重做

u 撤銷(undo)

u 撤銷對整行的操作

ctrl + r 重做(redo),即撤銷的撤銷。

查詢命令

/text  查詢text,按n健查詢下乙個,按n健查詢前乙個。

?text  查詢text,反向查詢,按n健查詢下乙個,按n健查詢前乙個。

vim中有一些特殊字元在查詢時需要轉義  .*^%/?~$

查詢很長的詞,如果乙個詞很長,鍵入麻煩,可以將游標移動到該詞上,按*或#鍵即可以該單詞進行搜尋,相當於/搜尋。而#命令相當於?搜尋。

:set ignorecase   忽略大小寫的查詢

:set noignorecase  不忽略大小寫的查詢

:set hlsearch  高亮搜尋結果,所有結果都高亮顯示,而不是只顯示乙個匹配。

:set nohlsearch  關閉高亮搜尋顯示

:nohlsearch  關閉當前的高亮顯示,如果再次搜尋或者按下n或n鍵,則會再次高亮。

:set incsearch  逐步搜尋模式,對當前鍵入的字元進行搜尋而不必等待鍵入完成。

來自為知筆記(wiz)

VIM常用命令整理

1 移動游標 上下左右 四個方向箭頭或k j h l 上下翻頁 pageup,pagedn 文首文尾 gg跳到文件起始位置,g跳到末尾位置 行首行尾 home跳到行首,end跳到行尾 到指定行 esc進入命令模式,ngg,如果沒有顯示行號,set number,取消顯示行號,set nonumber...

Vim常用命令整理

vim命令浩如煙雲,我們很難精通所有命令,在實際工作中我們常用的命令也就那麼幾十個。文字整理了工作中常用的vim命令,掌握了以下命令就基本滿足我們工作需要。我們經常使用vim file 命令開啟乙個檔案,同時我們也可以使用vim file1 file2 file3 開啟多個檔案。如果我們已經開啟了某...

vim的模式及常用命令

在正常模式下 123 4567 891011 1213 1415 1617 1819 20hjkl 左下上右 shift 4 末尾 g 末尾 shift 6 開頭 0 開頭 w 下乙個單詞 僅包含字母 w 下乙個單詞 包含特殊符號 b 上乙個單詞 b 上乙個單詞 e 下乙個單詞末尾 e 下乙個單詞末...