在(Neo)Vim中如何跳转到文本对象的开头或结尾?
Vim 跳转句子/文本对象首尾的命令
句子相关跳转
普通模式下直接使用以下命令:
- 跳转到当前句子开头:按
((英文左括号),定位到当前句子的第一个非空白字符 - 跳转到当前句子结尾:按
)(英文右括号),定位到当前句子的末尾标点后 - 跳转到上一句开头:重复按
(,或用n(直接跳n句前的开头(比如2(跳两句前) - 跳转到下一句结尾:重复按
),或用n)直接跳n句后的结尾(比如3)跳三句后)
任意文本对象的首尾跳转
针对你已熟悉的各类文本对象(如单词w、段落p、引号内"、括号内(等),可使用这些方法:
按文本对象类型快速跳转
- 单词类:
- 开头:
b(当前/上一个单词开头)、B(当前/上一个以非空白分隔的单词开头) - 结尾:
e(当前/下一个单词结尾)、E(当前/下一个以非空白分隔的单词结尾)
- 开头:
- 段落类:
- 开头:
{ - 结尾:
}
- 开头:
- 配对符号类(括号、引号):
%在配对符号间跳转,比如光标在括号内时,按%可切换到括号开头/结尾
精准选中后跳转
如果要定位到特定文本对象的首尾,可先进入可视模式选中目标对象(比如viw选中当前单词),再按o切换选中文本的首尾位置,最后按Esc退出可视模式即可定位到对应位置。
标记式跳转
需要长期快速定位时可用标记功能:
- 选中目标文本对象(比如
vip选中当前段落),按m加一个字母标记(比如ma标记为a) - 后续跳转到标记开头:
'a,跳转到标记结尾:`a(注意是反引号)
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

