vi命令

1. 移动光标

k

j

h

l

w

下一个单词开始

2w

下下个单词

e

这个单词末尾

3e

第三个单词末尾

$

行尾

^或0

行首

Ctrl-g

显示当前位置

G

文件末尾

gg

文件开始

123G

第123行

Ctrl-o

回到前一个位置

ctrl-i

回到后一个位置

2. 插入

i

在当前字符前插入

a

在当前字符后插入

A

在行尾插入

o

当前行后插入一行

O

当前行前插入一行

<ESC>

退回普通模式

3. 删除

x

删除一个字符

dw

删除到下个单词开始

d2w

删除两个单词

de

删除到这个单词末尾

d$

删除到行尾

dd

删除整行

2dd

删除2行

4. 修改

r

替换一个字符

R

替换多个字符

ce或cw

替换到单词末尾

c$

替换到行尾

c2w

替换2个单词

5. 查找

/

向后查找

?

向前查找

n

继续查找

N

反向继续查找

%

查找匹配的括号

:s/old/new

将这一行中的一个old字符串替换成new。

:s/old/new/g

将这一行中所有old字符串替换成new。

:%s/old/new/g

将文件内所有old字符串替换成new。

:%s/old/new/gc

将文件内所有old字符串替换成new,每次替换前提示确认。

:#,#s/old/new/g

将文件中某两行间的old字符串替换成new。

:set ic

查找时忽略大小写

:set noic

区分大小写

:set hls

高亮显示查找结果

:set nohls

取消高亮查找结果

:nohlsearch

取消上次查找结果的高亮显示

:set is

增量搜索

:set nois

取消增量搜索

:/abc\c

临时忽略大小写查找字符串abc

6. 恢复

u

undo

U

整行修改undo

Ctrl-R

redo

7. 复制

v

选择一部分文本

y

复制选择的部分

yw

复制一个单词

p

插入复制或删除的内容

8. 文件

:q!

不保存退出

:w

保存

:wq

保存退出

:w newfile

另存为newfile文件(或者选择的部分写到新文件)

:r file

将文件file内容插入到当前位置

:r !ls

将ls命令的执行结果插入到当前位置

:!make

执行外部命令make

:e abc

打开abc文件编辑

9. 帮助

F1

帮助

:help

帮助

:help w

查看w命令帮助

:q

退出帮助

Ctrl-w Ctrl-w

切换窗口

<Tab>

补全命令

Ctrl-d

补全命令列表

参考资源

ch3n2k.com | Copyright (c) 2004-2020 czk.