VI
警告
已恢复历史版本
当前版本 00000014 在备份中缺失;以下内容来自最新可读取版本 00000013。
vi命令
移动光标
| 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 | 补全命令列表 |