### vim快捷键速记表详解
#### 一、引言
`vim`是一款高度可配置且功能强大的文本编辑器,在Linux和其他Unix-like操作系统中广泛使用。对于初学者来说,掌握`vim`的基本快捷键是提高编码效率的关键。本文将根据提供的部分`vim`快捷键列表,详细介绍这些快捷键的功能与应用场景,帮助读者快速掌握并运用到实际操作中。
#### 二、游标移动与范围单位
- **字元(character)**
- `l`: 向右移动一个字符。
- `k`: 向上移动一个字符。
- `j`: 向下移动一个字符。
- `h`: 向左移动一个字符。
- **单字(word)**
- `w`: 移动到下一个单词的开头。
- `b`: 移动到前一个单词的开头。
- `W`: 同`w`,但跳过特殊字符。
- `e`: 移动到当前单词的结尾。
- **行(line)**
- `^`: 移动到行首。
- `0`: 移动到行的第0个字符。
- `$`: 移动到行尾。
- **段落(paragraph)/ 区块(block)**
- `{`: 移动到上一个段落或区块的开头。
- `}`: 移动到下一个段落或区块的结尾。
- `[%`: 在括号间跳转,`%`用于配对括号的快速定位。
- **屏幕(screen)/ 文件(file)**
- `H`: 移动到屏幕顶部。
- `M`: 移动到屏幕中间。
- `L`: 移动到屏幕底部。
- `zt`: 将当前行滚到屏幕顶部。
- `zz`: 将当前行滚到屏幕中间。
- `zb`: 将当前行滚到屏幕底部。
- `Ctrl-F`: 向下滚动一页。
- `Ctrl-B`: 向上滚动一页。
#### 三、编辑模式切换
- `i`: 进入插入模式(insert mode)。
- `R`: 进入替换模式(replace mode)。
- `a`: 在光标后插入文本。
- `A`: 在行末添加文本。
- `v`: 进入可视模式(visual mode),选择文本。
- `V`: 进入可视行模式(visual line mode),选择整行文本。
- `Ctrl-V`: 进入可视块模式(visual block mode),选择矩形区域内的文本。
#### 四、文本编辑命令
- `y`: 复制选中的文本。
- `d`: 删除或剪切选中的文本。
- `c`: 修改选中的文本,先删除后进入插入模式。
- `x`: 删除光标下的字符。
- `D`: 删除至行尾。
- `C`: 修改至行尾,同`c$`。
- `p`: 粘贴已复制或剪切的文本。
- `J`: 合并当前行与下一行。
- `r`: 替换光标下的字符。
- `>`: 右缩进。
- `<`: 左缩进。
- `.`: 重复上次的命令。
#### 五、文件保存与退出
- `:w`: 保存当前文件。
- `:wq`: 保存并退出。
- `:q`: 退出(如果文件有改动,则不会退出)。
- `:q!`: 强制退出,不保存改动。
#### 六、文件与视窗管理
- `:ex`: 编辑指定文件。
- `:n`: 新建文件。
- `:split`: 水平分割窗口。
- `:vsplit`: 垂直分割窗口。
- `:diffsplit`: 分割窗口并进行文件差异比较。
- `Ctrl-Wj`、`Ctrl-Wk`、`Ctrl-Wl`、`Ctrl-Wp`: 在分割的窗口之间切换。
- `gg`: 跳到文件头部。
- `G`: 跳到文件尾部。
#### 七、搜索与标记
- `/foo`: 搜索字符串“foo”。
- `n`、`N`: 移动到下一个或上一个搜索结果。
- `Ctrl-N`: 自动补全下个可能的词。
- `Ctrl-P`: 自动补全上个可能的词。
- `Ctrl-X Ctrl-F`: 补全可能的文件名。
- `mx`、`'x`: 设置和跳转到标记。
以上是对`vim`常用快捷键的全面解析,掌握这些快捷键将极大地提升在`vim`中的编辑效率。通过实践和记忆,你将能够更加熟练地使用`vim`,并在日常开发中获得更高的生产力。