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)