2561
备注:
|
2654
|
删除的内容标记成这样。 | 加入的内容标记成这样。 |
行号 91: | 行号 91: |
* 详细说明: [[attachment:vi.htm]] | = 参考资源 = * [[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 补全命令列表