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

Vim - 快速插入C语言函数注释模板

背景

C语言使用vim编写时,需要快速对函数进行说明头插入;

代码

function! InsertCFunctionHeader()" 获取当前行内容let line = getline('.')" 匹配 C 函数定义let matched = matchlist(line, '^\s*\w\+ \+\(\w\+\)(\(.*\))')" 如果当前行不是函数定义,退出if len(matched) == 0echo "Not a function definition!"returnendif" 获取函数名和参数列表let func_name = matched[1]let params = matched[2]let current_line_number = line('.')let current_line_content = getline('.')let write_line_number = current_line_number - 1" 插入注释头call setline(current_line_number, "")call setline(write_line_number, '/* ' . func_name)let write_line_number += 1call append(write_line_number, ' *')let write_line_number += 1call append(write_line_number, ' * Parameters:')let ii = 0" 解析并插入参数注释for param in split(params[1:-1], ',')let param_name = matchstr(param, '\w\+$')if len(param_name) > 0let write_line_number += 1call append(write_line_number, ' *   ' . param_name . ':')endifendforlet write_line_number += 1call append(write_line_number, ' * Returns:')let write_line_number += 1call append(write_line_number, ' *   ')let write_line_number += 1call append(write_line_number, ' */')let write_line_number += 1call append(write_line_number, '')let write_line_number += 1call append(write_line_number, current_line_content)
endfunction" 将该函数绑定到一个快捷键,例如 <F5>
nnoremap <F5> :call InsertCFunctionHeader()<CR>

相关文章:

Vim - 快速插入C语言函数注释模板

背景 C语言使用vim编写时&#xff0c;需要快速对函数进行说明头插入&#xff1b; 代码 function! InsertCFunctionHeader()" 获取当前行内容let line getline(.)" 匹配 C 函数定义let matched matchlist(line, ^\s*\w\ \\(\w\\)(\(.*\)))" 如果当前行不是函…...

Leetcode171. Excel 表列序号

给你一个字符串 columnTitle &#xff0c;表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。 例如&#xff1a; A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ... 题解&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱…...

自主设计,模拟实现 RabbitMQ - 实现 拒绝/否定 应答机制

目录 一、拒绝/否定 应答机制 1.1、需求分析 什么是 拒绝/否定 应答呢?...

在github上设置不同分支,方便回滚

在github上设置不同分支&#xff0c;方便回滚 步骤可能出现的问题couldnt find remote ref gpuVersion1. 确保您处于正确的分支2. 添加并提交更改&#xff08;如果还未进行&#xff09;3. 推送本地分支到远程仓库4. 验证操作 步骤 之前在github上上传了一个项目代码&#xff0c…...

【Elsevier旗下】JCR2/3区,最快25天录用!计算机与娱乐、教育、游戏、新媒体均可

期刊简介&#xff1a; 出版社&#xff1a;Elsevier 影响因子&#xff08;2022&#xff09;&#xff1a;2.5-3.0 期刊分区&#xff1a;JCR2/3区&#xff0c;中科院4区 检索数据库&#xff1a;SCIE 在检 数据库检索年份&#xff1a;2016年 预警情况&#xff1a;无中科院预警…...

TSINGSEE视频AI智能分析技术:水泥厂安全生产智能监管解决方案

一、方案背景 随着人工智能技术的快速发展以及视频监控系统在全国范围内的迅速推进&#xff0c;基于AI视频智能分析技术的智能视频监控与智慧监管系统&#xff0c;也已经成为当前行业的发展趋势。在工业制造与工业生产领域&#xff0c;工厂对设备的巡检管理、维护维修、资产管…...

Whisper + NemoASR + ChatGPT 实现语言转文字、说话人识别、内容总结等功能

引言 2023年&#xff0c;IT领域的焦点无疑是ChatGPT&#xff0c;然而&#xff0c;同属OpenAI的开源产品Whisper似乎鲜少引起足够的注意。 Whisper是一款自动语音识别系统&#xff0c;可以识别来自99种不同语言的语音并将其转录为文字。 如果说ChatGPT为计算机赋予了大脑&…...

795. 区间子数组个数

795. 区间子数组个数 给你一个整数数组 nums 和两个整数&#xff1a;left 及 right 。找出 nums 中连续、非空且其中最大元素在范围 [left, right] 内的子数组&#xff0c;并返回满足条件的子数组的个数。 生成的测试用例保证结果符合 32-bit 整数范围。 示例 1&#xff1a;…...

Request method ‘GET‘ not supported,不支持GET形式访问

org.springframework.web.HttpRequestMethodNotSupportedException: Request method ‘GET’ not supported 原因&#xff1a;异常提示的很明确&#xff0c;请求不支持GET方式访问&#xff0c;出现这种问题一般都是由于限制请求接口为POST&#xff0c;然后使用GET形式访问造成的…...

数据结构与算法(C语言版)P2---线性表之顺序表

前景回顾 #mermaid-svg-sXTObkmwPR34tOT4 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-sXTObkmwPR34tOT4 .error-icon{fill:#552222;}#mermaid-svg-sXTObkmwPR34tOT4 .error-text{fill:#552222;stroke:#552222;}#…...

AI写文章软件-怎么选择不同的AI写文章软件

在如今信息爆炸的时代&#xff0c;无论是学生、职场人士&#xff0c;还是创作者和企业家&#xff0c;写文章都是一项常见而又重要的任务。然而&#xff0c;随着科技的不断进步&#xff0c;AI写文章的软件也逐渐走进了人们的视野。 147GPT批量文章生成工具​www.147seo.com/post…...

VSCode远程连接服务器报错:Could not establish connection to

参考&#xff1a;https://blog.csdn.net/weixin_42538848/article/details/118113262 https://www.jb51.net/article/219138.htm 刚开始把ssh文件夹中的known_hosts给删除了&#xff0c;发现没啥用。 之后在扩展Remote-SSH里面&#xff0c;把config file路径设置为ssh文件夹里…...

openssl 用法整理 —— 筑梦之路

用法一 生成自签名数字证书 # 生成私钥 openssl genpkey -algorithm RSA -out private.key# 生成证书请求 openssl req -new -key private.key -out certificate.csr# 使用私钥签署证书 openssl x509 -req -days 365 -in certificate.csr -signkey private.key -out certifica…...

Mac安装SPSS 26(含安装包)

Mac安装SPSS 26(含安装包) 安装包地址(百度网盘)&#xff1a;https://pan.baidu.com/s/127ZJNRIMZaeR2hDilQT0Zg提取码: m5xj 查看是否允许安装任何来源的app 如果没有任何来源这个选项 打开终端输入&#xff1a;sudo spctl --master-disable回车之后输入password(注:电脑的…...

uniapp存值和取值方法

在UniApp中&#xff0c;可以使用全局变量、本地缓存和Vuex状态管理等方式来进行存值和取值。 全局变量&#xff1a;可以在App.vue文件的data中定义一个全局变量&#xff0c;在其他页面或组件中通过uni.$emit方法修改其值&#xff0c;并通过uni.$on方法监听值的变化。 // App.…...

Apache Beam 2.50.0发布,该版本包括改进功能和新功能

导读我们很高兴向您介绍 Beam 的新版本 2.50.0。该版本包括改进功能和新功能。请查看此版本的下载页面。 亮点 Spark 3.2.2 被用作 Spark 运行程序的默认版本&#xff08;#23804&#xff09;。Go SDK 新增默认本地运行程序&#xff0c;名为 Prism&#xff08;#24789&#xff0…...

华为云云耀云服务器 L 实例评测|配置教程 + 用 Python 简单绘图

文章目录 Part.I IntroductionChap.I 云耀云服务器 L 实例简介Chap.II 参与活动步骤 Part.II 配置Chap.I 初步配置Chap.II 配置安全组 Part.III 简单使用Chap.I VScode 远程连接华为云Chap.II 简单绘图 Reference Part.I Introduction 本篇博文是为了参与华为“【有奖征文】华…...

栈的简单应用(利用Stack进行四则混合运算)(JAVA)

目录 中缀表达式转后缀表达式 图解 代码实现过程&#xff1a; 完整代码&#xff1a; 利用后缀表达式求值&#xff1a; 完整代码&#xff1a; 首先我们得先了解逆波兰表达式。 中缀表达式转后缀表达式 所谓的中缀表达式其实就是我们平时写的例如&#xff1a;&#xff1…...

Python---异常

捕获全部异常 语法&#xff1a; try: 可能发生的错误代码 except: 如果出现异常执行的代码 例子&#xff1a; try:open("test2.txt", "r", encoding"UTF-8") except:print("出现异常&#xff0c;文件不存在&#xff0c;换个模式打…...

视频编解码器H.264和H265有什么区别?

对于大型视频文件来说&#xff0c;视频编解码器至关重要&#xff0c;它可以将文件压缩为较小的尺寸&#xff0c;从而可以更轻松地存储和加快传输速度。而两种最常用的编解码器是H.264和H.265&#xff0c;那么它们两者之间有什么区别&#xff0c;哪一个更好呢&#xff1f; 1. 什…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...

iview框架主题色的应用

1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题&#xff0c;无需引入&#xff0c;直接可…...

MinIO Docker 部署:仅开放一个端口

MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...

mac:大模型系列测试

0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何&#xff0c;是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试&#xff0c;是可以跑通文章里面的代码。训练速度也是很快的。 注意…...

【堆垛策略】设计方法

堆垛策略的设计是积木堆叠系统的核心&#xff0c;直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法&#xff0c;涵盖基础规则、优化算法和容错机制&#xff1a; 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则&#xff1a; 大尺寸/重量积木在下&#xf…...