命令模式
命令 | 效果 |
---|---|
$ | 移动光标到行尾 |
^ | 移动光标到行首第一个非空白字符 |
0 | 移动光标到行首 |
yy | 复制一行内容(命令前加数字表示从当前行开始复制几行) |
p | 粘贴内容(命令前加数字表示在当前行的下一行粘贴几次) |
dd | 删除一行内容(命令前加数字表示从当前行开始删除几行) |
Ctrl+f | 向前翻页(展示后一页内容) |
Ctrl+b | 向后翻页(展示前一页内容) |
Ctrl+d | 向下翻半页(展示后半页内容) |
Ctrl+u | 向上翻半页(展示前半页内容) |
G | 跳转到文件最后一行(命令前加数字表示跳转到指定行) |
gg | 跳转到文件第一行 |
/ | 当前光标向下查找(默认区分大小写,可以在匹配内容后面加\c 表示忽略大小写) |
? | 当前光标向上查找(默认区分大小写,可以在匹配内容后面加\c 表示忽略大小写) |
n | 当使用查找时,向当前查找方向查找下一个匹配项 |
N | 当使用查找时,向当前查找方向相反方向查找下一个匹配项 |
u | 撤销 |
U | 撤销所有操作 |
Ctrl+r | 回退一次撤销 |
尾行模式
通过:
加命令来实现功能
命令 | 效果 |
---|---|
:set nu | 显示行号 |
:set nonu | 不显示行号 |
:数字 | 跳转到指定行 |
:set ic | 启用忽略大小写的搜索 |
:set noic | 禁用忽略大小写的搜索 |
:10,20s/hello/world/g | 数字表示范围(没有表示当前行,替换全文可以用"1,$" )s表示替换 hello表示匹配项 world表示需要替换的内容 g表示这一行的每一个匹配项都替换(没有表示只替换第一个匹配项) |
临时文件
vi在编辑某一个文件时,会生成一个临时文件,这个文件以. 开头并以.swp结尾。正常退出该文件自动删除,如果意外退出,该文件不会删除,在我们下次编辑该文件时会被要求选择以下命令处理:
命令 | 效果 |
---|---|
O | 只读打开,不改变文件内容 |
E | 继续编辑文件,不恢复.swp文件保存的内容 |
R | 将恢复上次编辑以后未保存文件内容 |
Q | 退出vi |
D | 删除.swp文件 |