vi/vim 简介
vi 是所有 Unix 及 Linux 系统下标准的编辑器;
vim (全称:Vi IMproved):对 vi 做了扩展,具有语法高亮等功能;
vi 模式切换
分类 | 输入 | 英文全称 | 操作 | 备注 |
模式切换 | vi 文件名 | 进入命令模式 | 常用 | |
i | Insert | 进入插入模式 | 常用 | |
Esc | 退回命令模式 | 常用 | ||
: | 进入末行模式 | 常用 | ||
:wq | Write / Quit | 保存并退回命令模式 | 常用 |
常用操作
1. 移动光标
分类 | 输入 | 英文全称 | 操作 | 备注 |
行内移动 | h 或 ← | 光标向左移动一个字符 | 常用 | |
j 或 ↓ | 光标向下移动一个字符 | 常用 | ||
k 或 ↑ | 光标向上移动一个字符 | 常用 | ||
l 或 → | 光标向右移动一个字符 | 常用 | ||
0(数字 0) 或 Home 键 | 光标移动到行首 | 常用 | ||
$ 或 End 键 | 光标移动到行位 | 常用 | ||
数字 n + 空格键 | 光标向后移动 n 个字符 | |||
屏幕内移动 | Ctrl + f 或 Page Up 键 | Front | 向下翻一页 | 常用 |
Ctrl + b 或 Page Down 键 | Back | 向上翻一页 | 常用 | |
Ctrl + d | Down | 向下翻半页 | ||
Ctrl + u | Up | 向上翻半页 | ||
H (Shift + h) | Head | 光标移动到屏幕的第一行 | ||
M (Shift + m) | Middle | 光标移动到屏幕的中间一行 | ||
L (Shift + l) | Last | 光标移动到屏幕的最后一行 | ||
+ (加号) | 光标移动到下一行的非空格首字符 | |||
- (减号) | 光标移动到上一行的非空格首字符 | |||
文件内移动 | G (Shift + g) | Global | 光标移动到文件的最后一行 | 常用 |
数字 n + G | 光标移动到文件的第 n 行 | 常用 | ||
gg | 光标移动到文件的第 1 行 | 常用 | ||
数字 n + Enter | 光标向下移动 n 行 | 常用 |
2. 查找与替换
分类 | 输入 | 英文全称 | 操作 | 备注 |
查找 | /指定单词 | 向下查找指定单词 | 常用 | |
?指定单词 | 向上查找指定单词 | |||
n | 光标移动到下一处查找到的单词 | 常用 | ||
N (Shift + n) | 光标移动到上一处查找到的单词 | 常用 | ||
替换 | :开始行号,结束行号s/单词1/单词2/g | Global | 从开始行到结束行把单词1替换成单词2 | |
:1,$s/单词1/单词2/g | 从第一行到最后一行把单词1替换成单词2 | 常用 | ||
:%s/单词1/单词2/g | 从第一行到最后一行把单词1替换成单词2 | |||
:%s/单词1/单词2/gc | 从第一行到最后一行把单词1替换成单词2, 在替换前提示确认是否替换 |
参考文档: