版本9和10间的区别
于2008-09-02 21:52:04修订的的版本9
大小: 2519
编辑: czk
备注:
于2008-09-09 19:08:06修订的的版本10
大小: 2603
编辑: 60
备注:
删除的内容标记成这样。 加入的内容标记成这样。
行号 90: 行号 90:

[[http://czk.8866.org/wiki/VI?action=AttachFile&do=view&target=vi.htm|Vi详解]]

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 补全命令列表

Vi详解

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