vim 配置 clang-format[通俗易懂]

vim 配置 clang-format[通俗易懂]vim配置clang-format

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

在ubuntu14.04下完成配置

第一步:安装clang-format

sudo apt-get install clang-format-3.x

第二步:二进制文件拷贝

拷贝一个不带版本号的二进制,实际上就是重命名

sudo cp /usr/bin/clang-format-3.x /usr/bin/clang-format

截止目前,已经可以在shell使用clang-format
例如:

clang-format main.cpp -style=LLVM

第三步:配置vim

有很多方式,我才用了官网的方式
http://clang.llvm.org/docs/ClangFormat.html

具体流程:

1)下载clang-format.py

2)在vimrc中添加

map <C-K> :pyf <path-to-this-file>/clang-format.py<cr>

imap <C-K> <c-o>:pyf <path-to-this-file>/clang-format.py<cr>

至此完成的功能有:
normal模式下,ctrl+k将格式化一行代码
visual模式下,ctrl+k将格式化选中代码
insert模式下,ctrl+k将格式化一行代码

打开一个文件,发现提示:没有.clang-format文件,默认将使用llvm风格,我们可以才当前目录下创建一个.clang-format:
这里我抄了一个腾讯的文件

--- BasedOnStyle: LLVM
IndentWidth: 4
TabWidth: 4
AlwaysBreakTemplateDeclarations: true
AllowShortFunctionsOnASingleLine: Inline
BreakAfterJavaFieldAnnotations: true
BreakBeforeBraces: Linux
SpaceAfterCStyleCast: true
IndentCaseLabels: true
AccessModifierOffset: -4
BreakBeforeBraces: Custom
BraceWrapping:
 AfterNamespace: false
 AfterClass: false
 AfterFunction: true

BreakConstructorInitializersBeforeComma: true
ConstructorInitializerAllOnOneLineOrOnePerLine: true
BinPackParameters: false
ReflowComments: false ---
Language: Cpp
ColumnLimit: 80 ---
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188525.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql timestamp[通俗易懂]

    mysql timestamp[通俗易懂]一般建表时候,创建时间用datetime,更新时间用timestamp。这是非常重要的。【1】timestamp字段所在行更新时,timestamp字段会被更新成当前时间(1.1)一个表中出现了两

    2022年7月2日
    25
  • android游戏引擎andengine学习系列三:绘制游戏虚拟摇杆

    android游戏引擎andengine学习系列三:绘制游戏虚拟摇杆如何高效的学习,这才是我们最值得去学习的。  andengine中绘制虚拟游戏摇杆非常简单,只需要实现AnalogOnScreenControl模拟摇杆类,在设置一些属性即可。先看效果图:左边的摇杆是控制精灵上下左右移动,右边的摇杆空值精灵的旋转。代码结构跟andengine学习系列二一样,其中很多注释在系列二中有说明,在该章内便不多复述。onLoadEngine()方法:

    2022年9月16日
    4
  • WebView加载出错的处理方案「建议收藏」

    WebView加载出错的处理方案「建议收藏」1.加上下拉刷新。2.在WebView的setWebViewClient中加入重写方法//错误的处理方式需要分开两种,原因:在Android6以上的机器上,网页中的任意一个资源获取不到(比如字体),网页就很可能显示自定义的错误界面//旧版本,会在新版本中也可能被调用,所以加上一个判断,防止重复显示@Override…

    2022年7月14日
    14
  • Python 一行代码输出心形图案

    Python 一行代码输出心形图案Python3pythonprint('\n'.join([''.join([('Love'[(xy)%4]if((x0.05)2+(y0.

    2022年7月6日
    23
  • linux发送邮件命令_java实现邮件发送功能

    linux发送邮件命令_java实现邮件发送功能第一步,安装mail服务检测系统是否安装了mail服务[root@centos8~]#rpm-qf/usr/bin/mailerror:file/usr/bin/mail:Nosuchfileordirectory刚开始我的系统就没有mail服务,使用“yum-yinstallmailx”安装时有一只报错,提示“Error:Failedtodownloadmetadataforrepo‘appstream’:Cannotprepareinterna

    2022年10月20日
    3
  • 硬件知识汇总

    硬件知识汇总硬件知识1、电源类1.1 电源基础各种“地”——各种“GND”板载电源设计规范电源环路稳定性评价方法深入芯片内部,理解去耦电容的作用减小DC/DC变换器中的接地反弹——一些接地要点开关电源中的小启示电源相关的测试去耦电容的选择、容值计算和布局布线可充电电池将被超级电容取代电容去耦原理(解释十分透彻)地线要短——测试开关电源纹波时权衡电源与PCB设计极点是男人,零点是女人开关电源仿真(sab…

    2022年7月22日
    12

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号