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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 安卓用的文件系统类型是什么_安卓data区文件系统

    安卓用的文件系统类型是什么_安卓data区文件系统android系统启动过程中有两个很重要的文件,init.c和init.rc,这两个文件具体重要的在哪里,这里不再累赘,网上资料一大把。不过通过这两个文件,我们可以很清楚的看到比如dev等目录属于哪种文件类型,了解之后就可以去使用了。下面关于android文件系统类型进行介绍。   在init初始化过程中,Android分别挂载了tmpfs,devpts,proc,sysfs4类文

    2022年9月17日
    0
  • zencart模板修改的地方

    zencart模板修改的地方zencart模闆修改的地方,在修改前一定要備份數據庫和程序文件.1:新聞頁上的zencartnews,如何修改zencart,如圖:修改文件news.php,位置:includes\languages\english2,修改産品頁上面滾動圖片的高度和寬度:修改文件stylesheet_scrollpic.css,位置:includes\templates\模闆名\css在修改不讓自動…

    2022年7月27日
    3
  • Idea激活码永久有效Idea2019.3.3激活码教程-持续更新,一步到位

    Idea激活码永久有效Idea2019.3.3激活码教程-持续更新,一步到位Idea激活码永久有效2019.3.3激活码教程-Windows版永久激活-持续更新,Idea激活码2019.3.3成功激活

    2022年6月17日
    124
  • mysql 查看函数fsync_fsync()函数 Unix/Linux「建议收藏」

    mysql 查看函数fsync_fsync()函数 Unix/Linux「建议收藏」fsync,fdatasync-同步文件在内核态与存储设备内容简介#includeintfsync(intfd);intfdatasync(intfd);描述fsync()transfers(“flushes”)allmodifiedin-coredataof(i.e.,modifiedbuffercachepagesfor)thefilereferre…

    2022年5月18日
    45
  • hdu 2058_HAL248

    hdu 2058_HAL248ThesumproblemTimeLimit:5000/1000MS(Java/Others)  MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):24299  AcceptedSubmission(s):7247ProblemDescriptionGivenas

    2022年10月2日
    0
  • Java applet详解

    Java applet详解1.为啥使用applet?如果不是因为计算机二级或是某些该死的考试中需要出题,,我想我是不会理会这中东西的,毕竟这货淘汰了,为啥使用?为了考试。注:applet是和html或者是jsp一起使用的,不能单独运行(当然你可以使用appletviewer命令或者是ide去运行),具体的使用将在代码中体现。2.applet生命周期初始化init():在这个方法中可以设置一些初始值…

    2022年7月8日
    20

发表回复

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

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