原文地址:Vim教程網——Vim光標移動命令彙總。html
介紹Vim光標移動命令,移動vim光標到行首、行跳轉、vim匹配單詞和匹配括號跳轉,Vim翻頁命令。vim
Vi/Vim中進行光標移動的命令是針對不一樣的操做單位而設計,不一樣的命令對應不一樣的操做單位。編輯器
在執行Vim光標移動命令時,首先要分清楚是採用哪一種操做單位:一個字符、一個句子、一個段落、一行、一屏、一頁。spa
肯定操做單位後,須要肯定命令重複執行的次數。Vim光標移動命令的操做對象範圍計算公式爲:
操做範圍 = 操做次數 x 操做單位設計
例如:5h
命令表示左移5個字符,8w
命令右移8個單詞code
←h j↓ k↑ l→htm
Vim的上下左右移動光標命令是通過精心設計的,咱們在使用編輯器時最經常使用的操做是下移光標。
而鍵盤上的j、k按鍵使用最方便,因此分別用來做爲下移、上移光標。
h、l分別位於j、k的兩側,根據其所在方位用來實現光標的左移和右移。對象
0
移動光標到當前行行首$
移動光標到當前行行尾^
移動光標到當前行的第一個非空字符nG
移動光標到當前文件的第n行:n
移動光標到當前文件的第n行 (同上)blog
tips:教程
(1) Vim的命令中,0 表示行首,$* 表示行尾。能夠回顧下[Vim文本編輯命令彙總](https://vimjc.com/vim-edit-command.html)中提到的刪除命令,裏面就提到了*0*和*$
(2) 移動光標到當前文件的第n行使用的命令:n
是在vim尾行模式下執行的,因此輸入完:n
後須要按回車鍵執行命令
gg
或 :0
移動光標到當前文件的第一行GG
或 :$
移動光標到當前未經的最後一行
w
或 W
移動到下一單詞的開頭 b
或 B
移動到上一單詞的開頭 e
或 E
移動到光標所在單詞的末尾
W、B、E命令操做的單詞是以空白字符(空格、Tab)分隔的字串
好比字符串「str1-str2 str3-str4」,對W、B、E命令來講是兩個單詞,而對w、b、e命令來講則是四個單詞
關於Vim單詞和字串,能夠參考Vim教程網文章Vim基於單詞移動及其Vim單詞、字串概念
*
移動光標到 [匹配] 光標當前所在單詞的下一個單詞#
移動光標到 [匹配] 光標當前所在單詞的上一個單詞
%
移動光標到括號左半部分( 包括(、{、[ )對應右半匹配部分( )、}、] )
}
移動光標到當前段落的末尾{
移到光標到當前段落的開頭
H
移動光標到屏幕的第一行M
移動光標到屏幕的中間一行L
移動光標到屏幕的最後一行
Ctrl + f
向前滾動一頁Ctrl + b
向後滾動一頁
Ctrl + u
向前滾動半頁Ctrl + d
向後滾動半頁
不少命令均可以和Vim教程網總結的vim光標移動命令連動
基本命令模式爲:<start_position><command><end_position>
例如,Vim命令0y$
拆開分別表示:0
移動光標到當前行首;y
複製;$
當前行尾。因此,命令0y$
意味着複製光標當前所在行全部內容
例如,Vim命令ye
,表示從當前位置拷貝到當前所在單詞的最後一個字符