正常模式一般用于浏览文本,其实也就是通过键盘命令让光标在文本中跳来跳去,在任何模式下按一次或两次<Esc>会进入正常模式。
基本思想
vim对光标的定位操作非常精确和高效,这是它的一个非常好用的地方。但是,由于按键和按键组合太多太复杂,会让好多初学者望而却步。
其实,vim的光标定位是有规律的,就好像当初学五笔打字一样,看起来要记很多字根,其实键盘上字根的排列是非常有规律的,一旦清楚这些规律,学习就会心里有数很多。
对于vim来说,它的很多操作都遵循<数量><动作><单位>这样的模式,这3者可以互相组合,<数量>不能单独存在。比如w是光标向右移动1个单词,而3w则是光标向右移动3个单词;dw是删除光标后面一个单词,而3dw是删除光标后面3个单词。
上述的<动作>主要用在插入模式,下篇文章讲;<单位>从小到大包括字符、单词、行、句子、段落、屏幕、页面和文件。
基本指令
下面给出这些<单位>对应的基本光标定位指令:
单位 | 命令 | 说明 |
字符 | h | 左移1个字符 |
l | 右移1个字符 | |
单词 | w、W | 移动到下一个单词的开头,大写是以空格分隔的单词 |
b、B | 移动到上一个单词的开头 | |
e、E | 移动到当前单词的末尾 | |
行 | j | 向下移动1行 |
k | 向上移动1行 | |
0 | 移动到行首 | |
^ | 移动到行首第一个非空白字符 | |
$ | 移动到行尾 | |
<n>| | 移动到当前行第n列,比如12|是移动到第12列 | |
<n>G | 移动到第n行,比如12G是移动到第12行 | |
+ | 移动到下一行第一个非空白字符处 | |
- | 移动到上一行第一个非空白字符处 | |
句子 | ) | 移动到句尾 |
( | 移动到句首 | |
段落 | } | 移动到段尾 |
{ | 移动到段首 | |
屏幕 | H | 移动到屏幕最上面一行 |
M | 移动到屏幕中间一行 | |
L | 移动到屏幕最下面一行 | |
<Ctrl>+e | 屏幕向下滚动一行,光标不动 | |
<Ctrl>+y | 屏幕向上滚动一行,光标不动 | |
zt | 将当前行移动到屏幕顶端 | |
zz | 将当前行移动屏幕中间 | |
zb | 将当前行移动到屏幕底端 | |
页面 | <Ctrl>+f | 向下滚动一页 |
<Ctrl>+b | 向上滚动一页 | |
<Ctrl>+d | 向下滚动半页 | |
<Ctrl>+u | 向上滚动半页 | |
文件 | gg | 移动文件开头 |
G | 移动文件末尾 | |
<n>% | 移动到文件n%处,比如30%是定位到文件30%处 |
其余跳转命令
//TODO: %, [[ ]] [] ][....
【参考】
时间: 2024-11-05 02:23:01