oeasy教您玩转vim - 32 - # 函数跳转
程序移动
回忆上节课内容🤔
上次内容很简单,主要针对文本类素材
移动段落
{向前
}向后
移动句子
(向前
)向后
如果我想程序中快速移动
怎么办?🤔
括号间跳转 %
当我们的鼠标在小括号内部时
我们可以使用
%跳转到括号对的前半部分然后我们可以使用
%在这对儿括号的两个位置指间跳转比如在
public static void main(String[] args)中的 小括号(上这个
%不但对于小括号有用,对于成对的大括号、中括号也都有用对于c语言的 / ... / 注释的头尾 ୧(﹒︠ᴗ﹒︡ )୨有用
对于 #if,#ifdef,#else,#elif,#endif 也有用
这个
%不支持[count]

小括号跳转

方向
]) 近挨着的下一个)
[( 进挨着的上一个(
[ 往上
] 往下
如果是大括号呢?
括号跳转

[(跳转到上一个没配对的(])跳转到下一个没配对的)[{跳转到上一个没配对的{]}跳转到下一个没配对的}支持
[count]向上就是[
向下就是]
函数中的跳转

方向
]} 近挨着的下一个}
]] 本块的最后一行
[{ 紧挨着的上一个{
[[ 本块的第一行
[ 往上
] 往下
注释的头尾
注释跳转
[/、[*上一个注释/* .... */的头]*、]/下一个注释/* .... */的头

函数间跳转

-函数跳转
- `[m`下一个函数开头 - `[M`上一个函数结尾 - `]m`下一个函数开头 - `[M`上一个函数结尾 - 支持 `[count]` - `3]m` 可以往下跳到第 `3` 个函数开头 - `[m`、`]m` 这两个其实还挺好用的
跳到定义

找到本地定义
gd - goto global declaration

和 * 不一样的是它会往前找到第一个
在
[[的范围内的第一个
没有配对的 #if 宏定义
这个是针对宏定义里面的内容来的
[#上一个没有配对的#if、#else]#下一个没有配对的#else、#endif

标签跳转

这个matchit可以支持标签的跳转
比如在
<html>处按下%就可以到配对的</html>挺好玩的
试试吧 🤪
总结
括号间跳转
[(跳转到上一个没配对的([)跳转到下一个没配对的)[{跳转到上一个没配对的{[}跳转到下一个没配对的}成对括号间跳转
%不成对括号间跳转
函数间跳转
]m下一个函数开头[m上一个函数结尾]M下一个函数开头[M上一个函数结尾#if、#else、#endif没有配对的[#上一个没有配对的#if、#else]#下一个没有配对的#else、#endif注释的头尾
[/、[*上一个注释/* .... */的头]*、]/下一个注释/* .... */的头如果我想快速找到某个东西怎么办呢?🤔
下次再说 *
[Github地址] (https://github.com/overmind1980/vimtutorial)
[Gitee地址] (https://gitee.com/overmind1980/vimtutorial)
[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)

