vi 编辑器快捷生成 main 函数和基本框架

news2024/9/22 15:49:21

step1: 执行 sudo vi /etc/vim/vimrc (修改vimrc需要管理员权限:sudo)

step2:输入用户密码,回车, 编辑vimrc文件

step3:在尾行输入以下代码(可复制)



map mf i#include<stdio.h><ESC>o#include<stdlib.h><Esc>o#include<sys/types.h><Esc>o#include<sys/stat.h><Esc>o#include<error.h><Esc>o#include<string.h><Esc>o#include<unistd.h><Esc>o#include<math.h><Esc>o#include<time.h><Esc>o<CR><CR><CR><CR><CR>int main(int argc,char *argv[])<Esc>o{<Esc>o<CR><CR><TAB>return 0;<CR><Esc>o}<Esc>2ko

map mfc i#include<iostream><ESC>ousing namespace std;<CR>#include<vector><Esc>o#include<string><Esc>o#include<list><Esc>o#include<map><Esc>o#include<algorithm><Esc>o#include<functional><Esc>o#include<numeric><Esc>o#include<time.h><Esc>o#include<math.h><Esc>o<CR><CR><CR><CR><CR>int main(int argc,char *argv[])<Esc>o{<Esc>o<CR><CR><TAB>return 0;<CR><Esc>o}<Esc>2ko




如果想了解代码的详细解释

配置 Vim 的 .vimrc 文件,以便通过快捷键快速插入 C 和 C++ 程序的样板代码。以下是每个映射的详细解释:

C 样板代码映射 (mf)

map mf i#include<stdio.h><ESC>o#include<stdlib.h><Esc>o#include<sys/types.h><Esc>o#include<sys/stat.h><Esc>o#include<error.h><Esc>o#include<string.h><Esc>o#include<unistd.h><Esc>o#include<math.h><Esc>o#include<time.h><Esc>o<CR><CR><CR><CR><CR>int main(int argc,char *argv[])<Esc>o{<Esc>o<CR><CR><TAB>return 0;<CR><Esc>o}<Esc>2ko
  • map mf: 将 mf 键组合映射到以下一系列命令。
  • i#include<stdio.h><ESC>: 插入 #include<stdio.h> 并退出插入模式。
  • o#include<stdlib.h><Esc>: 在下方新行插入 #include<stdlib.h>,然后退出插入模式。
  • 类似步骤用于其他头文件如 sys/types.hsys/stat.h 等。
  • o<CR><CR><CR><CR><CR>int main(int argc,char *argv[])<Esc>: 打开多行并插入 main 函数声明。
  • o{<Esc>o<CR><CR><TAB>return 0;<CR><Esc>o}: 打开新行,插入左大括号,然后在新行插入缩进的 return 0; 语句。
  • 2ko: 将光标上移两行到 main 函数的开头。

C++ 样板代码映射 (mfc)

map mfc i#include<iostream><ESC>ousing namespace std;<CR>#include<vector><Esc>o#include<string><Esc>o#include<list><Esc>o#include<map><Esc>o#include<algorithm><Esc>o#include<functional><Esc>o#include<numeric><Esc>o#include<time.h><Esc>o#include<math.h><Esc>o<CR><CR><CR><CR><CR>int main(int argc,char *argv[])<Esc>o{<Esc>o<CR><CR><TAB>return 0;<CR><Esc>o}<Esc>2ko
  • map mfc: 将 mfc 键组合映射到以下一系列命令。
  • i#include<iostream><ESC>: 插入 #include<iostream> 并退出插入模式。
  • ousing namespace std;<CR>: 在下一行插入 using namespace std;
  • 类似步骤用于其他头文件如 vectorstring 等。
  • o<CR><CR><CR><CR><CR>int main(int argc,char *argv[])<Esc>: 打开多行并插入 main 函数声明。
  • o{<Esc>o<CR><CR><TAB>return 0;<CR><Esc>o}: 打开新行,插入左大括号,然后在新行插入缩进的 return 0; 语句。
  • 2ko: 将光标上移两行到 main 函数的开头。

然后只需要这个就好了,那么多头文件头疼。

map mf i#include<stdio.h><Esc>o<CR><CR><CR><CR><CR>int main(int argc,char *argv[])<Esc>o{<Esc>o<CR><CR><TAB>return 0;<CR><Esc>o}<Esc>2ko

map mfc i#include<iostream><ESC>ousing namespace std;<Esc>o<CR><CR><CR><CR><CR>int main(int argc,char *argv[])<Esc>o{<Esc>o<CR><CR><TAB>return 0;<CR><Esc>o}<Esc>2ko

这些映射可以显著加快开始一个新的 C 或 C++ 文件的过程,自动插入必要的头文件和一个基本的 main 函数结构。

再次点赞 Fitten Code

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1935362.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一篇论文分享,以多模态的形式来做RAG的研究

这篇论文&#xff0c;给我很强的割裂感和冲击感。非常值得阅读。我是做RAG相关研究工作的 &#xff0c;过去一年在做传统的RAG&#xff0c;就是标准的文档解析&#xff0c;chunk&#xff0c;召回&#xff0c;排序&#xff0c;模型生成答案这条路。深谙RAG的复杂&#xff0c;中间…

PostgreSQL创建表和自增序列

一、创建表&#xff1a; 注意&#xff1a; 1、在mysql没有序列的概念&#xff0c;id自增通过auto_increment实现&#xff1b; 2、pgsql没有auto_increment的概念&#xff0c;如何实现id自增&#xff1f;有两种方式&#xff1a; 方式一&#xff1a;创建序列&#xff0c;绑定…

Dify是什么?能用来做什么?

吾名爱妃&#xff0c;性好静亦好动。好编程&#xff0c;常沉浸于代码之世界&#xff0c;思维纵横&#xff0c;力求逻辑之严密&#xff0c;算法之精妙。亦爱篮球&#xff0c;驰骋球场&#xff0c;尽享挥洒汗水之乐。且喜跑步&#xff0c;尤钟马拉松&#xff0c;长途奔袭&#xf…

idea怎么配置gradle多个版本

1.背景 gradle版本很多,而且很多时候版本是不兼容的,我们希望拉取下来的代码就包含已经配置好的版本,而不是去配置本机的gradle版本..... 意思就是要实现项目A可以用6.X版本 项目B可以使用7.X版本 项目C可以用9.X版本..... 2.配置方式 步骤一:项目根路径下保留一个文件夹…

Axios使用方法详解,从入门到进阶

目录 &#x1f333; Axios的诞生 &#x1f333; Axios的介绍 定义 原理 特性 浏览器支持情况 如何安装 &#x1f333; Axios的使用 ◼️ 创建vue项目 ◼️ Axios的基础用法&#xff08;get、post、put 等请求方法&#xff09; get方法 post方法 put和patch方法 …

ts踩坑!vue3中ts文件用export导出公共方法的ts类型定义

当我们有一个ts文件&#xff0c;定义并export出该function&#xff0c;其中方法里边有定义的变量&#xff0c;方法、钩子函数等多种&#xff0c;并最终return出该变量、方法。 此时 ts规则校验会让我们返回该函数类型。如下 export default function () {const chart ref();c…

vue echarts 柱状图表,点击柱子,路由代参数(X轴坐标)跳转

一 myChart.on(click, (params) > {if (params.componentType series && params.dataIndex ! undefined) {const months this.month_htqd[params.dataIndex]; // 获取点击柱状图的 X 轴坐标值alert(点击了柱状图&#xff0c;值为: ${months});// 根据点击的柱状图…

PHP房产中介租房卖房平台微信小程序系统源码

​&#x1f3e0;【租房卖房新选择】揭秘房产中介小程序&#xff0c;一键搞定置业大事&#xff01;&#x1f3e1; &#x1f50d;【开篇&#xff1a;告别繁琐&#xff0c;拥抱便捷】&#x1f50d; 还在为找房子跑断腿&#xff1f;为卖房发愁吗&#xff1f;今天给大家安利一个超…

前端开发_注意事项

无论使用哪种框架开发&#xff08;vue、react、...&#xff09;&#xff0c;前端开发终究是结构&#xff08;HTML&#xff09;、样式&#xff08;CSS&#xff09;、逻辑&#xff08;用户操作数据处理对接后端API&#xff09;。那么开发过程中都需要注意哪些事项&#xff0c;本文…

【单片机毕业设计选题24072】-基于单片机的智能停车场管理系统

系统功能: 1.根据RFID卡卡号判断新老用户&#xff0c;老用户不计费直接放行&#xff0c;新用户放行时显示计费结果 2.显示屏显示车位剩余数量 3.检测车位有车亮红灯&#xff0c;无车亮绿灯&#xff0c;能够实现车位诱导 5.车辆出停车场时&#xff0c;能根据停车时间计算停车…

大数据采集工具——Flume简介安装配置使用教程

Flume简介&安装配置&使用教程 1、Flume简介 一&#xff1a;概要 Flume 是一个可配置、可靠、高可用的大数据采集工具&#xff0c;主要用于将大量的数据从各种数据源&#xff08;如日志文件、数据库、本地磁盘等&#xff09;采集到数据存储系统&#xff08;主要为Had…

计算机课设——基于Java web的超市管理系统

smbms_java_web 基于Java web的超市管理系统&#xff0c;数据库课程设计 1.引言 是一个基于Java Web连接MySQL的小项目。 超市管理系统(smbms)作为每个计算机专业的大学生都是一个很好的练手项目&#xff0c;逻辑层次分明&#xff0c;基础功能包括用户的登录和注销&#xff…

云手机结合自主ADB命令接口 提升海外营销效率

现在&#xff0c;跨境电商直播已经成为在线零售的重要渠道&#xff0c;在大环境下&#xff0c;确保直播应用的稳定性和用户体验至关重要。 云手机支持自主ADB命令接口&#xff0c;为电商直播营销提供了技术支持&#xff0c;使得应用开发、测试、优化和运维更加高效。 什么是A…

鸿蒙语言基础类库:【@system.sensor (传感器)】

传感器 说明&#xff1a; 从API Version 8开始&#xff0c;该接口不再维护&#xff0c;推荐使用新接口[ohos.sensor]。本模块首批接口从API version 4开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。该功能使用需要对应硬件支持&#xff0c;仅支持…

什么是信息指纹和信息加密——《数学之美》第16、17章以及其他各种资料的读书笔记

目录 1. 信息指纹 1.1 概念 1.2 相关算法的演进历程 1.3 哈希碰撞 1.4 雪崩效应 1.5 应用场景 2. 信息加密 2.1 密码学的简要历史 2.1.1 古代密码学&#xff1a;智慧的萌芽 2.1.2 中世纪至文艺复兴&#xff1a;密码术的兴起 2.1.3 近代密码学&#xff1a;机械密码机的…

【python函数】string和json的互转函数封装

我是一名测试开发工程师&#xff08;全栈&#xff09;&#xff0c;作品有全终端自动化测试框架wyTest&#xff0c;未羽研发测试管理平台&#xff0c;欢迎同行交流。 一、主要涉及2个方法&#xff1a; json.loads&#xff1a;将字符串转换成JSONjson.dumps&#xff1a;将JSON转…

Apache BookKeeper 一致性协议解析

导语 Apache Pulsar 是一个多租户、高性能的服务间消息传输解决方案&#xff0c;支持多租户、低延时、读写分离、跨地域复制&#xff08;GEO replication&#xff09;、快速扩容、灵活容错等特性。Pulsar 存储层依托于 BookKeeper 组件&#xff0c;所以本文简单探讨一下 BookK…

接口开发:Orcal数据库的批量修改sql

场景&#xff1a;在日常的CURD中一定会用到批量修改。在我们的项目中&#xff0c;使用的数据库是Orcal&#xff0c;由于之前基本都是使用Mysql的&#xff0c;使用的sql语句也基本都是用mysql的。但是在这次的接口编写时用mysql的批量修改出了问题&#xff0c;刚开始我还以为是写…

高频面试题-CSS

BFC 介绍下BFC (块级格式化上下文) 1>什么是BFC BFC即块级格式化上下文&#xff0c;是CSS可视化渲染的一部分, 它是一块独立的渲染区域&#xff0c;只有属于同一个BFC的元素才会互相影响&#xff0c;且不会影响其它外部元素。 2>如何创建BFC 根元素&#xff0c;即HTM…

浅谈端到端(自动驾驶)

一、 引言 端到端是近期非常火的话题&#xff0c;尤其在自动驾驶、具身智能等领域。去年UniAD的发布&#xff0c;给大家普及了端到端的网络设计&#xff0c;带动了行业的发展。产业界&#xff0c;特斯拉FSD Beta V12效果惊艳&#xff0c;近期理想也推出了双系统的E2E自动驾驶系…