Vim 使用入門快速鍵

來源:互聯網
上載者:User


Vim 使用入門快速鍵   

羅朝輝 (http://www.cnblogs.com/kesalin/)本文遵循“署名-非商業用途-保持一致”創作公用協議

Vim 和 Emac 都是利器啊,前段時間決定熟悉一套跨平台的編輯器,以便在 Win,Mac,Ubuntu 下都有相同的編輯體驗。

於是嘗試了一下 Vim,使用了一段時間,確實比 UE 之類的要高效。Win 平台下有 gVim, Mac 下也有 MacVim。

 

Vim 的學習曲線確實有點陡峭,剛開始不是那麼容易習慣的。查看協助文檔是必不可少的,其線上中文文檔連結如下:

Vim 線上中文文檔:http://vimcdoc.sourceforge.net/doc/help.html

 

這個文檔超級大而全,方便查閱,如果想入門試試 Vim 的話,不太適合,下面我整理了一些方便入門的常用快速鍵。

 

===========================================================

模式操作 

===========================================================

 

Vim具有五種基本模式,預設是普通模式,在普通模式下是無法進行編輯的,需要進入插入模式。

(Window 下用記事本開啟一個 txt, 預設就是插入模式,所以就可以直接編輯,Vim 不是這樣的!!)

===========================================================

普通模式(normal mode)

插入模式(insert mode)

命令模式(command mode)

可視模式(visual mode)

替換模式(replace mode)

 

其他模式下要回到普通模式:

===========================================================

Esc

Ctrl + c

Ctrl + [

 

進入插入模式

 

===========================================================

iinsert 在游標前插入

Iinsert 在當前行的第一個非空白字元之前插入

aappend 在游標後插入

Aappend 將輸入焦點移動到在當前行的行尾來輸入文本

o在當前行下方新啟一行,並進入插入模式。

O在當前行上方新啟一行,並進入插入模式。

ssubstitute 用來刪除當前游標下的字元,然後進入到插入模式

cwchange word 用的較少,和 s 相似,只不過刪除的單位是單詞。

首先刪除由游標(包括游標)開始的一個單詞,然後進入插入模式,

  

進入命令模式:

===========================================================

:, /

 

:之後,使用方向鍵可以調出曆史命令。甚至輸入:s之後,

會對曆史命令進行過濾,只調出以s開頭的曆史命令。

 

:help command查看協助文檔

::查看命令列模式的協助

 

進入可視模式:該模式下方便對文本進行選擇

===========================================================

v, V, Ctrl+v

 

vvisual,可視,以字元為單位移動

V可視,以行為單位移動

Ctrl + v可視,以塊為單位移動

 

可視塊模式應用:添加多行的 // 注釋

 

首先將游標移動到要該代碼塊第一行的行首字母上,進入可視塊模式,

然後移動游標到該代碼塊的最後一行的行首字母上,這時會高亮顯示一列。

之後鍵入 I,注意不是i,此時資訊區顯示的是插入模式了,

然後鍵入注釋符"//",將第一行注釋掉,而其他行沒有變化。

不用著急,最後鍵入Esc退回到普通模式。 

這時其他被選中的行的前面都添加了注釋符,從而都被注釋掉了

  

進入替換模式

===========================================================

r, R 

rreplace,該鍵只是用於替換游標所在的單個字元而已。

R持續替換直至退出 R 模式,在該模式下可以按照 backspace 恢複

 

===========================================================

 

關於模式的更多說明請查看Vim協助文檔,使用命令:

 

    :help mode-switching

 

===========================================================

檔案操作 

===========================================================

 

分割視窗

===========================================================

:sp vim.txtsplit,水平分割視窗

:vs vim.txtvertical split,垂直地分割視窗可視塊模式來完成了。

 

視窗切換

===========================================================

Ctrl + w + [h, j, k, l]

 

Ctrl在Vim中"^"一般表示Ctrl按鍵

wwindow

h,j,k,l就是上下左右四個方向

 

關閉視窗

===========================================================

Ctrl + w + [c]關閉當前視窗

Ctrl + w + [o]關閉其他視窗

 

儲存檔案

===========================================================

:wwrite,儲存當前檔案

:wawriteall,儲存所有檔案

 

退出檔案

===========================================================

:qquit,關閉當前視窗或者當前標籤頁

:wqwrite + quit,先儲存再關閉

 

===========================================================

導航以及跳轉

===========================================================

 

Vim中的移動可以分為兩類:導航以及跳轉。

導航是小範圍的移動;而跳轉是大範圍且並不確定執行後游標位置的移動。

Vim協助文檔裡面將這類操作叫做motion操作。可查看協助:

 

:help motion

  

導航

===========================================================

h, j, k, l, w, e, b, f, F, t, ,, ;

 

h, j, k, l上下左右四個方向移動

wword,以單詞為單位正向移動,游標停在第一個字母上

eend,以單詞為單位正向移動,游標停在最後一個字母上

bback,以單詞為單位反向移動,游標停在第一個字母上

f + keyforward,移動到該行的下一個出現字元(key)的位置,

然後可以按下 ; 正向迴圈移動或者 , 反向迴圈移動

F + key用法與 f 相同,只不過是反向移動

ttill,效果與 f 類似,只不過 f 會將游標放置在目標字元上,

而 t 是將游標放置在目標字元的前一個字元上。

 

跳轉

===========================================================

^, 0, $, %, [[, ]], gg, G, L, H, M, m, ', :[number]

 

^移動到本行第一個非空白字元處

0移動到行首(參考命令 I)

$移動到行尾(參考命令 A)

%在本行中正向尋找或調整的配對字元(([{}])),

]]按鍵組合,在文本中t跳轉到下一個位於行首的'{'字元

[[類似於 ]],只不過是反向

gg跳轉到整個文本的第一行

G跳轉到整個文本的最後一行

Hhigh,跳轉到當前螢幕顯示文本範圍內的第一行

Llow,跳轉到當前螢幕顯示文本範圍內的最後一行

Mmiddle,將游標移動到螢幕顯示文本範圍的中間

m按鍵組合,與 Vim 的寄存器有關(請看文檔 :help registers)

m - mark,輸入 m 之後再輸入寄存器序號(a - z, A - Z),

就將當前游標位置資訊放到寄存器中保持,相當於設定了書籤。

'按鍵組合,後跟寄存器序號,跳轉到 m 設定的書籤處

:[number]是命令模式下的用法,跳轉到指定行,number 為行數

 

翻頁

===========================================================

Ctrl + f, Ctrl + b, Ctrl + d, Ctrl + u

 

Ctrl + fforward,相當於 PageDown

Ctrl + bback,相當於 PageUp

Ctrl + ddown,正向翻半頁

Ctrl + uup,反向翻半頁

 

===========================================================

編輯操作

===========================================================

 

刪除

===========================================================

x, d + [跳轉/移動]

 

x剪下,內容儲存在寄存器 x 中

d + 跳轉/移動delete,按鍵組合,刪除並經內容儲存到寄存器 x 中

dwdelete word,正向刪除單詞

d0反向刪除到行首

d$正向刪除到行尾

dd刪除整行

d^刪除之本行第一個非空白字元處

 

移動

===========================================================

x, y, yy, Y, p, P, "+y, "+p

 

移動文本其實是一個組合的操作:

首先選擇要移動的文本;

然後剪下或者複製該文本;

最後粘帖該文本。

 

x剪下

yyank,複製,內容儲存在寄存器 x 中

Y, yy複製游標所在行

ppaste,將寄存器 x 中儲存的文本取出並粘貼在游標位置之後

P同 p, 只是粘貼在游標位置之前

" + y複製文本到系統複製粘帖板(注意不是 Vim 的寄存器 x 了)

" + p是從系統複製粘帖板取出文本進行粘帖操作。

 

撤銷重做

===========================================================

u, Ctrl + r

 

uundo,撤銷

Ctrl + rredo,重做

 

尋找

===========================================================

/ + key

 

/後跟要尋找的字串,然後輸入 n 迴圈尋找。尋找字串支援正則匹配式。

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.