转自:https://blog.csdn.net/jiangjingui2011/article/details/7197069

常用的设置:
indent -npro -kr -i8 -ts8 -sob -l80 -ss -bl -bli
参数说明:
-npro或--ignore-profile  不要读取indent的配置文件.indent.pro。
-kr  指定使用Kernighan&Ritchie的格式。
-i8  --indent-level 设置缩排的格数为8。
-ts8 设置tab的长度
-sob或--swallow-optional-blank-lines  删除多余的空白行。
-l80 代码超过80换行
-ss或--space-special-semicolon  若for区段只有一行时,在分号前加上空格。
-ncs或--no-space-after-casts  不要在cast之后空一格。
-bl {分行显示
-bli 括号缩进为0
功能说明:调整C原始代码文件的格式。
语  法:indent [参数][源文件] 或 indent [参数][源文件][-o 目标文件]
补充说明:indent可辨识C的原始代码文件,并加以格式化,以方便程序设计师阅读。
参  数:
 -bad或--blank-lines-after-declarations  在声明区段或加上空白行。
 -bap或--blank-lines-after-procedures  在程序或加上空白行。
 -bbb或--blank-lines-after-block-comments  在注释区段后加上空白行。
 -bc或--blank-lines-after-commas  在声明区段中,若出现逗号即换行。
 -bl或--braces-after-if-line  if(或是else,for等等)与后面执行区段的"{"不同行,且"}"自成一行。
 -bli<缩排格数>或--brace-indent<缩排格数>  设置{ }缩排的格数。
 -br或--braces-on-if-line  if(或是else,for等等)与后面执行跛段的"{"不同行,且"}"自成一行。
 -bs或--blank-before-sizeof  在sizeof之后空一格。
 -c<栏数>或--comment-indentation<栏数>  将注释置于程序码右侧指定的栏位。
 -cd<栏数>或--declaration-comment-column<栏数>  将注释置于声明右侧指定的栏位。
 -cdb或--comment-delimiters-on-blank-lines  注释符号自成一行。
 -ce或--cuddle-else  将else置于"}"(if执行区段的结尾)之后。
 -ci<缩排格数>或--continuation-indentation<缩排格数>  叙述过长而换行时,指定换行后缩排的格数。
 -cli<缩排格数>或--case-indentation-<缩排格数>  使用case时,switch缩排的格数。
 -cp<栏数>或-else-endif-column<栏数>  将注释置于else与elseif叙述右侧定的栏位。
 -cs或--space-after-cast  在cast之后空一格。
 -d<缩排格数>或-line-comments-indentation<缩排格数>  针对不是放在程序码右侧的注释,设置其缩排格数。
 -di<栏数>或--declaration-indentation<栏数>  将声明区段的变量置于指定的栏位。
 -fc1或--format-first-column-comments  针对放在每行最前端的注释,设置其格式。
 -fca或--format-all-comments  设置所有注释的格式。
 -gnu或--gnu-style.  指定使用GNU的格式,此为预设值。
 -i<格数>或--indent-level<格数>  设置缩排的格数。
 -ip<格数>或--parameter-indentation<格数>  设置参数的缩排格数。
 -kr或--k-and-r-style.  指定使用Kernighan&Ritchie的格式。
 -lp或--continue-at-parentheses  叙述过长而换行,且叙述中包含了括弧时,将括弧中的每行起始栏位内容垂直对其排列。
 -nbad或--no-blank-lines-after-declarations  在声明区段后不要加上空白行。
 -nbap或--no-blank-lines-after-procedures  在程序后不要加上空白行。
 -nbbb或--no-blank-lines-after-block-comments  在注释区段后不要加上空白行。
 -nbc或--no-blank-lines-after-commas  在声明区段中,即使出现逗号,仍旧不要换行。
 -ncdb或--no-comment-delimiters-on-blank-lines  注释符号不要自成一行。
 -nce或--dont-cuddle-else  不要将else置于"}"之后。
 -ncs或--no-space-after-casts  不要在cast之后空一格。
 -nfc1或--dont-format-first-column-comments  不要格式化放在每行最前端的注释。
 -nfca或--dont-format-comments  不要格式化任何的注释。
 -nip或--no-parameter-indentation  参数不要缩排。
 -nlp或--dont-line-up-parentheses  叙述过长而换行,且叙述中包含了括弧时,不用将括弧中的每行起始栏位垂直对其排列。
 -npcs或--no-space-after-function-call-names  在调用的函数名称之后,不要加上空格。
 -npro或--ignore-profile  不要读取indent的配置文件.indent.pro。
 -npsl或--dont-break-procedure-type  程序类型与程序名称放在同一行。
 -nsc或--dont-star-comments  注解左侧不要加上星号(*)。
 -nsob或--leave-optional-semicolon  不用处理多余的空白行。
 -nss或--dont-space-special-semicolon  若for或while区段仅有一行时,在分号前不加上空格。
 -nv或--no-verbosity  不显示详细的信息。
 -orig或--original  使用Berkeley的格式。
 -pcs或--space-after-procedure-calls  在调用的函数名称与"{"之间加上空格。
 -psl或--procnames-start-lines  程序类型置于程序名称的前一行。
 -sc或--start-left-side-of-comments  在每行注释左侧加上星号(*)。
 -sob或--swallow-optional-blank-lines  删除多余的空白行。
 -ss或--space-special-semicolon  若for或swile区段今有一行时,在分号前加上空格。
 -st或--standard-output  将结果显示在标准输出设备。
 -T  数据类型名称缩排。
 -ts<格数>或--tab-size<格数>  设置tab的长度。
 -v或--verbose  执行时显示详细的信息。
 -version  显示版本信息。 如果你不想在参数上花太多时间来研究,你也可以在你的linux下的源代码里面,也就是/usr/src/linux/scripts/Lindent,找到Lindent脚本,这个是linux内核源代码格式,你可以直接拿过来用。比如 #cp /usr/src/linux/scripts/Lindent /usr/bin $Lindent test.c # Lindent脚本 #!/bin/sh
PARAM="-npro -kr -i8 -ts8 -sob -l80 -ss -ncs -cp1"
RES=`indent --version`
V1=`echo $RES | cut -d' ' -f3 | cut -d'.' -f1`
V2=`echo $RES | cut -d' ' -f3 | cut -d'.' -f2`
V3=`echo $RES | cut -d' ' -f3 | cut -d'.' -f3`
if [ $V1 -gt ]; then
PARAM="$PARAM -il0"
elif [ $V1 -eq ]; then
if [ $V2 -gt ]; then
PARAM="$PARAM -il0";
elif [ $V2 -eq ]; then
if [ $V3 -ge ]; then
PARAM="$PARAM -il0"
fi
fi
fi
indent $PARAM "$@"

linux下使用indent整理代码(代码格式化)【转】的更多相关文章

  1. SSL握手通信详解及linux下c/c++ SSL Socket代码举例

    SSL握手通信详解及linux下c/c++ SSL Socket代码举例 摘自:http://www.169it.com/article/3215130236.html   分享到:8     发布时 ...

  2. SSL握手通信详解及linux下c/c++ SSL Socket代码举例(另附SSL双向认证客户端代码)

    SSL握手通信详解及linux下c/c++ SSL Socket代码举例(另附SSL双向认证客户端代码) 摘自: https://blog.csdn.net/sjin_1314/article/det ...

  3. Linux下读写UART串口的代码

    Linux下读写UART串口的代码,从IBM Developer network上拿来的东西,操作比較的复杂,就直接跳过了,好在代码能用,记录一下- 两个实用的函数- //////////////// ...

  4. Linux下9种优秀的代码比对工具推荐

    大家好,我是良许. 在我们编写代码的时候,我们经常需要知道两个文件之间,或者同一个文件不同版本之间有什么差异性.在 Windows 下有个很强大的工具叫作 BeyondCompare ,那在 Linu ...

  5. Linux下ffmpeg添加Facebook/transform代码块实现将全景视频的球模型转换成立方体模型

    Facebook事实上已开始在平台中支持360度全景视频的流播,但公司对此并不满足.其工程师更是基于锥体几何学设计出了一套全新的视频编码,号称最高能将全景视频的文件大小减少80%.(VR最新突破:全景 ...

  6. linux下使用gcc/g++编译代码时gets函数有错误

    今天在linux中使用个g++编译一个名为myfirst.cpp的代码的时候,出现如下错误 myfirst.cpp: In function ‘int main()’:myfirst.cpp:11:2 ...

  7. 获取Linux下的IP地址 java代码

    /** * 获取Linux下的IP地址 * * @return IP地址 * @throws SocketException */ public static String getLinuxLocal ...

  8. Linux下添加硬盘,分区,格式化详解

    2005-10-17 在我们添加硬盘前,首先要了解linux系统下对硬盘和分区的命名方法. 在Linux下对IDE的设备是以hd命名的,第一个ide设备是hda,第二个是hdb.依此类推 我们一般主板 ...

  9. linux 下向github上传代码

    上传代码: cd TPS/devices/M8 git init                      #//初始化 git add .                    #如果是.表示上传全 ...

随机推荐

  1. Mac突然连不上WiFi

    标签(空格分隔): 杂七杂八的问题 从昨晚开始,Mac突然连不上WiFi了,人又在图书馆,上不了网好焦急.于是搜了很多方法,也不知是哪个起作用了,反正现在可以了. 步骤一 打开"Finder ...

  2. 【原创】centos6创建sftp账号,并设置权限和目录

    网上找了个教程,折腾好长时间都不行,最后往死里整,终于弄好了,记录一下. 系统环境:Centos6.9 64bit 完美解决: Permission denied (publickey,gssapi- ...

  3. 关于AC自动机和DP的联系

    首先是描述个大概.不说一些特殊的DP 或者借用矩阵来状态转移 (这些本质都是一样的). 只讲AC自动机和DP的关系(个人理解). AC自动机 又可以叫做状态机. 我一开始的认为.AC 自动机提供了一些 ...

  4. Alpha 冲刺 —— 十分之十

    队名 火箭少男100 组长博客 林燊大哥 作业博客 Alpha 冲鸭鸭鸭鸭鸭鸭鸭鸭鸭鸭! 成员冲刺阶段情况 林燊(组长) 过去两天完成了哪些任务 协调各成员之间的工作 测试整体软件 展示GitHub当 ...

  5. Mininet 系列实验(一)

    关于SDN的第一个实验,似乎实验室里的前辈们也都是从这里开始的. 实验内容 使用源码安装Mininet 参考 Mininet使用源码安装 实验环境 虚拟机:Oracle VM VirtualBox U ...

  6. 笛卡尔树Cartesian Tree

    前言 最近做题目,已经不止一次用到笛卡尔树了.这种数据结构极为优秀,但是构造的细节很容易出错.因此写一篇文章做一个总结. 笛卡尔树 Cartesian Tree 引入问题 有N条的长条状的矩形,宽度都 ...

  7. Lnmp上安装Yaf学习(一)

    今天学习Lnmp上面如何安装Yaf流程 一.安装Lnmp 集成环境 访问路径:https://lnmp.org/install.html 这里我安装稳定版lnmp 1)   wget -c http: ...

  8. js replace如何实现replaceAll

    js下string对象的replace方法的定义如下: stringObject.replace(regexp/substr,replacement) 其中: 参数             |     ...

  9. git<撤销本地修改与回退版本>

    1. 使用 git checkout 撤销本地修改 即放弃对本地已修改但尚未提交的文件的修改,还原其到未修改前的状态. 注意: 已 add/ commit 的文件不适用个方法,应该用本文提到的第二种方 ...

  10. Turn Off The Light HDU - 6307

    题目大意 是有n个位置有灯,告诉你每个位置灯是开着的还是关着的,告诉你你的初始位置p,你可以往左或者右移动一步(在1到n的范围里移动), 并且在移动后必须按下开关(就是使当前打开的灯关上,当前未打开的 ...