linux indent命令: 调整C原始代码文件的格式

linux indent命令: 调整C原始代码文件的格式

介绍:
indent命令可辨识C的原始代码文件,并加以格式化,以方便程序员阅读。

语法:

indent [参数][源文件]
indent [参数][源文件][-o 目标文件]

选项介绍:
    -bad: 在声明区段或加上空白行。
    -bap: 在程序或加上空白行。
    -bbb: 在注释区段后加上空白行。
    -bc: 在声明区段中,若出现逗号即换行。
    -bl: if(或是else,for等等)与后面执行区段的”{“不同行,且”}”自成一行。
    -bli<缩排格数>: 设置{ }缩排的格数。
    -br: if(或是else,for等等)与后面执行跛段的”{“不同行,且”}”自成一行。
    -bs: 在sizeof之后空一格。
    -c<栏数>: 将注释置于程序码右侧指定的栏位。
    -cd<栏数>: 将注释置于声明右侧指定的栏位。
    -cdb: 注释符号自成一行。
    -ce: 将else置于”}”(if执行区段的结尾)之后。
    -ci<缩排格数>: 叙述过长而换行时,指定换行后缩排的格数。
    -cli<缩排格数>: 使用case时,switch缩排的格数。
    -cp<栏数>: 将注释置于else与elseif叙述右侧定的栏位。
    -cs: 在cast之后空一格。
    -d<缩排格数>: 针对不是放在程序码右侧的注释,设置其缩排格数。
    -di<栏数>: 将声明区段的变量置于指定的栏位。
    -fc1: 针对放在每行最前端的注释,设置其格式。
    -fca: 设置所有注释的格式。
    -gnu: 指定使用GNU的格式,此为预设值。
    -i<格数>: 设置缩排的格数。
    -ip<格数>: 设置参数的缩排格数。
    -kr: 指定使用Kernighan&Ritchie的格式。
    -lp: 叙述过长而换行,且叙述中包含了括弧时,将括弧中的每行起始栏位内容垂直对其排列。
    -nbad: 在声明区段后不要加上空白行。
    -nbap: 在程序后不要加上空白行。
    -nbbb: 在注释区段后不要加上空白行。
    -nbc: 在声明区段中,即使出现逗号,仍旧不要换行。
    -ncdb: 注释符号不要自成一行。
    -nce: 不要将else置于”}”之后。
    -ncs: 不要在cast之后空一格。
    -nfc1: 不要格式化放在每行最前端的注释。
    -nfca: 不要格式化任何的注释。
    -nip: 参数不要缩排。
    -nlp: 叙述过长而换行,且叙述中包含了括弧时,不用将括弧中的每行起始栏位垂直对其排列。
    -npcs: 在调用的函数名称之后,不要加上空格。
    -npro: 不要读取indent的配置文件.indent.pro。
    -npsl: 程序类型与程序名称放在同一行。
    -nsc: 注解左侧不要加上星号(*)。
    -nsob: 不用处理多余的空白行。
    -nss: 若for或while区段仅有一行时,在分号前不加上空格。
    -nv: 不显示详细的信息。
    -orig: 使用Berkeley的格式。
    -pcs: 在调用的函数名称与”{“之间加上空格。
    -psl: 程序类型置于程序名称的前一行。
    -sc: 在每行注释左侧加上星号(*)。
    -sob: 删除多余的空白行。
    -ss: 若for或swile区段今有一行时,在分号前加上空格。
    -st: 将结果显示在标准输出设备。
    -T: 数据类型名称缩排。
    -ts: 设置tab的长度。
    -v: 执行时显示详细的信息。

执行范例:
 

01$ cat hello.c
02#include <STDIO.H>
03int main
04{
05    if (ture) {
06        printf ("hello world");
07    }
08    return 0;
09}
10$ indent -bl hello.c
11$ cat hello.c
12#include <STDIO.H>
13int main
14{
15  if (ture)
16    {
17      printf ("hello world");
18    }
19  return 0;
20}

扩展阅读:
用indent命令处理一些不符合一定的编码规范的代码会方便许多。

 

转载于:https://blog.51cto.com/holy2010/340871

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/406081.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux目录结构介绍-http://yangrong.blog.51cto.com/6945369/1288072

1、树状目录结构图 2、/目录 目录 描述 / 第一层次结构的根、整个文件系统层次结构的根目录。 /bin/ 需要在单用户模式可用的必要命令&#xff08;可执行文件&#xff09;&#xff1b;面向所有用户&#xff0c;例如&#xff1a;cat、ls、cp&#xff0c;和/usr/bin类似。 …

使用Vim+Ctags+Cscope阅读源代码

From: http://blog.csdn.net/jsufcz/article/details/3988883 &#xff0d;&#xff0d;孔建军(Kongove.CN) 2008.11.15 代码阅读工具简介 对于学习Linux内核的人来说&#xff0c;源代码的阅读尤为重要。 因为所有设计思想、内部机制都是以代码的形式实现&#xff0c;所有的…

mysql 和区块链的差别_论区块链是什么数据库——正名篇

区块链是数据库&#xff0c;这句话大家都挑不出毛病。这就好比说&#xff0c;人是一种生物&#xff0c;树是一种生物。这是绝对的真理&#xff0c;同时也是一句废话。mysql是一种数据库&#xff0c;mongodb是一种数据库&#xff0c;leveldb是一种数据库&#xff0c;但是我们在提…

Silverlight 4新控件PivotViewer介绍

早在Silverlight 4正式版发布之前&#xff0c;微软发布PivotViewer控件的演示版本&#xff0c;其处理以及展示大批量数据的功能吸引不少开发人员和终端客户&#xff0c;今天微软发布了PivotViewer控件正式版本&#xff0c;本文将介绍一下PivotViewer控件。首先了解一下PivotVie…

Android add external jar

A Best way to add External Jars to your Anroid Project or any Java project is: Create a folder called ‘libs’ into you project root folderCopy your Jar files to the libs folderNow right click on the Jar file and then select Build Path > Add to Build Pa…

python获取命令行输出结果

python获取命令行输出结果&#xff0c;并对结果进行过滤找到自己需要的&#xff01; 这里以获取本机MAC地址和IP地址为例&#xff01; # coding: GB2312 import os, re# execute command, and return the output def execCmd(cmd):r os.popen(cmd)text r.read()r.close()ret…

mysql 模拟100万数据_教你如何6秒钟往MySQL插入100万条数据的实现

一、思路往MySQL中插入1000000条数据只花了6秒钟&#xff01;关键点&#xff1a;1.使用PreparedStatement对象2.rewriteBatchedStatementstrue 开启批量插入&#xff0c;插入只执行一次&#xff0c;所有插入比较快。二、 代码package test0823.demo1;import java.sql.*;/*** au…

SQL基础-- 数据处理(DML、RETURNING、MERGE INTO)

-- --SQL基础--> 数据处理(DML、RETURNING、MERGE INTO) -- 一、常用的DML语句及事物处理 向表中插入数据(INSERT) 更新表中数据(UPDATE) 从表中删除数据(DELETE) 将表中数据和并(MERGE) 控制事务(TRANSACTION) 二、DML 可以在下列条件下执行: 向表中插入数据 修改现存数据 …

大型网站系统架构实践(四)http层负载均衡之haproxy实践篇(一)

方案 上篇文章讲到了负载均衡的相关理论知识&#xff0c;这篇文章我打算讲讲实践方法以及实践中遇到的问题 方案&#xff1a;haproxy http层负载均衡 安装一个haproxy服务&#xff0c;两个web服务 haproxy&#xff1a;192.168.1.227:80 web1 http://192.168.1.226:8081/login w…

[Python]使用 lambda 函数

From:http://woodpecker.org.cn/diveintopython/power_of_introspection/lambda_functions.html 4.7. 使用 lambda 函数 4.7.1. 真实世界中的 lambda 函数 Python 支持一种有趣的语法&#xff0c;它允许你快速定义单行的最小函数。这些叫做 lambda 的函数&#xff0c;是从 Li…

mysql修改子分区_创建MySQL子分区方法

创建MySQL子分区方法发布时间&#xff1a;2020-05-26 15:11:15来源&#xff1a;51CTO阅读&#xff1a;216作者&#xff1a;三月本文主要给大家介绍创建MySQL子分区方法&#xff0c;文章内容都是笔者用心摘选和编辑的&#xff0c;具有一定的针对性&#xff0c;对大家的参考意义还…

const char * array[]和char * const array[]

int main() {char abc[] "abc";char def[] "def";char * const array[] {"abc", "def"};char * const array2[] {abc, def};const char * array3[3] {"abc", "def"};//char * const array3[2]; //error,定义…

日志处理(二) 日志组件logback的介绍及配置使用方法(转)

本文转自&#xff1a;http://www.cnblogs.com/yuanermen/archive/2012/02/13/2348942.html http://www.cnblogs.com/yuanermen/archive/2012/02/13/2349609.html 一、logback的介绍 Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块&#xff1a;logba…

TNS-03505 oracle用户可以tnsping通,普通用户tnsping报错

From: http://zxf261.blog.51cto.com/701797/750308 今天碰到了一个有趣的问题 oracle用户可以tnsping通&#xff0c;普通用户tnsping报错 用普通用户tnsping数据库的时候报 TNS-03505: Failed to resolve name 而用oracle用户tnsping数据库的时候却可以ping通 <34 linux-si…

python package安装包_安装Python包(第三方库)

检查python版本如果“提示 python 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件。”&#xff0c;可能有2种原因1、进入的目录不对 (切换目录后再查看)C:\Users\zhangXXXX>pythonpython 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件。C:…

Windows2003+SQL2000的集群安装手册

1 集群服务器安装及配置 步骤节点1节点2存储注释安装配置系统上电上电断电检查所有共享总线上的存储设备是否都已经断电&#xff0c;给各节点上电。1.1 安装Windows Server 2003操作系统 在服务器1和服务器2分别独立安装Windows Server 2003操作系统。安装要开始安装过程&#…