oeasy教您玩转vim - 32 - # 函数跳转

宝剑锋从磨砺出,梅花香自苦寒来。这篇文章主要讲述oeasy教您玩转vim - 32 - # 函数跳转相关的知识,希望能为你提供帮助。
程序移动 回忆上节课内容????

  • 上次内容很简单,主要针对文本类素材
  • 移动段落
    • < kbd> {< /kbd> 向前
    • < kbd> }< /kbd> 向后
  • 移动句子
    • < kbd> (< /kbd> 向前
    • < kbd> )< /kbd> 向后
  • 如果我想程序中快速移动
  • 怎么办?????
#首先下载文本找到tomsawyer.txt git clone http://github.com/overmind1980/vimtutorial.git #然后把文本打开 cd vimtutorial vi oeasy.java

括号间跳转 %
  • 当我们的鼠标在小括号内部时
    • 比如在 public static void main(String[] args) 中的 小括号(
    • 我们可以使用 % 跳转到括号对的前半部分
    • 然后我们可以使用 % 在这对儿括号的两个位置指间跳转
  • 这个 % 不但对于小括号有用,对于成对的大括号、中括号也都有用
    • 对于c语言的 /.../ 注释的头尾 ?(﹒??﹒? )?有用
    • 对于 #if,#ifdef,#else,#elif,#endif 也有用
    • 这个 % 不支持 [count]
oeasy教您玩转vim - 32 - # 函数跳转

文章图片

小括号跳转
oeasy教您玩转vim - 32 - # 函数跳转

文章图片

  • 方向
    • [ 往上
      • [( 进挨着的上一个(
    • ] 往下
      • ]) 近挨着的下一个)
  • 如果是大括号呢?
括号跳转
oeasy教您玩转vim - 32 - # 函数跳转

文章图片

  • [( 跳转到上一个没配对的 (
  • ]) 跳转到下一个没配对的 )
  • [{ 跳转到上一个没配对的 {
  • ]} 跳转到下一个没配对的 }
  • 支持 [count]
  • 向上就是[
  • 向下就是]
函数中的跳转
oeasy教您玩转vim - 32 - # 函数跳转

文章图片

  • 方向
    • [ 往上
      • [{ 紧挨着的上一个{
      • [[ 本块的第一行
    • ] 往下
      • ]} 近挨着的下一个}
      • ]] 本块的最后一行
注释的头尾
  • 注释跳转
    • [/[*上一个注释/*.... */的头
    • ]*]/下一个注释/*.... */的头
oeasy教您玩转vim - 32 - # 函数跳转

文章图片

函数间跳转
oeasy教您玩转vim - 32 - # 函数跳转

文章图片

-函数跳转
  • [m下一个函数开头
  • [M上一个函数结尾
  • ]m下一个函数开头
  • [M上一个函数结尾
  • 支持 [count]
    • 3]m 可以往下跳到第 3 个函数开头
  • [m]m 这两个其实还挺好用的
跳到定义
【oeasy教您玩转vim - 32 - # 函数跳转】
oeasy教您玩转vim - 32 - # 函数跳转

文章图片

  • 找到本地定义
  • gd - goto global declaration
oeasy教您玩转vim - 32 - # 函数跳转

文章图片

  • 和 * 不一样的是它会往前找到第一个
  • [[ 的范围内的第一个
没有配对的 #if 宏定义
  • 这个是针对宏定义里面的内容来的
    • [# 上一个没有配对的 #if#else
    • ]# 下一个没有配对的 #else#endif
oeasy教您玩转vim - 32 - # 函数跳转

文章图片

标签跳转
#查找matchit.vim sudo find / -name matchit.vim # 把match.vim插件放到系统插件文件夹 cp /usr/share/vim/vim81/macros/matchit.vim /usr/share/vim/vim81/plugin #打开一个网页 vi oeasy.html

oeasy教您玩转vim - 32 - # 函数跳转

文章图片

  • 这个matchit可以支持标签的跳转
  • 比如在 & lt; html& gt; 处按下 % 就可以到配对的 & lt; /html& gt;
  • 挺好玩的
  • 试试吧 ????
总结
  • 括号间跳转
    • 成对括号间跳转 %
    • 不成对括号间跳转
    • [( 跳转到上一个没配对的 (
    • [) 跳转到下一个没配对的 )
    • [{ 跳转到上一个没配对的 {
    • [} 跳转到下一个没配对的 }
  • 函数间跳转
    • ]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)

    推荐阅读