#vimscrip学习——跳转和移动
文章目录
文档内的跳转
基础移动
| 命令 | 操作 |
|---|---|
| h | 左移一列 |
| l | 右移一列 |
| j | 下移一行 |
| k | 上移一行 |
| 0 | 移动到实际行的行首 |
| ^ | 移动到实际行的第一个非空白字符 |
| $ | 移动到实际行的行尾 |
如果需要两次及以上的基础移动的操作可以考虑使用其他移动方式!
单词/字符串移动
| 命令 | 操作 |
|---|---|
| w | 正向移动到下一单词的开头 |
| b | 反向移动到当前单词/上一单词的开头 |
| e | 正向移动到当前单词/下一单词的结尾 |
| ge | 反向移动到上一单词的结尾 |
一个单词由字母、数字、下划线,或其他非空白字符的序列组成,单词间以空白字符分隔。而字串的定义则更简单,它由非空白字符序列组成,字串间以空白字符分隔。
| 命令 | 操作 |
|---|---|
| W | 正向移动到下一字符串的开头 |
| B | 反向移动到当前字符串/上一字符串的开头 |
| E | 正向移动到当前字符串/下一字符串的结尾 |
| gE | 反向移动到上一字符串的结尾 |
单行单字符查找
| 命令 | 操作 |
|---|---|
| f{char} | 正向移动到下一个{char} 所在之处 |
| F{char} | 反向移动到上一个{char} 所在之处 |
| t{char} | 正向移动到下一个{char} 所在之处的前一个字符上 |
| T{char} | 反向移动到上一个{char} 所在之处的后一个字符上 |
| ; | 重复上次的字符查找命令 |
,(我自己将,作为了leader),所以将\映射为, | 反转方向查找上次的字符查找命令 |
文本对象选择
| 文本对象 | 选择范围 |
|---|---|
| iw | 当前单词 |
| aw | 当前单词及一个空格 |
| iW | 当前字串 |
| aW | 当前字串及一个空格 |
| is | 当前句子 |
| as | 当前句子及一个空格 |
| ip | 当前段落 |
| ap | 当前段落及一个空行 |
d{motion} 命令和aw、as 和ap 配合起来使用比较好,而c{motion}s命令和iw 及类似的文本对象一起用效果会更好。
使用位置标记跳转
| 命令 | 操作 |
|---|---|
| m{a-z/A-Z} | 用选定的字母标记当前关闭所在位置(大写全局可见,小写缓冲区局部可见) |
| ``{mark}` | 跳转到位置标记所在行 |
自动位置标记
| 位置标记 | 跳转到 |
|---|---|
`` | 当前文件中上次跳转动作之前的位置 |
| ``. ` | 上次修改的地方 |
| ``^` | 上次插入的地方 |
| ``[` | 上次修改或复制的起始位置 |
| ``]` | 上次修改或复制的结束位置 |
| ``<` | 上次高亮选区的起始位置 |
| ``>` | 上次高亮选区的结束位置 |
匹配括号间跳转
| 命令 | 操作 |
|---|---|
| % | 在一组开闭括号件跳转 |
##文档间的跳转
<C-o> 后退到上次跳转光标位置
<C-i> 前进到下次跳转光标位置
跳转动作
| 命令 | 用途 |
|---|---|
[count]G | 跳转到指定的行号 |
/pattern<CR>/?pattern<CR>/n/N | 跳转到下一个/上一个模式出现之处 |
% | 跳转到匹配的括号所在之处 |
(/) | 跳转到上一句/下一句的开头 |
{/} | 跳转到上一段/下一段的开头 |
H/M/L | 跳转到屏幕最上方/正中间/最下方 |
gf | 跳转到光标下的文件名 |
<C-]> | 跳转到光标下的关键字的定义之处 |
| '{mark}/`{mark} | 跳转到一个位置标记 |
设置搜索文件的扩展名
:set suffixesadd+=.rb设置搜索后缀名.rb的文件
通过设置全局标记同样可以实现文件之间的跳转。
本文介绍了Vim编辑器中的各种移动命令,包括基础移动、单词/字符串移动、单行单字符查找等,并详细解释了如何使用这些命令高效地进行文档内导航。
164

被折叠的 条评论
为什么被折叠?



