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

Posted overmind1980

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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]

小括号跳转

  • 方向

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

括号跳转

  • [( 跳转到上一个没配对的 (
  • ]) 跳转到下一个没配对的 )
  • [{ 跳转到上一个没配对的 {
  • ]} 跳转到下一个没配对的 }
  • 支持 [count]

  • 向上就是[
  • 向下就是]

函数中的跳转

  • 方向
    • [ 往上
      • [{ 紧挨着的上一个{
      • [[ 本块的第一行
    • ] 往下
      • ]} 近挨着的下一个}
      • ]] 本块的最后一行

注释的头尾

  • 注释跳转
    • [/[*上一个注释/* .... */的头
    • ]*]/下一个注释/* .... */的头

函数间跳转


-函数跳转

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

跳到定义

  • 找到本地定义
  • gd - goto global declaration

  • 和 * 不一样的是它会往前找到第一个
  • [[ 的范围内的第一个

没有配对的 #if 宏定义

  • 这个是针对宏定义里面的内容来的
    • [# 上一个没有配对的 #if#else
    • ]# 下一个没有配对的 #else#endif

标签跳转

#查找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

  • 这个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)

以上是关于oeasy教您玩转vim - 32 - # 函数跳转的主要内容,如果未能解决你的问题,请参考以下文章

oeasy教您玩转vim - 47 - # 使用标记

oeasy教您玩转vim - 82 - # 函数function

oeasy教您玩转vim - 84 - # 命令command

oeasy教您玩转vim - 76 - # Session会话

oeasy教您玩转vim - 76 - # Session会话

oeasy教您玩转vim - 76 - # 组合键映射map