你要讓你的光標移動更有效率,你一定要了解下面的這些命令,千萬別跳過。
G
→ 到第 N 行 (陳皓注:注意命令中的G是大寫的,另我一般使用 : N 到第N行,如 :137
到第137行)gg
→ 到第一行。(陳皓注:相當于1G,或 :1)G
→ 到最后一行。w
→ 到下一個單詞的開頭。e
→ 到下一個單詞的結尾。> 如果你認為單詞是由默認方式,那么就用小寫的e和w。默認上來說,一個單詞由字母,數字和下劃線組成(陳皓注:程序變量)
> 如果你認為單詞是由blank字符分隔符,那么你需要使用大寫的E和W。(陳皓注:程序語句)
下面,讓我來說說最強的光標移動:
%
: 匹配括號移動,包括 (
, {
, [
.
(陳皓注:你需要把光標先移到括號上)*
和 #
:
匹配光標當前所在的單詞,移動光標到下一個(或上一個)匹配單詞(*是下一個,#是上一個)相信我,上面這三個命令對程序員來說是相當強大的。
你一定要記住光標的移動,因為很多命令都可以和這些移動光標的命令連動。很多命令都可以如下來干:
例如 0y$
命令意味著:
0
→ 先到行頭y
→ 從這里開始拷貝$
→ 拷貝到本行最后一個字符
你可可以輸入 ye
,從當前位置拷貝到本單詞的最后一個字符。
你也可以輸入 y2/foo
來拷貝2個 “foo” 之間的字符串。
還有很多時間并不一定你就一定要按y才會拷貝,下面的命令也會被拷貝:
d
(刪除 )v
(可視化的選擇)gU
(變大寫)gu
(變小寫)(注:可視化選擇是一個很有意思的命令,你可以先按v,然后移動光標,你就會看到文本被選擇,然后,你可能d,也可y,也可以變大寫等)
你只需要掌握前面的命令,你就可以很舒服的使用VIM了。但是,現在,我們向你介紹的是VIM殺手級的功能。下面這些功能是我只用vim的原因。
0
^
$
f
F
t
T
,
;
0
→ 到行頭^
→ 到本行的第一個非blank字符$
→ 到行尾g_
→ 到本行最后一個不是blank字符的位置。fa
→ 到下一個為a的字符處,你也可以fs到下一個為s的字符。t,
→
到逗號前的第一個字符。逗號可以變成其它字符。3fa
→ 在當前行查找第三個出現的a。F
和 T
→
和 f
和 t
一樣,只不過是相反方向。
還有一個很有用的命令是 dt"
→ 刪除所有的內容,直到遇到雙引號—— "。
a
或 i
在visual 模式下,這些命令很強大,其命令格式為
a
和 i
d
(刪除), y
(拷貝), v
(可以視模式選擇)。w
一個單詞, W
一個以空格為分隔的單詞, s
一個句字, p
一個段落。也可以是一個特別的字符:"、
'、
)、
}、
]。
假設你有一個字符串 (map (+) ("foo"))
.而光標鍵在第一個 o
的位置。
vi"
→ 會選擇 foo
.va"
→ 會選擇 "foo"
.vi)
→ 會選擇 "foo"
.va)
→ 會選擇("foo")
.v2i)
→ 會選擇 map (+) ("foo")
v2a)
→ 會選擇 (map (+) ("foo"))
塊操作,典型的操作: 0
^
→ 到行頭
→ 開始塊操作
→ 向下移動 (你也可以使用hjkl來移動光標,或是使用%,或是別的)I-- [ESC]
→ I是插入,插入“--
”,按ESC鍵來為每一行生效。
在Windows下的vim,你需要使用
而不是
,
是拷貝剪貼板。
和
在 Insert 模式下,你可以輸入一個詞的開頭,然后按
qa
操作序列 q
, @a
, @@
qa
把你的操作記錄在寄存器 a。
@a
會replay被錄制的宏。@@
是一個快捷鍵用來replay最新錄制的宏。示例
在一個只有一行且這一行只有“1”的文本中,鍵入如下命令:
qa Yp q
→
qa
開始錄制Yp
復制行. //Y復制行 p粘貼
增加1.q
停止錄制.@a
→ 在1下面寫下 2@@
→ 在2 正面寫下3100@@
會創建新的100行,并把數據增加到 103.
v
,V
,
前面,我們看到了
的示例 (在Windows下應該是v
和 V
。一但被選好了,你可以做下面的事:
J
→ 把所有的行連接起來(變成一行)<
或 >
→
左右縮進=
→ 自動給縮進 (注:這個功能相當強大,我太喜歡了)
在所有被選擇的行后加上點東西:
j
或
或是 /pattern
或是 %
等……)$
到行最后A
, 輸入字符串,按 ESC。
(
I 是在行前加上點東西 A 是在行后
)
:split
和 vsplit
.
下面是主要的命令,你可以使用VIM的幫助 :help split
. 你可以參考以前的一篇文章VIM分屏。
:split
→ 創建分屏 (:vsplit
創建垂直分屏)
: dir就是方向,可以是 hjkl
或是
←↓↑→ 中的一個,其用來切換分屏。_
(或 |
) :
最大化尺寸 (+
(或 -
) :
增加尺寸
學習vim就像學彈鋼琴一樣,一旦學會,受益無窮。
——————————正文結束——————————
這是一個你不需要使用鼠標,不需使用小鍵盤,只需要使用大鍵盤就可以完成很多復雜功能文本編輯的編輯器。不然,Visual Studio也不就會有vim的插件了。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com