首页 > 其他分享 >01 | vim的一些使用说明

01 | vim的一些使用说明

时间:2023-10-09 23:55:05浏览次数:47  
标签:文件 01 3rd vim 说明 party ctags ELPP

我们在使用 vim 编写 C 或者 C++ 的代码的时候,没有自动提示很影响编辑体验。
那么我建议安装 YCM 插件,本文是基于安装完毕该插件的情况下,依然没有头文件自动提示的情况进行说明。

YCM 插件有三个头文件提示来源。

  • vim 自带的 ctags 机制
  • vim 打开的文件夹内的 compile_commands.json 文件
  • vim 打开的文件夹内的 .clang_complete 文件

1.ctags 机制

如果我们想要引入系统中已经安装好的库,比如 opencv 等
那么就需要生成该库的 ctags 文件,并配置路径

此处又细分为两种方式 :

  1. 手动方式: Vim: 使用tags文件扩展YCM对C族语言第三方库的代码自动补全功能_vim ctags ycm_此人姓于名叫罩百灵的博客-CSDN博客
  2. 自动方式(运行别人的脚本):adah1972/gen_systags: Generates a systags file for Vim use. (github.com)

2.compile_commands.json 文件

如果我们在使用 cmake 构建自己的项目,可以使用这种方式。

1. cmake 命令行上加上 `-DCMAKE_EXPORT_COMPILE_COMMANDS=1` 来产生此文件
`cmake -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=1`
2. 建立符号连接
`ln -s build/compile_commands.json .`

3.使用 .clang_complete 文件

如果我们自己写 demo ,可以使用这种方式。
在文件夹下新建 .clang_complete 文件,并在文件中加入如下内容

-std=c++17 
-D ELPP_FEATURE_CRASH_LOG 
-D ELPP_FEATURE_PERFORMANCE_TRACKING 
-D ELPP_NO_DEFAULT_LOG_FILE 
-D ELPP_PERFORMANCE_MICROSECONDS 
-D ELPP_UNICODE 
-I common 
-I 3rd-party/nvwa 
-I 3rd-party/cmcstl2/include 
-I 3rd-party/cppcoro/include 
-I 3rd-party/expected/include

视情况自己修改 C++ 标准,或者引入库的头文件路径。

标签:文件,01,3rd,vim,说明,party,ctags,ELPP
From: https://www.cnblogs.com/mmxingye/p/17753515.html

相关文章

  • UAV2101~UAV2105编程与仿真51MCU初学者训练
    练习001:51单片机Proteus仿真:点亮一个灯1、器件清单Proteus关键词元器件CAP固定电容CAP-ELEC电解电容AT89C51AT89C51单片机CRYSTAL晶振BUTTON复位按键RES电阻RESPACK排阻LED-YELLOW黄色发光二极管2、电路3、代码#include<reg51.h>/......
  • P3970 [TJOI2014] 上升子序列
    题目先将\(a[i]\)离散化。设\(f[i]\)表示以数字\(i\)结尾的上升子序列数量。则有\(f[i]=\sum_{j=1}^{i-1}f[j]\)。考虑用线段树实时维护\(f[j]\),就可以\(logn\)查询。扫一遍整个序列,因为不能算重复,所以\(ans\)先减去上一次见到\(a[i]\)时的贡献\(f[a[i]]\),再......
  • Docker 基础01
    一、容器技术介绍1.1什么是DockerDocker是一个开源项目,诞生于2013年初,基于Google公司退出的Go语言实现。Docker是一个开源的应用容器引擎,基于LXC(LinuxContainer)内核虚拟化技术实现,提供一系列更强的功能,比如镜像、Dockerfile等。Docker是将应用及依赖打包到一个可移植的容器......
  • [GXYCTF2019]禁止套娃
    原理.git泄露,githack获取源码无参RCE执行解题过程进入靶场,每看到有用的信息,那就只能目录扫描了,扫到了.git目录,就用githack获取源码<?phpinclude"flag.php";echo"flag在哪里呢?<br>";if(isset($_GET['exp'])){if(!preg_match('/data:\/\/|filter:\/\/|php:\/......
  • WebSocketTool WebSocket调试工具使用说明
    @[TOC]WebSocketTool概述1WebSocketTool简介        WebSocketTool是一款通用的WebSocket调试工具,基于QT框架开发,可以运行在Windows、Linux和MacOS平台下,具备良好的跨平台能力。WebSocketTool调试工具无需安装,下载后解压就可以使用,是一款绿色的软件,易于部署和使用。可......
  • 32个保留字举例说明
    当涉及到C语言的保留字时,理解其含义和用法是很重要的。下面对32个C语言保留字进行简单的解释并举例说明。1.**auto:**  -**说明:**定义自动变量,通常在函数内部使用。  -**示例:**`autointx;`2.**break:**  -**说明:**用于跳出循环或switch语句。  -**示例:**......
  • 2023-01-05vscode技巧
    csharp程序不能输入用vscode运行csharp默认使用的terminal是不支持输入的,输入没反应需要修改launch.json增加这两行我估计是关闭了什么东西,并且调用系统的terminal,具体就不懂了。"configurations":[{//Formoreinformationaboutthe'console'field,se......
  • 2023-01-06-Regex
    最近工作终于闲了下来,可以上班研究代码。遇到一些需要正则表达式的编程问题,无法解决所以决定个学一下。Regex101-ZH-CN(regexlearn.com)RegexLearn-练习场RegexLearn-cheatsheet练习题简单匹配单词heisinblack.black. 允许匹配任何字符,包括特殊字符和空格......
  • 2023-01-31python-path
    +++title="使用标准的path处理方法(Python)"description=""date=2023-01-31T15:26:05+08:00featured=falsecomment=truetoc=truereward=truecategories=[""]tags=["python"]series=[]images=[]+++标准方......
  • 2023-01-31python-json
    +++title="Json读写(Python)"description=""date=2023-01-31T15:34:37+08:00featured=falsecomment=truetoc=truereward=truecategories=[""]tags=[""]series=[]images=[]+++使用python读写json......