版本1和10间的区别 (跳过第9版)
于2008-09-02 20:06:01修订的的版本1
大小: 16
编辑: czk
备注:
于2008-09-09 19:08:06修订的的版本10
大小: 2603
编辑: 60
备注:
删除的内容标记成这样。 加入的内容标记成这样。
行号 2: 行号 2:
=== 移动光标 ===
||k||上||
||j||下||
||h||左||
||l||右||
||w||下一个单词开始||
||2w|| 下下个单词||
||e|| 这个单词末尾||
||3e|| 第三个单词末尾||
||$|| 行尾||
||^或0|| 行首||
||Ctrl-g|| 显示当前位置||
||G|| 文件末尾||
||gg|| 文件开始||
||123G||第123行||
||Ctrl-o||回到前一个位置||
||ctrl-i||回到后一个位置||
=== 插入 ===
||i|| 在当前字符前插入||
||a|| 在当前字符后插入||
||A|| 在行尾插入||
||o|| 当前行后插入一行||
||O|| 当前行前插入一行||
||{{{<ESC>}}}|| 退回普通模式||

=== 删除 ===
||x|| 删除一个字符||
||dw|| 删除到下个单词开始||
||d2w|| 删除两个单词||
||de|| 删除到这个单词末尾||
||d$|| 删除到行尾||
||dd|| 删除整行||
||2dd|| 删除2行||

=== 修改 ===
||r|| 替换一个字符||
||R|| 替换多个字符||
||ce或cw|| 替换到单词末尾||
||c$|| 替换到行尾||
||c2w|| 替换2个单词||

=== 查找 ===
 * / 向后查找
 * ? 向前查找
 * 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
 *
=== 恢复 ===
 * u undo
 * U 整行修改undo
 * Ctrl-R redo
=== 复制 ===
 * v 选择一部分文本
 * y 复制选择的部分
 * yw 复制一个单词
 * p 插入复制或删除的内容

=== 文件 ===
 * :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://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.