Vim 使用入門快捷鍵

 

 

 

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

因而嘗試了一下 Vim,使用了一段時間,確實比 UE 之類的要高效。Win 平臺下有 gVim, Mac 下也有 MacVimhtml

 

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

Vim 在線中文文檔:http://vimcdoc.sourceforge.net/doc/help.htmlapp

 

這個文檔超級大而全,方便查閱,若是想入門試試 Vim 的話,不太適合,下面我整理了一些方便入門的經常使用快捷鍵。編輯器

 

 

===========================================================學習

模式操做 ui

===========================================================spa

 

Vim具備五種基本模式,默認是普通模式,在普通模式下是沒法進行編輯的,須要進入插入模式。.net

(Window 下用記事本打開一個 txt, 默認就是插入模式,因此就能夠直接編輯,Vim 不是這樣的!!)命令行

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

普通模式(normal mode)

插入模式(insert mode)

命令模式(command mode)

可視模式(visual mode)

替換模式(replace mode)

 

 

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

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

Esc

Ctrl + c

Ctrl + [

 

進入插入模式

 

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

i insert 在光標前插入

I insert 在當前行的第一個非空白字符以前插入

a append 在光標後插入

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

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

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

s substitute 用來刪除當前光標下的字符,而後進入到插入模式

cw change word 用的較少,和 s 類似,只不過刪除的單位是單詞。

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

 

 

進入命令模式:

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

:, /

 

: 以後,使用方向鍵能夠調出歷史命令。甚至輸入:s以後,

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

 

:help command 查看幫助文檔

:: 查看命令行模式的幫助

 

 

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

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

v, V, Ctrl+v

 

v visual,可視,以字符爲單位移動

V 可視,以行爲單位移動

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

 

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

 

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

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

以後鍵入 I,注意不是i,此時信息區顯示的是插入模式了,

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

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

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

 

 

進入替換模式

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

r, R

 

r replace,該鍵只是用於替換光標所在的單個字符而已。

R 持續替換直至退出 R 模式,在該模式下能夠按照 backspace 恢復

 

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

 

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

 

    :help mode-switching

 

 

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

文件操做 

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

 

分割窗口

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

:sp vim.txt split,水平分割窗口

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

 

窗口切換

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

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

 

Ctrl 在Vim中"^"通常表示Ctrl按鍵

w window

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

 

關閉窗口

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

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

Ctrl + w + [o] 關閉其餘窗口

 

保存文件

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

:w write,保存當前文件

:wa writeall,保存全部文件

 

退出文件

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

:q quit,關閉當前窗口或者當前標籤頁

:wq write + quit,先保存再關閉

 

 

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

導航以及跳轉

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

 

Vim中的移動能夠分爲兩類:導航以及跳轉。

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

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

 

:help motion

 

 

導航

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

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

 

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

w word,以單詞爲單位正向移動,光標停在第一個字母上

e end,以單詞爲單位正向移動,光標停在最後一個字母上

b back,以單詞爲單位反向移動,光標停在第一個字母上

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

而後能夠按下 ; 正向循環移動或者 , 反向循環移動

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

t till,效果與 f 相似,只不過 f 會將光標放置在目標字符上,

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

 

 

跳轉

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

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

 

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

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

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

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

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

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

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

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

H high,跳轉到當前屏幕顯示文本範圍內的第一行

L low,跳轉到當前屏幕顯示文本範圍內的最後一行

M middle,將光標移動到屏幕顯示文本範圍的中間

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

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

就將當前光標位置信息放到寄存器中保持,至關於設置了書籤。

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

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

 

 

翻頁

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

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

 

Ctrl + f forward,至關於 PageDown

Ctrl + b back,至關於 PageUp

Ctrl + d down,正向翻半頁

Ctrl + u up,反向翻半頁

 

 

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

編輯操做

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

 

刪除

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

x, d + [跳轉/移動]

 

x 剪切,內容保存在寄存器 x 中

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

dw delete word,正向刪除單詞

d0 反向刪除到行首

d$ 正向刪除到行尾

dd 刪除整行

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

 

移動

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

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

 

移動文本實際上是一個組合的操做:

首先選擇要移動的文本;

而後剪切或者複製該文本;

最後粘帖該文本。

 

x 剪切

y yank,複製,內容保存在寄存器 x 中

Y, yy 複製光標所在行

p paste,將寄存器 x 中保存的文本取出並粘貼在光標位置以後

P 同 p, 只是粘貼在光標位置以前

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

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

 

撤銷重作

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

u, Ctrl + r

 

u undo,撤銷

Ctrl + r redo,重作

 

查找

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

/ + key

 

/ 後跟要查找的字符串,而後輸入 n 循環查找。查找字符串支持正則匹配式。

原文連接羅朝輝(http://blog.csdn.net/kesalin

相關文章
相關標籤/搜索