標籤:
玩轉VIM-劄記(三)
眨眼之間,5月就要從指間溜走,不給人一點點遐想的時間,我要趕緊抓著五月的尾巴,在部落格中在添一筆。那麼就還接著Vim來說吧。以Vim來為五月畫上一個句號。
返璞歸真
相信經過玩轉Vim-劄記(一)和玩轉Vim-劄記(二)的學習,對於游標的移動已經能做到隨心所欲了,但是如果想要更快速的操作,以下幾個游標移動的命令也是必不可少的。
在當前行上移動游標: 0
^
$
f
F
t
T
,
;
0
→ 到行頭
^
→ 到本行的第一個非blank字元
$
→ 到行尾
g_
→ 到本行最後一個不是blank字元的位置。
fa
→ 到下一個為a的字元處,你也可以fs到下一個為s的字元。
t,
→ 到逗號前的第一個字元。逗號可以變成其它字元。
3fa
→ 在當前行尋找第三個出現的a。
F
和 T
→ 和 f
和 t
一樣,只不過是相反方向。
地區選取項目 <action>a<object>
或 <action>i<object>
在visual 模式下,這些命令很強大,其命令格式為
<action>a<object>
和 <action>i<object>
- action可以是任何的命令,如
d
(刪除), y
(拷貝), v
(可以視模式選擇)。
- object 可能是:
w
一個單詞, W
一個以空格為分隔的單詞, s
一個句字, p
一個段落。也可以是一個特別的字元:"、
‘、
)、
}、
]。
假設你有一個字串 (map (+) ("foo"))
.而游標鍵在第一個 o
的位置。
vi"
→ 會選擇 foo
.
va"
→ 會選擇 "foo"
.
vi)
→ 會選擇 "foo"
.
va)
→ 會選擇("foo")
.
v2i)
→ 會選擇 map (+) ("foo")
v2a)
→ 會選擇 (map (+) ("foo"))
塊操作: <C-v>
塊操作,典型的操作: 0 <C-v> <C-d> I-- [ESC]
^
→ 到行頭
<C-v>
→ 開始塊操作
<C-d>
→ 向下移動 (你也可以使用hjkl來移動游標,或是使用%,或是別的)
I-- [ESC]
→ I是插入,插入“--
”,按ESC鍵來為每一行生效。
在Windows下的vim,你需要使用 <C-q>
而不是 <C-v>
,<C-v>
是拷貝剪貼簿。
自動提示: <C-n>
和 <C-p>
在 Insert 模式下,你可以輸入一個詞的開頭,然後按 <C-p>或是<C-n>,自動補齊功能就出現了……
宏錄製: qa
操作序列 q
, @a
, @@
可視化選擇: v
,V
,<C-v>
前面,我們看到了 <C-v>
的樣本 (在Windows下應該是<C-q>),我們可以使用 v
和 V
。一但被選好了,你可以做下面的事:
J
→ 把所有的行串連起來(變成一行)
<
或 >
→ 左右縮排
=
→ 自動給縮排
在所有被選擇的行後加上點東西:
<C-v>
- 選中相關的行 (可使用
j
或 <C-d>
或是 /pattern
或是 %
等……)
$
到行最後
A
, 輸入字串,按 ESC。
分屏: :split
和 vsplit
下面是主要的命令,你可以使用VIM的協助 :help split
. 你可以參考陳皓以前的一篇文章VIM分屏。
:split
→ 建立分屏 (:vsplit
建立垂直分屏)
<C-w><dir>
: dir就是方向,可以是 hjkl
或是 ←↓↑→ 中的一個,其用來切換分屏。
<C-w>_
(或 <C-w>|
) : 最大化尺寸 (<C-w>| 垂直分屏)
<C-w>+
(或 <C-w>-
) : 增加尺寸
參考:http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/
PS:本部落格歡迎轉寄,但請註明部落格地址及作者,因本人水平有限,若有不對之處,歡迎指出,謝謝~
部落格地址:http://www.cnblogs.com/voidy/
部落格新址:http://voidy.net
<。)#)))≦
玩轉VIM-劄記(三)