简介
使用vim的场景中,很大一部分是在不同段落中跳转,掌握快速移动技巧会让很多操作事半功倍!!
按屏幕移动
常用
- crtl+f 向前(往行号大的方向移动)移动一屏,想来F代表Forward
- ctrl+b 向后移动一屏
- ctrl+d 向前移动半屏
- ctrl+u 向后移动半屏
- ctrl+e 整体上移动一行
- ctrl+y 下移动一行
重新定位屏幕
- z + 回车 // 把当前行移动到屏幕顶部
- 扩展下上命令如:
- 100z + 回车 // 将移动第100行到屏幕的顶部,记得键入100z之后要再回车
- z. // 把当前行移动到屏幕中央,不用回车,切记
- z- // 把当前行移动到屏幕底部,同上,不用回车
搜索移动
事实上,对于一个源程序文件我们往往是要查找其中的一个变量或函数名,最有效的方法就是按文本搜索快速移动。
- /pattern // 向前搜索模式,pattern代指要搜索的内容
- ?pattern // 向后搜索模式
- n // 重复上次搜索(向行号大的方向)
- N // 反方向重复上次搜索
按行号移动
- nG // 移动到第n行,注意此处G是大写。即输入n,在小写模式下输入shift+g,大写模式下直接按下g键,(如100G则能快速定位到源程序中第100行代码位置处,想必是很有用的。)
- Ctrl + g // 显示当前行(并不是移动命令)
- G // 移动到文件的尾部,在小写模式下输入shift+g,大写模式下直接按下g键
按光标移动
左:h
下:j
上:k
右:l
下一行行首:+ //shift键切换到上档 '+'
上一行行首:-
当前行行首:0
把光标移至当前行的起始位置,也即当前行的第一个非空白字符:^
当前行行尾:$后一个单词词首:w,W // w:将光标右移一个字。光标停留在下一个字的字首位置;W:将光标右移一个字。光标停留在下一个字的字首位置(即使两个字之间存在标点符号)。
后一个单词词尾:e,E // e:把光标移至当前所在字(或下一个字)的最后一个字符位置;E: 同e,只是以空格字符作为字的分隔符。
前一个单词词首:b,B //b:将光标左移一个字。光标停留在下一个字的字首位置;B:将光标左移一个字。光标停留在下一个字的字首位置(即使两个字之间存在标点符号)。
当前屏幕首行:H
当前屏幕末行:L
当前屏幕中央:M
fx //往右移动到 x 字符上
Fx //往左移动到 x 字符上
tx //往右移动到 x 字符前
Tx //往左移动到 x 字符后
(注意:以上四个命令中,其中x是键入的字符); //分号,配合 f 和 t 使用,重复一次
, //逗号,配合 f 和 t 使用,反方向重复一次
标记文本替换
mqq //用字符串qq来标记当前光标的位置
`qq //移至qq所标记处 (数字1键左边键的上档)
'qq //移至qq标记所在行的开头处(单引号)
'' //移至当前行上第一次所在位置的行的开头处(在光标移动之后,两个单引号)