当前位置: 首页 > news >正文

vim 查看复杂的宏扩展

在一些复杂项目中,使用宏可以简化代码。但是对于刚接触项目的人来说,分析层层嵌套的宏,是件头疼的事情。
使用 vim 的多窗口功能,可以为此提供一些帮助。

如下图,分析4层嵌套的宏,DEFINE_I440FX_MACHINE -> DEFINE_PC_MACHINE -> type_init -> module_init,只要你的屏幕足够大,就能开足够的窗口,从而一览无余。
在这里插入图片描述
此外, vim YouCompleteMe 插件还提供了理解宏的终极武器:分析并展开宏,从而看见庐山真面目,如上图最右侧。
这里给出特写:
在这里插入图片描述
vim 多窗口是其自带功能,不需要任何插件。下面给出常用命令。
注,“:” 表示在 vim 命令模式执行。

命令描述
:split [file]水平拆分当前窗口。file 为在新窗口中打开的文件路径。若不指定 file,则新窗口依然打开当前窗口的文件。
:vsplit [file]垂直拆分当前窗口。
ctrl-w h/j/k/l移动光标到其他窗口。比如,先按 ctrl-w,再按 h,移动光标到左侧窗口。

至于调节各窗口大小,交替、旋转窗口位置等等,命令非常之多,下面是我收录的命令。
在这里插入图片描述
就不一一翻译了。翻译了你也记不住。教你一个无脑方法,那就是启用鼠标:

:set mouse=a

启用鼠标后,就可以随意点击窗口,拖动窗口边沿以调整大小。
不过想愉快地使用鼠标,需要你所使用的 vim 支持鼠标。通过如下命令查看是否支持。

vim --version

在这里插入图片描述

http://www.xdnf.cn/news/373915.html

相关文章:

  • 程序代码篇---esp32视频流处理
  • Hive表JOIN性能问
  • 质量保证计划,软件质量计划书,软件质量方案(word原件)
  • 在线SQL转ER图工具
  • java命令行打包class为jar并运行
  • 使用FastAPI和React以及MongoDB构建全栈Web应用03 全栈开发快速入门
  • 51c大模型~合集126
  • Pyhton生活手册-NumPy数据类型:从快递单到智能家居的数据变形术
  • 高精度之加减乘除之多解总结(加与减篇)
  • C++GO语言微服务和服务发现②
  • Java—— 泛型详解
  • PLC可编程控制器在接地电阻柜接触器柜中的智能化控制实践
  • 最大公约数gcd和最小公倍数lcm
  • `RotationTransition` 是 Flutter 中的一个动画组件,用于实现旋转动画效果
  • 跨境热销产品安全危机:一场召回事件背后的全球合规挑战
  • 提高工作效率的新选择[特殊字符]——Element Plus UI库
  • 基于小波神经网络(WNN)的回归预测模型【MATLAB】
  • 精品,第22章 Python3 数据类型与文件操作详解
  • Jmeter中的Json提取器如何使用?
  • 数据分析2
  • C.printf 函数基础
  • (51单片机)LCD显示红外遥控相关数字(Delay延时函数)(LCD1602教程)(Int0和Timer0外部中断教程)(IR红外遥控模块教程)
  • 2025数维杯数学建模A题完整参考论文(共36页)(含模型、可运行代码、数据)
  • `C_PiperInterface` 类接口功能列表
  • Shell编程之正则表达式与文本处理器
  • 数字果园管理系统的设计与实现(Tensorflow的害虫识别结合高德API的害虫定位与Websocket的在线聊天室)
  • springboot生成二维码到海报模板上
  • 【计算机视觉】OpenCV项目实战:基于OpenCV的图像分割技术深度解析与实践指南
  • Linux系统:虚拟文件系统与文件缓冲区(语言级内核级)
  • 深度解析 MySQL 与 Spring Boot 长耗时进程:从故障现象到根治方案(含 Tomcat 重启必要性分析)