174 lines
6.8 KiB
Markdown
174 lines
6.8 KiB
Markdown
|
# Vim相关命令
|
||
|
|
||
|
## 基本移动命令
|
||
|
|
||
|
| 命令 | 描述 |
|
||
|
| -------- | -------------------------------- |
|
||
|
| `h` | 向左移动 |
|
||
|
| `j` | 向下移动 |
|
||
|
| `k` | 向上移动 |
|
||
|
| `l` | 向右移动 |
|
||
|
| `w` | 移动到下一个单词开头 |
|
||
|
| `W` | 移动到下一个单词开头(忽略符号) |
|
||
|
| `b` | 移动到上一个单词开头 |
|
||
|
| `B` | 移动到上一个单词开头(忽略符号) |
|
||
|
| `e` | 移动到当前单词末尾 |
|
||
|
| `E` | 移动到当前单词末尾(忽略符号) |
|
||
|
| `0` | 移动到行首 |
|
||
|
| `^` | 移动到行首第一个非空白字符 |
|
||
|
| `$` | 移动到行尾 |
|
||
|
| `gg` | 移动到文件开头 |
|
||
|
| `G` | 移动到文件末尾 |
|
||
|
| `:[n]` | 移动到第 n 行 |
|
||
|
| `Ctrl+f` | 向下翻页 |
|
||
|
| `Ctrl+b` | 向上翻页 |
|
||
|
| `H` | 移动到屏幕顶部 |
|
||
|
| `M` | 移动到屏幕中间 |
|
||
|
| `L` | 移动到屏幕底部 |
|
||
|
|
||
|
---
|
||
|
|
||
|
## 插入模式
|
||
|
|
||
|
| 命令 | 描述 |
|
||
|
| -------- | -------------------------- |
|
||
|
| `i` | 在光标前插入 |
|
||
|
| `a` | 在光标后插入 |
|
||
|
| `I` | 在行首插入 |
|
||
|
| `A` | 在行尾插入 |
|
||
|
| `o` | 在当前行下方新建一行并插入 |
|
||
|
| `O` | 在当前行上方新建一行并插入 |
|
||
|
| `R` | 进入替换模式(覆盖字符) |
|
||
|
| `Ctrl+h` | 删除前一个字符(退格键) |
|
||
|
| `Ctrl+w` | 删除前一个单词 |
|
||
|
| `Ctrl+u` | 删除到行首 |
|
||
|
|
||
|
---
|
||
|
|
||
|
## 编辑命令
|
||
|
|
||
|
| 命令 | 描述 |
|
||
|
| -------- | -------------------- |
|
||
|
| `x` | 删除当前字符 |
|
||
|
| `X` | 删除前一个字符 |
|
||
|
| `dd` | 删除当前行 |
|
||
|
| `dw` | 删除到下一个单词开头 |
|
||
|
| `db` | 删除到上一个单词开头 |
|
||
|
| `d$` | 删除到行尾 |
|
||
|
| `d^` | 删除到行首 |
|
||
|
| `dG` | 删除到文件末尾 |
|
||
|
| `dgg` | 删除到文件开头 |
|
||
|
| `yy` | 复制当前行 |
|
||
|
| `yw` | 复制到下一个单词开头 |
|
||
|
| `y$` | 复制到行尾 |
|
||
|
| `p` | 粘贴到光标后 |
|
||
|
| `P` | 粘贴到光标前 |
|
||
|
| `u` | 撤销 |
|
||
|
| `Ctrl+r` | 重做 |
|
||
|
| `.` | 重复上一次修改 |
|
||
|
| `J` | 合并下一行到当前行 |
|
||
|
| `>>` | 向右缩进 |
|
||
|
| `<<` | 向左缩进 |
|
||
|
| `==` | 自动缩进当前行 |
|
||
|
|
||
|
---
|
||
|
|
||
|
## 搜索与替换
|
||
|
|
||
|
| 命令 | 描述 |
|
||
|
| ---------------- | ------------------------ |
|
||
|
| `/pattern` | 向前搜索 pattern |
|
||
|
| `?pattern` | 向后搜索 pattern |
|
||
|
| `n` | 下一个匹配项 |
|
||
|
| `N` | 上一个匹配项 |
|
||
|
| `:%s/old/new/g` | 全局替换 old 为 new |
|
||
|
| `:%s/old/new/gc` | 全局替换,每次确认 |
|
||
|
| `:s/old/new/g` | 当前行替换 |
|
||
|
| `*` | 向前搜索当前光标下的单词 |
|
||
|
| `#` | 向后搜索当前光标下的单词 |
|
||
|
| `:noh` | 临时取消搜索高亮 |
|
||
|
|
||
|
---
|
||
|
|
||
|
## 可视模式(选择文本)
|
||
|
|
||
|
| 命令 | 描述 |
|
||
|
| ---------------- | ------------------------------ |
|
||
|
| `v` | 进入字符可视模式(按字符选择) |
|
||
|
| `V` | 进入行可视模式(按行选择) |
|
||
|
| `Ctrl+v` | 进入块可视模式(矩形选择) |
|
||
|
| `ggVG` 或 `ggvG` | **全选**整个文件 |
|
||
|
| `o` | 切换选择的光标端 |
|
||
|
| `y` | 复制选中内容 |
|
||
|
| `d` | 删除(剪切)选中内容 |
|
||
|
| `c` | 修改(删除并进入插入模式) |
|
||
|
| `~` | 切换选中内容的大小写 |
|
||
|
|
||
|
---
|
||
|
|
||
|
## 窗口管理
|
||
|
|
||
|
| 命令 | 描述 |
|
||
|
| ------------- | -------------- |
|
||
|
| `:sp [file]` | 水平分割窗口 |
|
||
|
| `:vsp [file]` | 垂直分割窗口 |
|
||
|
| `Ctrl+w h` | 移动到左侧窗口 |
|
||
|
| `Ctrl+w j` | 移动到下方窗口 |
|
||
|
| `Ctrl+w k` | 移动到上方窗口 |
|
||
|
| `Ctrl+w l` | 移动到右侧窗口 |
|
||
|
| `Ctrl+w w` | 循环切换窗口 |
|
||
|
| `Ctrl+w c` | 关闭当前窗口 |
|
||
|
| `Ctrl+w o` | 只保留当前窗口 |
|
||
|
| `Ctrl+w +` | 增加窗口高度 |
|
||
|
| `Ctrl+w -` | 减少窗口高度 |
|
||
|
| `Ctrl+w >` | 增加窗口宽度 |
|
||
|
| `Ctrl+w <` | 减少窗口宽度 |
|
||
|
| `Ctrl+w =` | 均衡窗口尺寸 |
|
||
|
|
||
|
---
|
||
|
|
||
|
## 标签页
|
||
|
|
||
|
| 命令 | 描述 |
|
||
|
| ---------------- | --------------------- |
|
||
|
| `:tabnew [file]` | 新建标签页 |
|
||
|
| `gt` | 下一个标签页 |
|
||
|
| `gT` | 上一个标签页 |
|
||
|
| `:tabclose` | 关闭当前标签页 |
|
||
|
| `:tabonly` | 关闭其他标签页 |
|
||
|
| `:tabmove [n]` | 移动标签页到第 n 位置 |
|
||
|
|
||
|
---
|
||
|
|
||
|
## 文件操作
|
||
|
|
||
|
| 命令 | 描述 |
|
||
|
| -------------- | -------------------------- |
|
||
|
| `:e file` | 打开文件 |
|
||
|
| `:w` | 保存文件 |
|
||
|
| `:w file` | 另存为 file |
|
||
|
| `:q` | 退出 |
|
||
|
| `:q!` | 强制退出不保存 |
|
||
|
| `:wq` | 保存并退出 |
|
||
|
| `:x` | 保存并退出(仅当有修改时) |
|
||
|
| `:saveas file` | 另存为 file |
|
||
|
| `:r file` | 插入文件内容到当前位置 |
|
||
|
| `:r !command` | 插入命令输出到当前位置 |
|
||
|
|
||
|
---
|
||
|
|
||
|
## 其他实用命令
|
||
|
|
||
|
| 命令 | 描述 |
|
||
|
| ----------------- | --------------------------------------- |
|
||
|
| `:set nu` | 显示行号 |
|
||
|
| `:set nonu` | 隐藏行号 |
|
||
|
| `:set hlsearch` | 高亮搜索结果 |
|
||
|
| `:set nohlsearch` | 取消高亮搜索结果 |
|
||
|
| `:set paste` | 进入粘贴模式(防止自动缩进) |
|
||
|
| `:set nopaste` | 退出粘贴模式 |
|
||
|
| `:!command` | 执行外部命令 |
|
||
|
| `:help` | 打开帮助文档 |
|
||
|
| `Ctrl+g` | 显示当前文件信息 |
|
||
|
| `:%!command` | 用命令处理整个文件(如 `:%!sort` 排序) |
|