Vim實戰指南(二):光標移動技巧

原文地址:Vim實戰指南(二):光標移動技巧編程

Introduction

提高Vim/vi的打字效率的一個技巧就是快速移動光標。或許你以爲這不值一提,用hjkl或者上下左右也能移動,不過相信我,我下面要介紹的移動光標技巧絕對物超所值。學習

按屏移動

在命令行模式下,vi的整屏移動命令能夠按如下方式速記:命令行

Ctrl+F :forward:同PageDown鍵,向下移動整屏
Ctrl+B: backward:同PageUp鍵,向上移動整屏
Ctrl+D: down:向下移動半屏
Ctrl+U: up:向上移動半屏
z[Enter]:使光標指向的當前行成爲屏幕的首行
z.:使光標指向的當前行成爲屏幕的中間行
z-:使光標指向的擋前行成爲屏幕的尾行
H: home:使光標移動到當前屏幕的首行
M: middle:使光標移動到當前屏幕的中間行
L: last:使光標移動到當前屏幕的尾行
[Enter]:使光標移動到下一行的第一個字符
+:同[Enter],使光標移動到下一行的第一個字符
-:使光標移動到上一行的第一個字符日誌

一樣,你能夠利用vi的組合命令特性,採用數字+字符的方式來移動,如get

3H: 3 lines below home line:使光標移動到當前屏幕的首行的下數第三行
3L: 3 lines above last line:使光標移動到當前屏幕的尾行的上數第三行io

按字詞移動

除了按屏移動,你也須要按字/詞來移動,一樣在命令行模式下,vi的整屏移動命令能夠按如下方式速記:編譯

e: move to end of word:移動到字/詞的尾部(包括標點)
E: move to large end of word,移動到字/詞的尾部(忽略標點)
(:移動到句首(根據?.!等標點符號)
):移動到下一句
{:移動到段首(根據空行)
}:移動到下一段
[[:移動到章首
]]:移動到下一章ast

一樣,你能夠利用vi的組合命令特性,採用數字+字符的方式來移動,如效率

3)):移動到後三句搜索

按搜索詞移動

搜索移動應該是最常使用的移動方式,在命令行模式下輸入'/'來啓動搜索

/assignment[Enter]:在文中搜索assignment
/programming[Enter]:在文中搜索programming

此處有一個技巧,若是你想搜索an,你能夠在an先後各敲一個空格,搜索

/ an [Enter]

當你但願繼續搜索時,輸入

n:vi將跳到下一個匹配的搜索的地方
N:vi將跳到上一個匹配的搜索的地方
/:從光標位置向後搜索
?:從光標位置向前搜索

此處有一個技巧,若是你以爲搜索的時候屏幕跳動太快,能夠輸入

:set nowrapscan

搜索的高級用法這裏先賣個關子,以避免太過複雜,學習曲線太陡,後面我再羅列
若是你只但願在當前行搜索,能夠用下面的方法

fa: find a:查找當前行光標後的字符a
Fa:查找當前行光標前的字符a
ta: 同fa,區別在於查找到時光標在a的前面
Tx:同Fa,區別在於查找到時光標在a的前面
;:繼續從光標位置向後搜索
,:繼續從光標位置向前搜索

按行列號移動

在平常編程中,常常須要直接根據行號來跳轉,如編譯錯誤、日誌行數等
跳轉前,你須要打開行號,輸入

:set nu

下面是移動命令,利用vi的組合命令特性,採用數字+字符的方式來移動

3G:移動到第三行
3|:移動到第三列
``:移動當跳轉前的行,按搜索詞移動也可用
'':同``,區別在於光標跳轉到行首

最後,你能夠輸入Ctrl+G來查看當前行列號,以及文本的總行數

Summary

上述的基本命令必定要熟記於心,增強練習。不要以爲命令太多,快速移動光標絕對是提高編輯速度的利器。

相關文章
相關標籤/搜索