天天看點

Vim 快捷鍵速查表

vim 編輯器是一個基于指令行的工具,是傳奇編輯器 vi 的增強版。盡管圖形界面的富文本編輯有很多,但是熟悉 vim 對于每一位 linux 的使用者都能有所幫助——無論你是經驗豐富的系統管理者,還是剛上手樹莓派的新手使用者。

這個輕量級的編輯器是個非常強大的工具。在有經驗的使用者手中,它能完成不可思議的任務。除了正常的文本編輯功能以外,它還支援一些進階特性。例如,基于正規表達式的搜尋和替換、編碼轉換,以及文法高亮、代碼折疊等的程式設計特性。

使用 vim 時有一個非常重要的一點需要注意,那就是按鍵的功能取決于編輯器目前的“模式”。例如,在“普通模式”輸入字母<code>j</code>時,光标會向下移動一行。而當你在“插入模式”下輸入字元,則隻是正常的文字錄入。

下面就是速查表,以便于你充分利用 vim。

<a target="_blank"></a>

快捷鍵

功能

<code>esc</code>

從目前模式轉換到“普通模式”。所有的鍵對應到指令。

<code>i</code>

“插入模式”用于插入文字。回歸按鍵的本職工作。

<code>:</code>

“指令行模式” vim 希望你輸入類似于儲存該文檔指令的地方。

<code>h</code>

光标向左移動一個字元

<code>j</code> 或 <code>ctrl + j</code>

光标向下移動一行

<code>k</code> 或 <code>ctrl + p</code>

光标向上移動一行

<code>l</code>

光标向右移動一個字元

<code>0</code>

(數字 0)移動光标至本行開頭

<code>$</code>

移動光标至本行末尾

<code>^</code>

移動光标至本行第一個非空字元處

<code>w</code>

向前移動一個詞 (上一個字母和數字組成的詞之後)

向前移動一個詞 (以空格分隔的詞)

<code>5w</code>

向前移動五個詞

<code>b</code>

向後移動一個詞 (下一個字母和數字組成的詞之前)

向後移動一個詞 (以空格分隔的詞)

<code>5b</code>

向後移動五個詞

<code>g</code>

移動至檔案末尾

<code>gg</code>

移動至檔案開頭

<code>(</code>

跳轉到上一句

<code>)</code>

跳轉到下一句

<code>{</code>

跳轉到上一段

<code>}</code>

跳轉到下一段

<code>[[</code>

跳轉到上一部分

<code>]]</code>

跳轉到下一部分

<code>[]</code>

跳轉到上一部分的末尾

<code>][</code>

跳轉到上一部分的開頭

<code>a</code>

在光标後插入文本

在行末插入文本

在光标前插入文本

<code>o</code>

(小寫字母 o)在光标下方新開一行

(大寫字母 o)在光标上方新開一行

<code>:r [filename]</code>

在光标下方插入檔案 [filename] 的内容

<code>:r ![command]</code>

執行指令 [command] ,并将輸出插入至光标下方

<code>x</code>

删除光标處字元

<code>dw</code>

删除一個詞

<code>d0</code>

删至行首

<code>d$</code>

删至行末

<code>d)</code>

删至句末

<code>dgg</code>

删至檔案開頭

<code>dg</code>

删至檔案末尾

<code>dd</code>

删除該行

<code>3dd</code>

删除三行

<code>r{text}</code>

将光标處的字元替換成 {text}

<code>r</code>

進入覆寫模式,輸入的字元将替換原有的字元

<code>yy</code>

複制目前行至存儲緩沖區

<code>["x]yy</code>

複制目前行至寄存器 x

<code>p</code>

在目前行之後粘貼存儲緩沖區中的内容

在目前行之前粘貼存儲緩沖區中的内容

<code>["x]p</code>

在目前行之後粘貼寄存器 x 中的内容

在目前行之前粘貼寄存器 x 中的内容

<code>u</code>

撤銷最後的操作

<code>ctrl+r</code>

重做最後撤銷的操作

<code>/search_text</code>

檢索文檔,在文檔後面的部分搜尋 search_text

<code>?search_text</code>

檢索文檔,在文檔前面的部分搜尋 search_text

<code>n</code>

移動到後一個檢索結果

移動到前一個檢索結果

<code>:%s/original/replacement</code>

檢索第一個 “original” 字元串并将其替換成 “replacement”

<code>:%s/original/replacement/g</code>

檢索并将所有的 “original” 替換為 “replacement”

<code>:%s/original/replacement/gc</code>

檢索出所有的 “original” 字元串,但在替換成 “replacement” 前,先詢問是否替換

<code>m {a-za-z}</code>

在目前光标位置設定書簽,書簽名可用一個大小寫字母({a-za-z})

<code>:marks</code>

列出所有書簽

<code>{a-za-z}</code>

跳轉到書簽 {a-za-z}

<code>v</code>

進入逐字可視模式

進入逐行可視模式

退出可視模式

<code>~</code>

切換大小寫

<code>d</code>

<code>c</code>

變更

<code>y</code>

複制

<code>&gt;</code>

右移

<code>&lt;</code>

左移

<code>!</code>

通過外部指令進行過濾

<code>:q</code>

退出 vim,如果檔案已被修改,将退出失敗

<code>:w</code>

儲存檔案

<code>:w new_name</code>

用 new_name 作為檔案名儲存檔案

<code>:wq</code>

儲存檔案并退出 vim

<code>:q!</code>

退出 vim,不儲存檔案改動

<code>zz</code>

退出 vim,如果檔案被改動過,儲存改動内容

<code>zq</code>

與 :q! 相同,退出 vim,不儲存檔案改動

僅僅是這樣是否還不足以滿足你?别擔心,我們已經為你整理好了一份下載下傳版的速查表,以備不時之需。

<a href="http://www.maketecheasier.com/cheatsheet/vim-keyboard-shortcuts-cheatsheet/" target="_blank">點此下載下傳(英文)</a>

原文釋出時間為:2017-01-25

本文來自雲栖社群合作夥伴“linux中國”