201 lines
3.4 KiB
Markdown
Executable File
201 lines
3.4 KiB
Markdown
Executable File
# Vim 命令速查
|
|
|
|
> 最常用的 Linux 文本编辑器
|
|
|
|
---
|
|
|
|
## 模式切换
|
|
|
|
| 模式 | 进入 | 说明 |
|
|
|------|------|------|
|
|
| 正常模式 | `Esc` | 默认模式,左下角显示文件名 |
|
|
| 插入模式 | `i` | 左下角显示 `--INSERT--` |
|
|
| 可视模式 | `v` / `V` | 选择文本 |
|
|
|
|
---
|
|
|
|
## 启动与退出
|
|
|
|
```bash
|
|
vim filename # 打开文件
|
|
vim file1 file2 # 打开多文件
|
|
vim -O file1 file2 # 垂直分屏
|
|
vim -o file1 file2 # 水平分屏
|
|
```
|
|
|
|
| 命令 | 说明 |
|
|
|------|------|
|
|
| `:wq` | 保存并退出 |
|
|
| `ZZ` | 保存并退出(等价) |
|
|
| `:q!` | 强制退出(不保存) |
|
|
| `:x` | 保存并退出 |
|
|
|
|
---
|
|
|
|
## 移动命令
|
|
|
|
```bash
|
|
# 字符移动
|
|
h # 左
|
|
j # 下
|
|
k # 上
|
|
l # 右
|
|
5h # 左移5字符
|
|
|
|
# 单词移动
|
|
w # 下一词首
|
|
e # 下一词尾
|
|
b # 上一词首
|
|
2b # 上移2词
|
|
|
|
# 行移动
|
|
0 # 行首
|
|
^ # 行首(非空白)
|
|
$ # 行尾
|
|
3$ # 下移3行尾
|
|
|
|
# 屏幕移动
|
|
Ctrl+f # 下翻一屏
|
|
Ctrl+b # 上翻一屏
|
|
Ctrl+d # 下翻半屏
|
|
Ctrl+u # 上翻半屏
|
|
|
|
# 文件移动
|
|
gg # 文件开头
|
|
G # 文件结尾
|
|
10G # 跳到第10行
|
|
:10 # 跳到第10行
|
|
```
|
|
|
|
---
|
|
|
|
## 查找与替换
|
|
|
|
```bash
|
|
# 查找
|
|
/text # 向下查找
|
|
?text # 向上查找
|
|
n # 下一个匹配
|
|
N # 上一个匹配
|
|
* # 查找光标所在词(向下)
|
|
# # 查找光标所在词(向上)
|
|
|
|
# 替换
|
|
:s/old/new/ # 替换当前行第一个
|
|
:s/old/new/g # 替换当前行所有
|
|
:%s/old/new/ # 替换所有行第一个
|
|
:%s/old/new/g # 替换所有行
|
|
:10,20 s/^/#/ # 10-20行加注释
|
|
```
|
|
|
|
---
|
|
|
|
## 编辑命令
|
|
|
|
```bash
|
|
# 插入
|
|
i # 光标前插入
|
|
a # 光标后插入
|
|
o # 当前行下插入新行
|
|
O # 当前行上插入新行
|
|
A # 行尾插入
|
|
|
|
# 删除
|
|
x # 删除当前字符
|
|
dd # 删除当前行
|
|
5dd # 删除5行
|
|
d$ # 删除到行尾
|
|
dw # 删除一个词
|
|
|
|
# 复制粘贴
|
|
yy # 复制当前行
|
|
5yy # 复制5行
|
|
p # 粘贴到光标后
|
|
P # 粘贴到光标前
|
|
|
|
# 撤销
|
|
u # 撤销
|
|
U # 撤销整行
|
|
Ctrl+r # 重做(撤销撤销)
|
|
```
|
|
|
|
---
|
|
|
|
## 可视模式
|
|
|
|
```bash
|
|
v # 逐字选择
|
|
V # 逐行选择
|
|
Ctrl+v # 块选择
|
|
|
|
# 选择后操作
|
|
y # 复制
|
|
d # 删除
|
|
x # 删除
|
|
> # 右缩进
|
|
< # 左缩进
|
|
```
|
|
|
|
---
|
|
|
|
## 多文件操作
|
|
|
|
```bash
|
|
:open file # 打开文件
|
|
:split file # 分屏打开
|
|
:bn # 下一个文件
|
|
:bp # 上一个文件
|
|
:args # 查看文件列表
|
|
:bd # 关闭当前文件
|
|
```
|
|
|
|
---
|
|
|
|
## 窗口操作
|
|
|
|
```bash
|
|
:split # 水平分屏
|
|
:vsplit # 垂直分屏
|
|
Ctrl+ww # 切换窗口
|
|
Ctrl+wh # 移向左窗口
|
|
Ctrl+wl # 移向右窗口
|
|
:close # 关闭窗口
|
|
:only # 只保留当前窗口
|
|
```
|
|
|
|
---
|
|
|
|
## 常用配置
|
|
|
|
```bash
|
|
:set number # 显示行号
|
|
:set hlsearch # 高亮搜索
|
|
:set ignorecase # 忽略大小写
|
|
:set tabstop=4 # Tab 宽度
|
|
:set expandtab # Tab 转空格
|
|
```
|
|
|
|
---
|
|
|
|
## 实用技巧
|
|
|
|
```bash
|
|
ddp # 交换两行
|
|
xp # 交换两字符
|
|
. # 重复上次命令
|
|
q: # 命令历史
|
|
:%!xxd # 十六进制查看
|
|
```
|
|
|
|
---
|
|
|
|
## Vim 教程
|
|
|
|
```bash
|
|
vimtutor # 进入教程
|
|
```
|
|
|
|
---
|
|
|
|
> 参考:[Vim 命令详解](https://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html)
|