一、Vim 常用命令
1. 打开文件
vim filename
例如:
vim /etc/pacman.conf
二、Vim 模式
Vim 常用的几个模式:
| 模式 | 作用 | 进入方式 |
|---|---|---|
| 普通模式 | 移动、删除、复制等 | Esc |
| 插入模式 | 输入文字 | i、a、o 等 |
| 命令模式 | 保存、退出、替换等 | 普通模式下输入 : |
| 可视模式 | 选择文本 | v |
任何时候不知道自己在哪个模式,可以先按:
Esc
回到普通模式。
三、Vim 光标移动
1. 最重要的四个命令
| 命令 | 作用 |
|---|---|
gg |
移动到文件第一行 |
G |
移动到文件最后一行 |
0 |
移动到当前行最前面 |
$ |
移动到当前行最末尾 |
重点记忆:
gg 文件第一行
G 文件最后一行
0 当前行最前面
$ 当前行最末尾
2. 基础方向移动
h 左
j 下
k 上
l 右
也可以直接使用键盘:
↑
↓
←
→
3. 按单词移动
| 命令 | 作用 |
|---|---|
w |
移动到下一个单词 |
b |
移动到上一个单词 |
e |
移动到当前/下一个单词末尾 |
4. 行内快速移动
0 当前行最前面
^ 当前行第一个非空白字符
$ 当前行最末尾
例如:
hello world
↑ ↑ ↑
0 ^ $
0 和 ^ 的区别:
0 真正移动到这一行的第 1 列
^ 跳过前面的空格,移动到第一个字符
5. 跳转到指定行
跳转到第 100 行:
100G
或者:
:100
跳到第一行:
gg
跳到最后一行:
G
四、Vim 翻页
| 命令 | 作用 |
|---|---|
Ctrl + f |
向下翻一页 |
Ctrl + b |
向上翻一页 |
Ctrl + d |
向下翻半页 |
Ctrl + u |
向上翻半页 |
五、Vim 输入文字
1. 进入插入模式
| 命令 | 作用 |
|---|---|
i |
在当前光标前开始输入 |
a |
在当前光标后开始输入 |
I |
当前行第一个非空白字符前开始输入 |
A |
当前行末尾开始输入 |
o |
在当前行下面新建一行 |
O |
在当前行上面新建一行 |
输入完成后:
Esc
返回普通模式。
2. 快速在行尾追加内容
例如:
HOOKS=(base modconf block filesystems)
按:
A
Vim 会直接:
移动到当前行末尾
+
进入插入模式
六、Vim 保存和退出
先按:
Esc
然后输入:
| 命令 | 作用 |
|---|---|
:w |
保存 |
:q |
退出 |
:wq |
保存并退出 |
:x |
保存并退出 |
:q! |
不保存,强制退出 |
:w! |
强制保存 |
最常用:
:wq
不保存直接退出:
:q!
七、Vim 删除
| 命令 | 作用 |
|---|---|
x |
删除当前字符 |
dd |
删除当前行 |
5dd |
删除当前开始的 5 行 |
D |
删除光标到当前行末尾 |
d$ |
删除光标到当前行末尾 |
d0 |
删除光标到当前行开头 |
dw |
删除一个单词 |
删除整个文件内容
gg
dG
含义:
gg 跳到文件第一行
dG 从当前位置删除到文件末尾
所以:
gg + dG
相当于删除整个文件内容。
八、Vim 复制和粘贴
| 命令 | 作用 |
|---|---|
yy |
复制当前行 |
5yy |
复制当前开始的 5 行 |
p |
在后面/下一行粘贴 |
P |
在前面/上一行粘贴 |
dd |
剪切当前行 |
复制当前行:
yy
然后移动到目标位置:
p
九、Vim 撤销和重做
| 命令 | 作用 |
|---|---|
u |
撤销 |
Ctrl + r |
重做 |
例如误删:
dd
恢复:
u
如果又想重新执行刚才撤销的操作:
Ctrl + r
十、Vim 搜索
1. 向下搜索
/关键词
例如:
/HOOKS
然后:
n 下一个匹配结果
N 上一个匹配结果
2. 向上搜索
?关键词
例如:
?HOOKS
十一、Vim 查找替换
当前行替换第一个匹配
:s/旧内容/新内容/
当前行全部替换
:s/旧内容/新内容/g
整个文件全部替换
:%s/旧内容/新内容/g
例如:
:%s/Arch/WuKongOS/g
表示:
整个文件中:
Arch
全部替换成:
WuKongOS
替换前逐个确认
:%s/旧内容/新内容/gc
例如:
:%s/Arch/WuKongOS/gc
Vim 会逐个询问是否替换。
十二、Nano 常用命令
打开文件:
nano filename
例如:
nano /etc/pacman.conf
Nano 底部经常会显示:
^G Help
^O Write Out
^W Where Is
^K Cut
^X Exit
这里:
^
代表:
Ctrl
所以:
^X
就是:
Ctrl + X
十三、Nano 保存和退出
| 快捷键 | 作用 |
|---|---|
Ctrl + O |
保存文件 |
Ctrl + X |
退出 Nano |
Ctrl + S |
保存(部分新版 Nano 支持) |
经典保存流程:
Ctrl + O
Enter
Ctrl + X
如果文件已经被修改,直接:
Ctrl + X
Nano 会询问是否保存。
十四、Nano 光标移动
基础移动
直接使用:
↑
↓
←
→
快速移动
| 快捷键 | 作用 |
|---|---|
Ctrl + A |
当前行最前面 |
Ctrl + E |
当前行最末尾 |
Alt + \ |
文件第一行 |
Alt + / |
文件最后一行 |
Ctrl + Y |
向上翻页 |
Ctrl + V |
向下翻页 |
Alt + G |
跳转到指定行 |
最重要的四个:
Alt + \ 文件第一行
Alt + / 文件最后一行
Ctrl + A 当前行最前面
Ctrl + E 当前行最末尾
十五、Nano 跳转到指定行
按:
Alt + G
输入行号:
100
即可跳转到第 100 行。
十六、Nano 搜索
搜索:
Ctrl + W
然后输入关键词:
HOOKS
按:
Enter
继续寻找下一个:
Alt + W
十七、Nano 搜索替换
按:
Ctrl + \
然后输入:
需要查找的内容
再输入:
替换后的内容
十八、Nano 剪切、复制、粘贴
| 快捷键 | 作用 |
|---|---|
Ctrl + K |
剪切当前行 |
Alt + 6 |
复制当前行或选中文字 |
Ctrl + U |
粘贴 |
Alt + A |
开始/结束选择文本 |
例如剪切当前行:
Ctrl + K
粘贴:
Ctrl + U
十九、Vim 最常用命令速记
================ VIM ================
【模式】
i 进入输入模式
Esc 返回普通模式
【光标】
gg 文件第一行
G 文件最后一行
0 当前行最前面
^ 当前行第一个非空白字符
$ 当前行最末尾
h 左
j 下
k 上
l 右
w 下一个单词
b 上一个单词
100G 跳到第 100 行
【翻页】
Ctrl+f 向下翻页
Ctrl+b 向上翻页
Ctrl+d 向下半页
Ctrl+u 向上半页
【编辑】
dd 删除/剪切当前行
5dd 删除 5 行
yy 复制当前行
5yy 复制 5 行
p 粘贴
P 向前粘贴
u 撤销
Ctrl+r 重做
【搜索】
/xxx 向下搜索 xxx
?xxx 向上搜索 xxx
n 下一个结果
N 上一个结果
【替换】
:s/a/b/ 当前行替换一次
:s/a/b/g 当前行全部替换
:%s/a/b/g 整个文件全部替换
:%s/a/b/gc 整个文件替换并逐个确认
【保存退出】
:w 保存
:q 退出
:wq 保存并退出
:q! 不保存强制退出
二十、Nano 最常用命令速记
=============== NANO ================
【保存退出】
Ctrl+O 保存
Ctrl+X 退出
【光标】
Alt+\ 文件第一行
Alt+/ 文件最后一行
Ctrl+A 当前行最前面
Ctrl+E 当前行最末尾
Alt+G 跳转到指定行
【翻页】
Ctrl+Y 向上翻页
Ctrl+V 向下翻页
【搜索】
Ctrl+W 搜索
Alt+W 下一个搜索结果
Ctrl+\ 搜索替换
【编辑】
Ctrl+K 剪切当前行
Alt+6 复制
Ctrl+U 粘贴
Alt+A 选择文本
二十一、Vim 和 Nano 对照表
| 功能 | Vim | Nano |
|---|---|---|
| 文件第一行 | gg |
Alt + \ |
| 文件最后一行 | G |
Alt + / |
| 当前行最前面 | 0 |
Ctrl + A |
| 当前行最末尾 | $ |
Ctrl + E |
| 跳到第 100 行 | 100G |
Alt + G → 100 |
| 搜索 | /关键词 |
Ctrl + W |
| 删除/剪切一行 | dd |
Ctrl + K |
| 复制一行 | yy |
Alt + 6 |
| 粘贴 | p |
Ctrl + U |
| 保存 | :w |
Ctrl + O |
| 保存退出 | :wq |
Ctrl + O → Ctrl + X |
| 不保存退出 | :q! |
Ctrl + X 后选择不保存 |
| 撤销 | u |
Alt + U(新版 Nano) |
| 重做 | Ctrl + r |
Alt + E(新版 Nano) |
最核心的记忆口诀
Vim 光标移动:
gg = 顶
G = 底
0 = 行首
$ = 行尾
Vim 保存退出:
:w 保存
:q 退出
:wq 保存退出
:q! 放弃修改退出
Nano:
Ctrl+O 保存
Ctrl+X 退出
Ctrl+A 行首
Ctrl+E 行尾
Alt+\ 文件开头
Alt+/ 文件结尾
Ctrl+W 搜索
Ctrl+K 剪切
Ctrl+U 粘贴
浙公网安备 33010602011771号