程序移动
回忆上节课内容🤔
-
上次内容很简单,主要针对文本类素材
-
移动段落
-
{向前
-
}向后
-
移动句子
-
(向前
-
)向后
-
如果我想程序中快速移动
-
怎么办?🤔
#首先下载文本找到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可以支持标签的跳转
-
比如在 <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)