第三章 快速移动
滚动屏幕(大小写没有关系)
^F 或 ^f 向前滚动一屏forward
^B 向后滚动一屏backward
^D 向前滚动半屏down
^U 向后滚动半屏up
^E 向前滚动一行,光标保持原来位置
^Y 向后滚动一行
使用z重新定位屏幕(一定是刷新了屏幕的)
z RETURN 滚动屏幕,使得当前行移动到屏幕顶部
z. 滚动屏幕,使得当前行移动到屏幕中央
z- 滚动屏幕,使得当前行移动到屏幕底部
200z RETURN 滚动屏幕,使得第200行移动到屏幕顶部
刷新屏幕 ^L
在屏幕内移动
H 移动到屏幕首行第一个可显示字符上
M 移动到屏幕的中间行
L 移动到屏幕的末行
nH 移动到屏幕首行下面的第n行
nL 移动到屏幕末行下面的第n行
按行移动
RETURN 移动到下一行首字符(忽略任何空格)
+ 移动到下一行首字母
- 移动到上一行首字母
在当前行内移动
^ 移动到当前行的第一个非空格字符
n| 移动到当前行的第 n 列
按文本块移动
e 移动到词尾
E 移动到词尾 ( 标点也算词 )
( 移动到当前句子开始 ( 位于当前句子开始时执行后为上一个句子的开始 , 一个句子的开始就是找到 regexp([.?!] ))
) 移动到下个句子开始
{ 移动到当前段落开始 ( 段落的定义是文本后为一空行 )
} 移动到下个段落开始
[[ 移动到当前节开始 ( 文本后有默认的节宏 )
]] 移动到下一节开始
3) 向前移动 3 个句子
d) 删除到当前句子结尾的文本
2y} 复制前面的两个段落
按搜索移动 ( 最有效的 )
/pattern 向前搜索 pattern
?pattern 向后搜索 pattern
n 同向重复搜索
N 反向重复搜索
/ RETURN 向前重复搜索
? RETURN 向后重复搜索
:set nowrapscan 设置否需要折回搜索
通过搜索进行修改
d?move 删除 [move, 当前光标 )
当前行内搜索
f x 在行内搜索 ( 移动光标到 )x 的下一个实例 ( 范围 :( 当前光标 , end))
F x 在行内搜索 ( 移动光标到 )x 的上一个实例
t x 在行内搜索 ( 移动光标到 )x 的下一个实例前面的字符
T x 在行内搜索 ( 移动光标到 )x 的上一个实例后面的字符
; 同方向重复前面搜索命令 , 于是 tx 和 Tx 就不能再移动了
, 反方向重复前面搜索命令
df x 将删除到指定字符 x 之间的文本
按行号移动
^G 命令使得将文件名 , 行号 , 百分比显示在左下角
通过 :set nu 可以显示文件的出行号
G( 转移 ) 命令
G 到文章最后一行的第一个字符
10G 到第 10 行
两个反引号 `` 将光标返回到上次的位置 ( 在两个位之间切换的好方法 )
两个引号 '' 除了返回的是上次的位置的首行外与 `` 没有什么不同
回顾 vi 移动命令
移动 |
命令 |
向前滚动一屏 |
^F |
向后滚动一屏 |
^B |
向前滚动半屏 |
^d |
向后滚动半屏 |
^u |
向前滚动一行 |
^e(extra line) |
向后滚动一行 |
^y |
把当前行移动到屏幕顶部并滚动 |
z RETURN |
把当前行移动到屏幕中央并滚动 |
z. |
把当前行移动到屏幕底部并滚动 |
z- |
刷新屏幕 |
^L |
移动到起始点 ( 屏幕首行 ) |
H |
移动到屏幕的中间行 |
M |
移动到屏幕的末行 |
L |
移动到下一行的首字符 |
+ 或 RETURN |
移动到上一行的首字符 |
- |
移动到当前行的第一个非空字符 |
^ |
移动到当前行的第 n 列 |
n| |
移动到词尾 |
e |
移动到词尾 ( 单词包括标点 ) |
E |
移动到当前句子的开始 |
( |
移动到下一句的开始 |
) |
移动到当前段落的开始 |
{ |
移动到下一段的开始 |
} |
移动到当前节的开始 |
[[ |
移动到下一节的开始 |
]] |
向前搜素模式 |
/ pattern |
向后搜索模式 |
? pattern |
重复上次搜索 |
n |
反方向重复上次搜索 |
N |
向前重复上次搜索 |
/ |
向后重复上次搜索 |
? |
移动到当前行中 x 的下一个实例 |
fx |
移动到当前行中 x 的上一个实例 |
Fx |
移动到当前行中 x 的下一个实例前面 |
tx |
移动到当前行中 x 的上一个实例后面 |
Tx |
同方向重复前面的搜索命令 |
; |
反方向重复前面的搜索命令 |
, |
移动到第 n 行 |
nG |
移动到文件的尾部 |
G |
返回到以前的标记或上下文 |
`` |
返回到包含以前标记的行的开始 |
'' |
显示当前行 ( 不是移动命令 ) |
^G |