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

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>2komap 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>2komap 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.mzph.cn/pingmian/46564.shtml

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

相关文章

uniapp 微信小程序根据后端返回的文件链接打开并保存到手机文件夹中【支持doc、docx、txt、xlsx等类型的文件】

项目场景&#xff1a; 我们在使用uniapp官方提供的uni.downloadFile以及uni.saveFile时&#xff0c;会发现这个文件下载的默认保存位置和我们预想的不太一样&#xff0c;容易找不到&#xff0c;而且没有提示&#xff0c;那么我们就需要把文件打开自己保存并且有提示保存到哪个…

探索前沿科技:从迁移学习看人工智能的无限可能性

从迁移学习看人工智能的无限可能性 1 引言1.1 什么是迁移学习1.1.1 迁移学习的定义1.1.2 迁移学习的起源和背景 1.2 迁移学习的重要性1.2.1 解决小数据集问题1.2.2 提高模型训练效率1.2.3 应用于不同领域的广泛性 1.3 迁移学习的前景 2 迁移学习的基本概念2.1 源域和目标域2.1.…

【区块链 + 智慧政务】涉税行政事业性收费“e 链通”项目 | FISCO BCOS应用案例

国内很多城市目前划转至税务部门征收的非税收入项目已达 17 项&#xff0c;其征管方式为行政主管部门核定后交由税务 部门征收。涉税行政事业性收费受限于传统的管理模式&#xff0c;缴费人、业务主管部门、税务部门、财政部门四方处于 相对孤立的状态&#xff0c;信息的传递靠…

无人机之机架类型篇

碳纤维机架 具有低密度、高强度和高刚度的特点&#xff0c;非常适合商业或工业级无人机的设计。碳纤维机架在飞行过程中具有良好的减振效果&#xff0c;使飞行更加稳定&#xff0c;但制作工艺复杂&#xff0c;成本较高。 工程塑料机架 以其轻便、耐冲击和易加工等特点受到一…

【C语言】深入解析选择排序

文章目录 什么是选择排序&#xff1f;选择排序的基本实现代码解释选择排序的优化选择排序的性能分析选择排序的实际应用结论 在C语言编程中&#xff0c;选择排序是一种简单且直观的排序算法。尽管它在处理大型数据集时效率不高&#xff0c;但由于其实现简单&#xff0c;常常用于…

牛客TOP101:反转链表

文章目录 1. 题目描述2. 解题思路3. 代码实现 1. 题目描述 2. 解题思路 简单粗暴的写法&#xff0c;就是从头到尾挨个将所有结点的指向翻转即可。需要注意的是&#xff0c;翻转之后会失去原有指向的结点&#xff0c;所以需要提前保存。   具体做法就是&#xff0c;使用cur标记…

硬件检测工具 | CPU-Z v2.10.0 官方中文绿色版

软件简介 CPU-Z是一款广受欢迎的硬件检测工具&#xff0c;主要用于收集电脑处理器的详细信息。这款软件能够提供关于CPU的详细数据&#xff0c;包括处理器名称、编号、代号、进程和缓存等信息。此外&#xff0c;CPU-Z还能实时监测每个内核的内部频率和内存频率&#xff0c;以及…

如何在项目中打印sql和执行的时间

目标&#xff1a;打印DAO方法中sql和执行的时间 一种方式是去实现Mybatis的拦截器Interceptor &#xff0c;比较麻烦&#xff1b; 这里介绍一种比较简单的实现方式&#xff1b; 1、如何打印sql&#xff1f; 配置文件加这个可以打印出com.zhenhui.ids.busi.watch包下执行的sq…

c++包管理器

conan conan search&#xff0c;查看网络库 conan profile detect&#xff0c;生成缓存信息conan new cmake_exe/cmake_lib&#xff0c;创建cmakelists.txtconan install .&#xff0c;执行Conanfile.txt中的配置&#xff0c;生成相关的bat文件 项目中配置Conanfile.txt(或者…

tessy 集成测试:小白入门指导手册

目录 1,创建集成测试模块且分析源文件 2,设置测试环境 3,TIE界面设置相关函数 4,SCE界面增加用例 5,编辑数据 6,用例所对应的测试函数序列 7,添加 work task 函数 8,为测试场景添加函数 9,为函数赋值 10,编辑时间序列的数值 11,执行用例 12,其他注意事项…

零基础STM32单片机编程入门(十四) DS18B20温度传感器模块实战含源码

文章目录 一.概要二.DS18B20主要性能参数三.DS18B20温度传感器内部框图四.DS18B20模块原理图五.DS18B20模块跟单片机板子接线和通讯时序1.单片机跟DS18B20连接示意图2.单片机跟DS18B20通讯流程与时序3.通讯流程中的9个数据字节内容格式4.温度数据寄存器LSB/MSB格式 六.STM32单片…

【HarmonyOS】鸿蒙中如何获取用户相册图片?photoAccessHelper.PhotoViewPicker

【HarmonyOS】鸿蒙中如何获取用户相册图片&#xff1f;photoAccessHelper.PhotoViewPicker 前言 有同学私聊我说&#xff0c;之前的博客文章提到的没有HarmonyOS白名单帐号&#xff0c;如何在OpenHarmony Gitee开发仓里学习API接口。需要注意一个点&#xff0c;默认看到的文档…

图、图的遍历、最小生成树、最短路径

0、图的概念 **图:**是由顶点集合及顶点间的关系组成的一种数据结构&#xff1a;G (V&#xff0c; E)&#xff0c;其中&#xff1a; 顶点集合V {x|x属于某个数据对象集}是有穷非空集合&#xff1b;边的集合E {(x,y)|x,y属于V}或者E {|x,y属于V && Path(x, y)}是顶…

浅学三次握手

数据要完成传输&#xff0c;必须要建立连接。由于建立TCP连接的过程需要来回3次&#xff0c;所以&#xff0c;将这个过程形象的叫做三次握手。 结合上面的图来看更清楚。 先说三次握手吧&#xff0c;连接是后续数据传输的基础。就像我们打电话一样&#xff0c;必须保证我和对方…

在 PostgreSQL 里如何实现数据的实时监控和性能瓶颈的快速定位?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01;&#x1f4da;领书&#xff1a;PostgreSQL 入门到精通.pdf 文章目录 在 PostgreSQL 里如何实现数据的实时监控和性能瓶颈的快速定位一、数据实时监控的重要性二、PostgreSQ…

shell,重定向与管道符号

文章目录 一&#xff0c;什么是shell二&#xff0c;shell脚本和作用1. shell脚本2. 作用 三&#xff0c;shell脚本的构成内容四&#xff0c;创建和运行Shell脚本五&#xff0c;重定向与管道操作1. 交互式硬件设备2. 重定向操作概览表3. 管道操作 一&#xff0c;什么是shell sh…

Matlab 判断直线上一点

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 判断一个点是否位于一直线上有很多方法,这里使用一种很有趣的坐标:Plucker线坐标,它的定义如下所示: 这个坐标有个很有趣的性质,我们可以使用Plucker坐标矢量构建一个Plucker矩阵: 则它与位于对应线上的齐次点…

排序(三)——归并排序(MergeSort)

欢迎来到繁星的CSDN&#xff0c;本期内容主要包括归并排序(MergeSort)的实现 一、归并排序的主要思路 归并排序和上一期讲的快速排序很像&#xff0c;都利用了分治的思想&#xff0c;将一整个数组拆成一个个小数组&#xff0c;排序完毕后进行再排序&#xff0c;直到整个数组排序…

文章管理小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;作者管理&#xff0c;文章管理&#xff0c;文章分类管理&#xff0c;论坛&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;文章&#xff0c;论坛&#xff0c;我的 开发系统…

代码随想录算法训练营第五十四天|99.岛屿数量 深搜、广搜、100.岛屿的最大面积

99.岛屿数量 题目链接&#xff1a;99.岛屿数量 文档讲解&#xff1a;代码随想录 状态&#xff1a;不会 深搜 思路&#xff1a; 遍历网格&#xff0c;发现岛屿&#xff1a;我们需要遍历整个二维网格&#xff0c;检查每一个位置上的元素。如果在遍历过程中遇到陆地&#xff08;…