这是一款 Linux 上的工具。下载 indent 省略。

例如要把 xxx.c 格式化,我习惯用
indent -npro -kr -i4 -ts4 -sob -l80 -ss -ncs -cp1 -br -nce -nut xxx.c -o xxx1.c

查看
/usr/src/linux-headers-<版本>/scripts/Lindent
文件 ,可以看到一行代码:

indent -npro -kr -i8 -ts8 -sob -l80 -ss -ncs -cp1

这一行就是 linux 内核使用 indent 工具整理代码的格式。

我习惯再加上 -br -nce -nut

这些参数都是什么意思呢?

选项 说明
-npro 不要读取 indent 的配置文件:.indent.pro
-kr 指定使用 Kernighan&Ritchie 的格式。可以换为 -orig,BSD风格
-i8 设置缩排的格数为 8,可以修改
-ts8 设置 tab 为 8 个空格,可以修改
-sob 删除多余的空白行
-l80 代码每行长度超过 80 换行(对于非注释行)
-ss 若 for 或者 while 区段只有一行时,在分号前加上空格
-ncs no-space-after-casts,不要在 cast 之后空一格
-cp1 #else、#endif 后面的注释开始于列 1(前面空一个格)
-nut 不使用 tab 缩进,即 tab 用空格替换
-br if、while 等后面的括号和 if、while 在同一行。Put braces on line with if, etc.

-nce 和 -ce 有啥不一样呢?

-ce, --cuddle-else, Cuddle(拥抱的意思) else and preceding ‘}’.

举个例子,如果用 -br -ce,得到的格式是

     if (x > 0) {x--;} else {fprintf (stderr, "...something wrong?\n");}

看到了吗? else 被 } 和 { 包围

如果用 -br -nce,得到的格式是

      if (x > 0) {x--;} else {fprintf (stderr, "...something wrong?\n");}

其实就是 else 另起一行。

The Kernighan & Ritchie style is used throughout their well-known book “The C Programming Language”. It is enabled with the ‘-kr’option. The Kernighan & Ritchie style corresponds to the following set of options:

-nbad -bap -bbo -nbc -br -brs -c33 -cd33 -ncdb -ce -ci4 -cli0
-cp33 -cs -d0 -di1 -nfc1 -nfca -hnl -i4 -ip0 -l75 -lp -npcs
-nprs -npsl -saf -sai -saw -nsc -nsob -nss

具体就不一一解释了。用 man 命令查看吧。

如果你觉得每次都输入那么一大串太麻烦了,那么可以把你的定制化参数保存到 ~/.indent.pro
里面写上
-kr -i4 -ts4 -sob -l80 -ss -ncs -cp1 -br -nce -nut
这样,直接使用

indent xxx.c -o xxx1.c

就可以了

使用indent格式化代码相关推荐

  1. linux indent格式化代码

    linux kernel有一个脚本Lindent,可以帮助你将自己的代码做一个好的代码风格格式化. 如:/usr/src/linux-headers-2.6.22-14/scripts/Lindent ...

  2. linux indent添加,linux indent格式化代码

    linux kernel有一个脚本Lindent,可以帮助你将自己的代码做一个好的代码风格格式化. 如:/usr/src/linux-headers-2.6.22-14/scripts/Lindent ...

  3. linux之使用indent格式化代码总结

    1.介绍indent indent是一个整理代码的工具,不管你的代码写得多乱,你用indent工具都会把你的代码风格和linux 内核代码一致,基本上每个linux 发布都可以找到或者自己安装 sud ...

  4. windows下使用indent工具格式化代码

    在linux下可以用indent格式化c语言代码,本工具是indent的windows移植版本,只需要将含有indent.exe的文件夹放在有环境变量的路径下就可以在命令行下使用. 下载链接: htt ...

  5. idae 格式化代码 设置eslint_vscode 中格式化代码[vue2支持,插件ESLint、Prettier、Vetur]...

    1. 安装vscode插件ESLint Prettier formatter for Visual Studio Code Vetur 2. 配置文件 .editorconfigroot = true ...

  6. 编辑器eslint格式_vscode保存代码,自动按照eslint规范格式化代码设置

    vscode保存代码,自动按照eslint规范格式化代码设置 编辑器代码风格一致,是前端代码规范的一部分.同一个项目,或者同一个小组,保持代码风格一致很必要.就拿vue项目来说,之前做的几个项目,很多 ...

  7. idea自动整理代码快捷键_MDK进阶使用教程,快捷启动任意软件,自动整理格式化代码,方便代码整理可以很好 的提高效率...

    MDK进阶使用教程,快捷启动任意软件,自动整理格式化代码,方便代码整理可以很好 的提高效率 以下内容才是关键 AStyle插件 这款AStyle插件挺好用的,这里也给大家推荐一下. 代码格式化插件,顾 ...

  8. vue 项目 webstrom IDE格式化代码规则遵循eslint设置

    首先vue-cli生成了一个项目,开启了eslint的检测, 但是根据webstorm的快捷格式化代码 ctrl+alt+L会造成eslint报错. 解决办法一: 编辑器打开文件 首先,在编辑器里面要 ...

  9. sublime如何格式化代码

    https://jingyan.baidu.com/article/dca1fa6f6b805df1a4405286.html sublime是一款非常轻便,插件丰富,功能强大的编辑器.也正因为其通用 ...

最新文章

  1. python 将图片旋转多个角度_【技术】把你的朋友变成表情包?Python:So easy
  2. 快搜浏览器_让微软丢大脸的edge浏览器终于出新版了!
  3. 直接写和放在函数中不同的R语言用法
  4. 数据状态更新时的差异 diff 及 patch 机制
  5. 计算机应用类专业综合知识模拟试题,2015年湖南省对口升学计算机应用类专业综合知识试题(真题)...
  6. matlab createtask,Matlab批量与createjob
  7. python中__future__包
  8. 用友 NC客户化开发手册
  9. 数据分析几大常见效应和定律。
  10. VBA学习笔记3-数据结构类型SortedList
  11. Silabs Homekit开发--静态Pin码的产生和使用
  12. jhin 不在 sudoers 文件中。此事将被报告。
  13. Vue(踩坑)vue.esm.js?efeb:628 [Vue warn]: Error in render: TypeError: Cannot read property '0' of unde
  14. 2023年中职网络安全竞赛解析——隐藏信息探索
  15. 分奖金(python)
  16. tv3描述文件代理服务器,超强悍技术贴!Apple TV3复活DNS的刷机全教程
  17. 仿iphone顶部状态栏_无需第三方APP,苹果iPhone手机屏幕录制的方法
  18. ps人物磨皮美容插件:Pro Retouch Panel(支持ps2021)
  19. 苹果平板做ppt方便吗_苹果手机和平板有什么软件可以做笔记
  20. 摄影师在新西兰海域拍到怀孕雄性海马(组图)

热门文章

  1. nyoj117求逆序数 并归排序法
  2. CodeForces 321A Ciel and Robot(数学模拟)
  3. 360笔试第一题----最强的不一定是最后的赢家
  4. 使用QSerialport读取串口数据并处理
  5. java - 朴素贝叶斯
  6. ⑧javaWeb之在例子中学习(过滤器Filter)
  7. TLS--线程局部存储
  8. Python学习笔记:异步IO(1)
  9. Python学习笔记:进程和线程(起)
  10. .+filename的作用