玩轉VIM-札記(三)html
眨眼之間,5月就要從指間溜走,不給人一點點遐想的時間,我要趕忙抓着五月的尾巴,在博客中在添一筆。那麼就還接着Vim來講吧。以Vim來爲五月畫上一個句號。shell
返璞歸真vim
相信通過玩轉Vim-札記(一)和玩轉Vim-札記(二)的學習,對於光標的移動已經能作到爲所欲爲了,可是若是想要更快速的操做,如下幾個光標移動的命令也是必不可少的。學習
在當前行上移動光標: 0
^
$
f
F
t
T
,
;
spa
0
→ 到行頭^
→ 到本行的第一個非blank字符$
→ 到行尾g_
→ 到本行最後一個不是blank字符的位置。fa
→ 到下一個爲a的字符處,你也能夠fs到下一個爲s的字符。t,
→ 到逗號前的第一個字符。逗號能夠變成其它字符。3fa
→ 在當前行查找第三個出現的a。F
和 T
→ 和 f
和 t
同樣,只不過是相反方向。區域選擇 <action>a<object>
或 <action>i<object>
.net
在visual 模式下,這些命令很強大,其命令格式爲code
<action>a<object>
和 <action>i<object>
htm
d
(刪除), y
(拷貝), v
(能夠視模式選擇)。w
一個單詞, W
一個以空格爲分隔的單詞, s
一個句字, p
一個段落。也能夠是一個特別的字符:"、
'、
)、
}、
]。
假設你有一個字符串 (map (+) ("foo"))
.而光標鍵在第一個 o
的位置。blog
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
, @@
qa
把你的操做記錄在寄存器 a。
@a
會replay被錄製的宏。@@
是一個快捷鍵用來replay最新錄製的宏。示例
在一個只有一行且這一行只有「1」的文本中,鍵入以下命令:
qaYp<C-a>q
→@a
→ 在1下面寫下 2
qa
開始錄製Yp
複製行.<C-a>
增長1.q
中止錄製.@@
→ 在2 正面寫下3100@@
會建立新的100行,並把數據增長到 103.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
<。)#)))≦