首页 > 其他分享 >VI改造计划补充篇

VI改造计划补充篇

时间:2024-09-03 19:25:13浏览次数:12  
标签:补充 VI add 查找 改造 Usage ctags cscope Find

在《VI改造计划》一文中讲述到了ctags和cscope两个工具,在使用Linux Kernel源码进行实操时需要使用:cs add cscope.out去加载cscope数据库,每次这样操作会让我们抓狂,那我们修改下~/.vimrc吧,在该文件里加入如下内容:

if filereadable("cscope.out")
  cs add cscope.out
endif

这样以后进入Kernel源码打开文件后就可以直接使用:cs f g start_kernel等查找语句了。 

关于ctags,我们在vim的normal模式下使用:tag tagname查找定位tag时可能有好几个,那么我们还可以使用如下指令来定位: 

:tfirst    跳转到第一个
:tnext    跳转到下一个
:tlast     跳转到最后一个 

关于cscope,我们使用:cs help可以看到如下帮助信息: 

cscope commands:
add : Add a new database (Usage: add file|dir [pre-path] [flags])
find : Query for a pattern (Usage: find c|d|e|f|g|i|s|t name)
    c: Find functions calling this function
    d: Find functions called by this function
    e: Find this egrep pattern
    f: Find this file
    g: Find this definition
    i: Find files #including this file
    s: Find this C symbol
    t: Find this text string
help : Show this message (Usage: help)
kill : Kill a connection (Usage: kill #)
reset: Reinit all connections (Usage: reset)
show : Show connections (Usage: show) 

其大概翻译如下: 

cscope命令:
add : 添加一个新的cscope数据库
find : 按如下指定模式查找标签
    c: 查找调用当前函数的函数
    d: 查找被当前函数所调用的函数
    e: 查找egrep模式
    f: 查找文件
    g: 查找定义
    i: 查找 #including 这个文件的所有文件
    s: 查找C符号
    t: 查找字符串
help : 显示帮助信息
kill : 关闭指定连接
reset: 重置所有连接
show : 显示所有连接 

从帮助信息可以了解到cscope的主要功能还是用来查找,ctags也是类似功能,不过从使用体验来说,ctags只是简单的查找字符,没有严格看到查找时的分类,所以使用上会先使用cscope查找定位来缩小范围,再使用ctags在小范围内进行定位。

这只是简单的补充,还有更多详细、更深的使用技巧等着我们继续挖掘呢! 

标签:补充,VI,add,查找,改造,Usage,ctags,cscope,Find
From: https://blog.csdn.net/guochongxin/article/details/141650738

相关文章

  • ServiceStage集成Sermant实现应用的优雅上下线
    作者:聂子雄华为云高级软件工程师摘要优雅上下线旨在确保服务在进行上下线操作时,能够平滑过渡,避免对业务造成影响,保证资源的高效利用。Sermant基于字节码增强的技术实现了应用优雅上下线能力,应用发布与运维平台ServiceStage通过集成Sermant使得应用在进行持续发布时实现无侵入式地......
  • uniapp+uView幸运大转盘
    父组件代码:<template>  <viewclass="almost-lottery":class="popupShow2?'mask':''">    <view class="d-content">      <viewclass="almost-lottery__wheel">  ......
  • 《NET CLR via C#》---第十一章(事件)
    事件成员的类型提供了以下功能:方法能等级它对事件的关注方法能注销它对事件的关注事件发生时,登记的方法将收到通知CLR事件模型以委托为基础。委托是调用回调方法的一种类型安全的方式。对象凭借回调方法接受它们订阅的通知。设计要公开事件的类型在某些情况下,当某个事件......
  • Vue3+Vite+Vant-UI+Pinia+VueUse开发双端业务驱动技术栈商用项目
    前言:个人git仓库,全是干货一、本次搭建项目涉及到vue3、vite、pinia、vue-router、typescript、element-plus,下面先简单介绍一下大家比较陌生的框架或库1、vue3vue团队官宣:2022年2月7日,vue3作为vue的默认版本。现在打开vue官网,界面默认显示的是vue3版本的指导文档。vue团队在......
  • Vite2.0+ElementPlus+Koa2+Mongo全栈开发通用后台系统Vue3
    Vite2.0+ElementPlus+Koa2+Mongo全栈开发通用后台系统Vue3前言当前基于NodeJs框架的全栈工程实践非常之火,作为一个很长时间未接触代码的前程序猿。一直有点手痒痒,想尝试一下这种全新的编程体验,于是就重新开始了填坑的不归之路。这一套框架是基于现在的前后台分离的指导原则来......
  • TS4+Vite+Vitest+Vitepress Vue3.3 自主打造媲美ElementPlus的组件库
    TS4+Vite+Vitest+VitepressVue3.3自主打造媲美ElementPlus的组件库这个问题看起来是想要创建一个类似ElementPlus的Vue组件库,并且使用TypeScript、Vite、Vitest和Vitepress进行开发。以下是一个简化的指南,用于创建一个自己的Vue组件库项目框架。安装必要的工具:npm......
  • HivisionIDPhotos :一款开源的轻量级且高效的AI证件照制作工具
    HivisionIDPhotos是一款开源的轻量级且高效的AI证件照制作工具,它通过AI算法实现了对多种用户拍照场景的识别、抠图以及证件照生成。这款工具能够根据不同的尺寸规格生成标准证件照和排版照,适用于护照、签证等多种用途。HivisionIDPhotos的主要特点包括轻量级抠图、生成标准证......
  • 英伟达™(NVIDIA®)发布 NVEagle: 超级震撼的视觉语言模型,7B、13B 和 13B 聊天微调版
    多模态大型语言模型(MLLM)是人工智能领域的一次重大飞跃,它将视觉信息和语言信息结合起来,能够更好地理解和解释复杂的现实世界场景。这些模型旨在观察、理解和推理视觉输入,使其在光学字符识别(OCR)和文档分析任务中发挥无价之宝的作用。这些MLLM的核心在于它们的视觉编码器,可......
  • Android Activity启动过程全解析
     https://blog.csdn.net/tenggangren/article/details/50925740 App与AMS通过Binder进行IPC通信,AMS(SystemServer进程)与zygote通过Socket进行IPC通信。一个App的程序入口到底是什么?是ActivityThread.main()。 1.ActivityManagerServices,简称AMS,服务端对象,负责系统中所有A......
  • 二分查找精炼回顾-kevin
    二分搜索回顾,由于习惯问题,二分搜索问题都采用闭区间来思考二分搜索总共就三类问题,统一规范如下,由于都统一采用闭区间来思考,所以while的判定条件都是**left<=right**mid在都是在while循环之后再更新left=0,right=len(nums)-1#所以二分搜索区间是[left,rig......