版本4和13间的区别 (跳过第9版)
于2008-09-02 21:04:49修订的的版本4
大小: 1801
编辑: czk
备注:
于2008-09-09 21:00:34修订的的版本13
大小: 2840
编辑: czk
备注:
删除的内容标记成这样。 加入的内容标记成这样。
行号 3: 行号 3:
 * k j h l 上下左右
 *
w 下一个单词开始
 *
2w 下下个单词
 *
e 这个单词末尾
 *
3e 第三个单词末尾
 *
$ 行尾
 *
^或0 行首
 *
Ctrl-g 显示当前位置
 *
G 文件末尾
 *
gg 文件开始
 *
123G 第123行
 *
Ctrl-o 回到前一个位置
 *
ctrl-i 回到后一个位置
||k||上||
||
j||下||
||
h||||
||l||
||
||
w||下一个单词开始||
||
2w|| 下下个单词||
||
e|| 这个单词末尾||
||
3e|| 第三个单词末尾||
||
$|| 行尾||
||
^或0|| 行首||
||
Ctrl-g|| 显示当前位置||
||
G|| 文件末尾||
||
gg|| 文件开始||
||
123G||第123行||
||
Ctrl-o||回到前一个位置||
||
ctrl-i||回到后一个位置||
行号 17: 行号 20:
 * i 在当前字符前插入
 * a 在当前字符后插入
 * A 在行尾插入
 * o 当前行后插入一行
 * O 当前行前插入一行
 * <ESC> 退回普通模式
||i|| 在当前字符前插入||
||a|| 在当前字符后插入||
||A|| 在行尾插入||
||o|| 当前行后插入一行||
||O|| 当前行前插入一行||
||{{{<ESC>}}}|| 退回普通模式||
行号 25: 行号 28:
 * x 删除一个字符
 * dw 删除到下个单词开始
 * d2w 删除两个单词
 * de 删除到这个单词末尾
 * d$ 删除到行尾
 * dd 删除整行
 * 2dd 删除2行
||x|| 删除一个字符||
||dw|| 删除到下个单词开始||
||d2w|| 删除两个单词||
||de|| 删除到这个单词末尾||
||d$|| 删除到行尾||
||dd|| 删除整行||
||2dd|| 删除2行||
行号 34: 行号 37:
 * r 替换一个字符
 * R 替换多个字符
 * ce或cw 替换到单词末尾
 * c$ 替换到行尾
 * c2w 替换2个单词
||r|| 替换一个字符||
||R|| 替换多个字符||
||ce或cw|| 替换到单词末尾||
||c$|| 替换到行尾||
||c2w|| 替换2个单词||
行号 41: 行号 44:
 * / 向后查找
 *
? 向前查找
 * 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。
|| / || 向后查找||
||
? || 向前查找||
|| 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||
 
行号 52: 行号 64:
 * u undo
 * U 整行修改undo
 * Ctrl-R redo
 * p 插入删除的内容
 * v 选择一部分文本
|| u ||undo||
|| U ||整行修改undo||
|| Ctrl-R ||redo||
=== 复制 ===
|| v ||选择一部分文本||
|| y ||复制选择的部分||
|| yw ||复制一个单词||
|| p ||插入复制或删除的内容||
行号 59: 行号 74:
 * :q! 不保存退出
 * :wq 保存退出
 * :w newfile 另存为newfile文件(或者选择的部分写到新文件)
 * :r file 将文件file内容插入到当前位置
 * :r !ls 将ls命令的执行结果插入到当前位置
 * :!make 执行外部命令make
|| :q! ||不保存退出||
|| :w ||保存||
|| :wq || 保存退出||
|| :w newfile ||另存为newfile文件(或者选择的部分写到新文件)||
|| :r file ||将文件file内容插入到当前位置||
|| :r !ls ||将ls命令的执行结果插入到当前位置||
|| :!make ||执行外部命令make||
|| :e abc ||打开abc文件编辑||
=== 帮助 ===
|| F1 || 帮助||
|| :help ||帮助||
|| :help w||查看w命令帮助||
|| :q ||退出帮助||
|| Ctrl-w Ctrl-w ||切换窗口||
|| <Tab> ||补全命令||
|| Ctrl-d ||补全命令列表||

= 参考资源 =
 * [[http://www2.geog.ucl.ac.uk/~mdisney/teaching/unix/vimtutor|vimtutor]]
 * [[http://www.linux521.com/vi.htm]]

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.