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

【vim 学习系列文章 5 - cscope 过滤掉某些目录】

文章目录

    • cscope 过滤目录介绍

cscope 过滤目录介绍

第一步创建自己的cscope脚本~/.local/bin/cscope.sh,如下:

function my_cscope()
{CODE_PATH=`pwd`echo "$CODE_PATH"echo "start cscope...."if [ ! -f "$CODE_PATH/cscope.files" ];thenecho "cscope.files not exist!"elserm -f $CODE_PATH/cscope.*fiif [ ! -d "$CODE_PATH/rt-thread" ];thenfind . \( -path './arch/arc'            \-o -path './arch/alpha'             \-o -path "./arch/blackfin"          \-o -path "./arch/cris"              \-o -path "./arch/h8300"             \-o -path "./arch/ia64"              \-o -path "./arch/m68k"              \-o -path "./arch/microblaze"        \-o -path "./arch/mn10300"           \-o -path "./arch/openrisc"          \-o -path "./arch/powerpc"           \-o -path "./arch/score"             \-o -path "./arch/sparc"             \-o -path "./arch/um"                \-o -path "./arch/x86"               \-o -path "./arch/c6x"               \-o -path "./arch/m32r"              \-o -path "./arch/microblaze"        \-o -path "./arch/nios2"             \-o -path "./arch/powerpc"           \-o -path "./arch/sh"                \-o -path "./arch/um"                \-o -path "./arch/xtensa"            \-o -path "./arch/cris"              \-o -path "./arch/hexagon"           \-o -path "./arch/mips"              \-o -path "./arch/openrisc"          \-o -path "./arch/s390"              \-o -path "./arch/sparc"             \-o -path "./arch/unicore32"         \-o -path "./arch/parisc"            \-o -path "./arch/tile"              \-o -path "./arch/tile"              \-o -path './arch/c6x' \)            \-prune -o -name "*.[chxsS]" -print > cscope.fileselsefind . \( -path "./rtos/rt-thread/rt-thread/bsp/mb9*" \-o -path "./rtos/rt-thread/rt-thread/bsp/at91*" \-o -path "./rtos/rt-thread/rt-thread/bsp/ess*" \-o -path "./rtos/rt-thread/rt-thread/bsp/gd3*" \-o -path "./rtos/rt-thread/rt-thread/bsp/lpc*" \-o -path "./rtos/rt-thread/rt-thread/bsp/ls*" \-o -path "./rtos/rt-thread/rt-thread/bsp/mi*" \-o -path "./rtos/rt-thread/rt-thread/bsp/imx*" \-o -path "./rtos/rt-thread/rt-thread/bsp/rasp*" \-o -path "./rtos/rt-thread/packages/packages/iot/*" \-o -path "./rtos/rt-thread/rt-thread/bsp/stm32/stm32f*" \-o -path "./bootrom"        \-o -path "./u-boot"         \-o -path "./tools" \)       \-prune -name "*.cc" -o -name "*.[chxsS]" \-print > cscope.filesfiecho "cscope -Rbkq -i cscope.files"cscope -Rbkq -i $PWD/cscope.files > cscope.log 2>&1echo "cscope finished"
}my_cscope;

我的这个脚本首先去区分当前执行cscope命令的目录是rt-thread目录还是linux 目录,因为不同的代码要过滤过目录不一样。
此外,还会通过 重定向cscope在解析文件cscope.files过程中输出的log重定向到 cscope.log 方便问题问题。关于 find 命令的使用见 find 命令高效使用文章

第二步~/.bashrc 中添加 mycscope 命令,添加完后,别忘记执行 source ~/.bashrc

alias mycscope='source ~/.local/bin/cscope.sh'

第三部测试效果:

 (*^~^*) ~/workbase/cix_linux/linux> mycscope
/home/sam/workbase/linux
start cscope....
cscope -Rbkq -i cscope.files
cscope finished
(*^~^*) ~/workbase/cix_linux/linux> ls
arch   COPYING  cscope.files   cscope.out     drivers  init    Kconfig  LICENSES     mm      samples   sound  virt
block  CREDITS  cscope.in.out  cscope.po.out  fs       ipc     kernel   MAINTAINERS  net     scripts   tools
certs  crypto   cscope.log     Documentation  include  Kbuild  lib      Makefile     README  security  usr

从下图中可以看到通过cscope命令查找 函数定义定义时只显示了linux/arch 目录下的几个文件,滤除了上文中设置的那些目录:
在这里插入图片描述


在这里插入图片描述

相关文章:

【vim 学习系列文章 5 - cscope 过滤掉某些目录】

文章目录 cscope 过滤目录介绍 cscope 过滤目录介绍 第一步创建自己的cscope脚本~/.local/bin/cscope.sh,如下: function my_cscope() {CODE_PATHpwdecho "$CODE_PATH"echo "start cscope...."if [ ! -f "$CODE_PATH/cscope.…...

实验三 HBase1.2.6安装及配置

系列文章目录 文章目录 系列文章目录前言一、HBase1.2.6的安装二、HBase1.2.6的配置2.1 单机模式配置2.2 伪分布式模式配置 总结参考 前言 在安装HBase1.2.6之前,需要安装好hadoop2.7.6。 本篇文章参考:HBase2.2.2安装和编程实践指南 一、HBase1.2.6的安…...

LightDB sequence支持MAXVALUE最大值与Oracle相同

功能介绍 Oracle数据库在创建sequence的时候可以支持设置maxvalue 为9999999999999999999999999999,这样的SQL在LightDB23.3版本之前都是执行失败的。为了方便Oracle用户迁移到LightDB上,在LightDB23.3版本上,增加了sequence支持maxvalue设置…...

二、Kafka快速入门

目录 2.1 安装部署1、【单机部署】2、【集群部署】 2.2 Kafka命令行操作1、查看topic相关命令参数2、查看当前kafka服务器中的所有Topic3、创建 first topic4、查看 first 主题的详情5、修改分区数(注意:分区数只能增加,不能减少)…...

消息中间件-kafka实战-第五章-kafka重复消费、顺序消费及死信队列

目录 一、参考二、路由规则(分片规则)三、触发重复消费的场景场景一:触发rebalance问题描述可能原因实际影响参数在kafka0.10.1 之前:在kafka0.10.1之后:解决方案 场景二:服务宕机可能原因解决方案 消息幂等性 四、kaf…...

python爬虫9:实战2

python爬虫9:实战2 前言 ​ python实现网络爬虫非常简单,只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点,方便以后复习。 申明 ​ 本系列所涉及的代码仅用于个人研究与讨论,并不会对网站产生不好…...

从业务层的代码出发,去排查通用框架代码崩溃的问题

目录 1、问题说明 1.1、Release下崩溃,Debug下很难复现 1.2、用Windbg打开dump文件,发现崩溃在通用的框架代码中 2、进一步分析 2.1、使用IDA查看汇编代码尝试寻找崩溃的线索 2.2、在Windbg中查看相关变量的值 2.3、查看最近代码的修改记录&#…...

LLM预训练大型语言模型Pre-training large language models

在上一个视频中,您被介绍到了生成性AI项目的生命周期。 如您所见,在您开始启动您的生成性AI应用的有趣部分之前,有几个步骤需要完成。一旦您确定了您的用例范围,并确定了您需要LLM在您的应用程序中的工作方式,您的下…...

[Machine Learning] 损失函数和优化过程

文章目录 机器学习算法的目的是找到一个假设来拟合数据。这通过一个优化过程来实现,该过程从预定义的 hypothesis class(假设类)中选择一个假设来最小化目标函数。具体地说,我们想找到 arg min ⁡ h ∈ H 1 n ∑ i 1 n ℓ ( X i…...

serialVersionUID 有何用途?如果没定义会有什么问题?

序列化是将对象的状态信息转换为可存储或传输的形式的过程。我们都知道,Java 对象是保持在 JVM 的堆内存中的,也就是说,如果 JVM 堆不存在了,那么对象也就跟着消失了。 而序列化提供了一种方案,可以让你在即使 JVM 停机…...

C# OpenCvSharp DNN 二维码增强 超分辨率

效果 项目 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using OpenCvSharp; using OpenCvSharp.Dnn; using OpenCvSh…...

this.$refs使用方法

深入理解和使用this.$refs——Vue.js的利器 Vue.js是一个流行的JavaScript框架,用于构建交互性强大的用户界面。在Vue.js中,this.$refs是一个强大的特性,允许你直接访问组件中的DOM元素或子组件实例。本教程将带你深入了解this.$refs的使用方…...

Ohio主题 - 创意组合和代理机构WordPress主题

Ohio主题是一个精心制作的多用途、简约、华丽、多功能的组合和创意展示主题,具有敏锐的用户体验,您需要构建一个现代且实用的网站,并开始销售您的产品和服务。它配备了最流行的WordPress页面构建器 WPBakery Page Builder(以前称为…...

mysql 、sql server trigger 触发器

sql server mySQL create trigger 触发器名称 { before | after } [ insert | update | delete ] on 表名 for each row 触发器执行的语句块## 表名: 表示触发器监控的对象 ## before | after : 表示触发的时间,before : 表示在事件之前触发&am…...

自然语言处理从入门到应用——LangChain:索引(Indexes)-[检索器(Retrievers)]

分类目录:《自然语言处理从入门到应用》总目录 检索器(Retrievers)是一个通用的接口,方便地将文档与语言模型结合在一起。该接口公开了一个get_relevant_documents方法,接受一个查询(字符串)并返…...

春秋云境:CVE-2022-0543(Redis 沙盒逃逸漏洞)

目录 一、i春秋题目 二、CVE-2022-0543:(redis沙盒逃逸) 漏洞介绍: 漏洞复现: 一、i春秋题目 靶标介绍: Redis 存在代码注入漏洞,攻击者可利用该漏洞远程执行代码。 进入题目:…...

关于uniapp组件的坑

关于uniapp组件的坑 我有一个组件写的没什么问题,但是报下面这个错误 is not found in path “components/xxx/xxxx” (using by “components/yyy/yyy”) 最后经过排除发现命名需要驼峰命名法 我原本组件命名: 文件夹名 test_tttt 文件名 test_tttt.vue 不行 最后改成文件…...

AIGC与软件测试的融合

一、ChatGPT与AIGC 生成式人工智能——AIGC(Artificial Intelligence Generated Content),是指基于生成对抗网络、大型预训练模型等人工智能的技术方法,通过已有数据的学习和识别,以适当的泛化能力生成相关内容的技术。…...

滑动验证码-elementui实现

使用elementui框架实现 html代码 <div class"button-center"><el-popoverplacement"top":width"imgWidth"title"安全验证"trigger"manual"v-model"popoverVisible"hide"popoverHide"show&quo…...

ubuntu 20.04 安装 高版本cuda 11.7 和 cudnn最新版

一、安装显卡驱动 参考另一篇文章&#xff1a;Ubuntu20.04安装Nvidia显卡驱动教程_ytusdc的博客-CSDN博客 二、安装CUDA 英伟达官网&#xff08;最新版&#xff09;&#xff1a;CUDA Toolkit 12.2 Update 1 Downloads | NVIDIA Developer CUDA历史版本下载地址&#xff1a;C…...

Captain AI助力Ozon大卖店群高效管理,实现规模化运营

随着Ozon商家运营规模的扩大&#xff0c;多店铺运营&#xff08;店群&#xff09;成为很多资深大卖的选择&#xff0c;通过多店铺布局&#xff0c;可扩大市场覆盖、分散运营风险、提升整体销量。但店群运营过程中&#xff0c;商家常常面临“管理繁琐、数据混乱、效率低下”的问…...

可穿戴声音装置DIY:用Adafruit Audio FX板制作互动节日毛衣

1. 项目概述&#xff1a;一件会“说话”的节日毛衣又到年底节日扎堆的时候了&#xff0c;除了琢磨穿什么衣服&#xff0c;你有没有想过让衣服本身成为节日气氛的一部分&#xff1f;我说的不是简单的亮片或印花&#xff0c;而是让衣服能发出声音——比如一按袖子就响起清脆的铃铛…...

探索Depth Anything V2:单目深度估计技术的新纪元

探索Depth Anything V2&#xff1a;单目深度估计技术的新纪元 【免费下载链接】Depth-Anything-V2 [NeurIPS 2024] Depth Anything V2. A More Capable Foundation Model for Monocular Depth Estimation 项目地址: https://gitcode.com/gh_mirrors/de/Depth-Anything-V2 …...

ASML财报解析:EUV光刻机如何驱动半导体产业高增长

1. 财报数据深度拆解&#xff1a;高毛利与利润倍增的背后ASML刚刚发布的第二季度财报&#xff0c;无疑是全球半导体产业的一剂强心针。当看到毛利率稳稳站在50%以上&#xff0c;每股净利润几乎翻倍增长时&#xff0c;我第一反应不是惊讶&#xff0c;而是“果然如此”。这组数据…...

鲲鹏面对Agentic沙箱的思考与能力布局

Agent在今年迎来爆发式增长&#xff0c;传统云原生架构在Agent沙箱场景下面临启动慢、弹性差、资源冗余、隔离不足等五大痛点。鲲鹏沙箱以快照快启、共享Rootfs、超节点共享内存三大核心技术破局——将沙箱启动从分钟级压缩至毫秒级&#xff0c;通过写时复制&#xff08;CoW&am…...

抖音去水印下载器终极指南:批量保存视频、音乐、图集和直播

抖音去水印下载器终极指南&#xff1a;批量保存视频、音乐、图集和直播 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback …...

Bilibili-Evolved离线缓存架构解析:构建无网络依赖的现代Web增强脚本

Bilibili-Evolved离线缓存架构解析&#xff1a;构建无网络依赖的现代Web增强脚本 【免费下载链接】Bilibili-Evolved 强大的哔哩哔哩增强脚本 项目地址: https://gitcode.com/gh_mirrors/bi/Bilibili-Evolved 在Web应用日益复杂的今天&#xff0c;离线能力已成为衡量用户…...

基于Spark的分布式量化交易框架:事件驱动架构与实战开发

1. 项目概述与核心价值最近在跟几个做量化交易的朋友聊天&#xff0c;发现一个挺有意思的现象&#xff1a;大家手里或多或少都有一些基于Python的量化策略&#xff0c;但真正能稳定、高效、自动化跑起来的&#xff0c;却不多。问题往往出在几个地方&#xff1a;要么是本地机器性…...

中华民族站起来了,《AI驱动上下五千年:从结绳记事到智能纪元》第三章:周礼分封——面向服务的架构(SOA)首次实践

第三章&#xff1a;周礼分封——面向服务的架构&#xff08;SOA&#xff09;首次实践 1.历史现场&#xff1a;周公的架构革命 时间&#xff1a;公元前1046年&#xff0c;周朝建立之初地点&#xff1a;镐京&#xff08;今西安&#xff09;明堂人物&#xff1a;周公旦、各诸侯国君…...

AI为编程赋能增效:从“古法编程”到氛围编程的范式革命

在人工智能技术飞速发展的今天&#xff0c;编程领域正经历着一场前所未有的范式革命。曾经&#xff0c;我们习惯于在编辑器中逐行敲击代码&#xff0c;为复杂的语法纠错而焦头烂额&#xff0c;那个需要死记硬背各种操作符与数据结构的“古法编程时代”正在悄然落幕。取而代之的…...