1. 宏概念

命令 说明 重复 回退

{edit}

修改

.

u

f{char}/t{char}

在行内找下一个字符

;

,

F{char}/T{char}

在行内找上一个字符

;

,

/pattern<CR>

在文档中查找下一个匹配

n

N

?pattern<CR>

在文档中查找下一个匹配

n

N

:s/{target}/{replacement}

替换

&

u

qx{changes}q

一系列修改

@x

u

2. 快捷键

快捷键 说明

i

insert,在光标所在处输入

I

在当前光标所在行的行首输入

a

append,在光标所在处后面输入

A

在当前光标所在行的行尾输入

o

在当前光标所在行的下方打开一个新行

O

在当前光标所在行的上方打开一个新行

ZZ

保存退出

ZQ

不保存退出

:q

退出

:q!

强制退出,丢弃做出的修改

:wq

保存退出

:x

保存退出

3. 跳转

表 1. 跳转
分类 命令键 说明

通用

fx

跳转到下一个出现字母x的地方

Ctrl+]

跳转到一个主题

Ctrl+o

跳回原来位置

页间

Ctrl+f

向文件尾部翻一屏

Ctrl+b

向文件首部翻一屏

Ctrl+d

向文件尾部翻半屏

Ctrl+u

向文件首部翻半屏

Ctrl+y

向上滚屏

Ctrl+e

向下滚屏

页内

H

页首

M

页中间行

L

页底

zt

将光标所在当前行移到屏幕顶端

zz

光标所在当前行移到屏幕中间

zb

将光标所在当前行移到屏幕底端

行间

#G

跳转至由#指定行,如1G跳转到第一行

G

最后一行

gg

第一行,同 1G

行内

^

跳转至行首的第一个非空白字符

0

跳转至行首

$

跳转至行尾

段落间

}

下一段

{

上一段

句间

)

下一句

(

上一句

代码块

[[

向前跳转到当前函数的{处

][

向后跳转到当前函数的}处

[]

向前跳转到上一个函数的}处

]]

向后跳转到下一个函数的{处

[#

在#if和#else以及#endif之间向前跳转

]#

在#if和#else以及#endif之间向后跳转

[(

表示跳转到当前区块的( 处

])

跳转到当前区块的) 处

[{

跳转到当前区块的{处

]}

跳转到当前区块的}处

[/

跳转到注释的/* 处

]/

跳转到注释的*/处

%

括号匹配跳转

4. 大小写转换

gu

小写,前后都可以指定范围

gU

大写

0gu$

当前行全部转小写:可以分三部分解释 [0]:光标定位到行首 gu:选定范围统统变小写 [G]一直操作到行尾

1GguG

整个文档全部转小写:可以分三部分解释 [1G]:光标定位到文件首 gu:选定范围统统变小写 [G]一直操作到文件结束部分