原文地址:Vim光標(biāo)移動命令
介紹Vim光標(biāo)移動命令搂鲫,移動vim光標(biāo)到行首、行跳轉(zhuǎn)磺平、vim匹配單詞和匹配括號跳轉(zhuǎn)魂仍,Vim翻頁命令。
一拣挪、Vim光標(biāo)移動簡介
Vi/Vim中進(jìn)行光標(biāo)移動的命令是針對不同的操作單位而設(shè)計(jì)擦酌,不同的命令對應(yīng)不同的操作單位。
在執(zhí)行Vim光標(biāo)移動命令時菠劝,首先要分清楚是采用哪種操作單位:一個字符赊舶、一個句子、一個段落、一行笼平、一屏园骆、一頁。
確定操作單位后寓调,需要確定命令重復(fù)執(zhí)行的次數(shù)遇伞。Vim光標(biāo)移動命令的操作對象范圍計(jì)算公式為:
操作范圍 = 操作次數(shù) x 操作單位
例如:5h
命令表示左移5個字符,8w
命令右移8個單詞
二捶牢、Vim移動光標(biāo)命令
2.1 上鸠珠、下、左秋麸、右
←h????j↓????k↑????l→
Vim的上下左右移動光標(biāo)命令是經(jīng)過精心設(shè)計(jì)的渐排,我們在使用編輯器時最常用的操作是下移光標(biāo)。
而鍵盤上的j灸蟆、k按鍵使用最方便驯耻,所以分別用來作為下移、上移光標(biāo)炒考。
h、l分別位于j帘靡、k的兩側(cè)描姚,根據(jù)其所在方位用來實(shí)現(xiàn)光標(biāo)的左移和右移戈次。
2.2 行級移動
0
?????????移動光標(biāo)到當(dāng)前行行首
$
?????????移動光標(biāo)到當(dāng)前行行尾
^
?????????移動光標(biāo)到當(dāng)前行的第一個非空字符
nG
???????移動光標(biāo)到當(dāng)前文件的第n行
:n
???????移動光標(biāo)到當(dāng)前文件的第n行 (同上)
tips:
(1) Vim的命令中绊寻,0 表示行首悬秉,
(2) 移動光標(biāo)到當(dāng)前文件的第n行使用的命令:n
是在vim尾行模式下執(zhí)行的,所以輸入完:n
后需要按回車鍵執(zhí)行命令
2.3 文件首尾移動
gg
或 :0
???????移動光標(biāo)到當(dāng)前文件的第一行
GG
或 :$
???????移動光標(biāo)到當(dāng)前未經(jīng)的最后一行
2.4 單詞級移動
w
或 W
??????????移動到下一單詞的開頭
b
或 B
??????????移動到上一單詞的開頭
e
或 E
??????????移動到光標(biāo)所在單詞的末尾
W百姓、B况木、E命令操作的單詞是以空白字符(空格火惊、Tab)分隔的字串
比如字符串“str1-str2 str3-str4”,對W屹耐、B、E命令來說是兩個單詞寿弱,而對w按灶、b鸯旁、e命令來說則是四個單詞
關(guān)于Vim單詞和字串羡亩,可以參考Vim教程網(wǎng)文章Vim基于單詞移動及其Vim單詞畏铆、字串概念
2.5 匹配單詞級移動
*
????????移動光標(biāo)到 [匹配] 光標(biāo)當(dāng)前所在單詞的下一個單詞
#
????????移動光標(biāo)到 [匹配] 光標(biāo)當(dāng)前所在單詞的上一個單詞
2.6 匹配括號移動
%
????????移動光標(biāo)到括號左半部分( 包括(辞居、{瓦灶、[ )對應(yīng)右半匹配部分( )贼陶、}巧娱、] )
2.7 段落級移動
}
???????移動光標(biāo)到當(dāng)前段落的末尾
{
???????移到光標(biāo)到當(dāng)前段落的開頭
2.8 屏幕級移動
H
???????移動光標(biāo)到屏幕的第一行
M
???????移動光標(biāo)到屏幕的中間一行
L
???????移動光標(biāo)到屏幕的最后一行
2.9 翻頁
Ctrl + f
???????向前滾動一頁
Ctrl + b
???????向后滾動一頁
Ctrl + u
???????向前滾動半頁
Ctrl + d
???????向后滾動半頁
三烘贴、與其他命令聯(lián)動
很多命令都可以和Vim教程網(wǎng)總結(jié)的vim光標(biāo)移動命令連動
基本命令模式為:<start_position><command><end_position>
例如禁添,Vim命令0y$
拆開分別表示:0
移動光標(biāo)到當(dāng)前行首桨踪;y
復(fù)制老翘;$
當(dāng)前行尾锻离。所以铺峭,命令0y$
意味著復(fù)制光標(biāo)當(dāng)前所在行所有內(nèi)容
例如汽纠,Vim命令ye
逛薇,表示從當(dāng)前位置拷貝到當(dāng)前所在單詞的最后一個字符