在写代码时候,特别是在vim中编辑代码时候,你可能会不太注意代码风格问题,比如‘{’符号放在行末还是下一行行首等等,

  这样你把自己代码与别人的代码merge时候,就会出现代码风格不一的问题,这里就推荐一个命令用以调整代码风格。

      linux下使用命令indent, 用于调整源代码的排版风格,indent后面跟上参数就可以设定你喜欢的代码风格:

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

        或者不指定目标文件,那么就直接更换源文件: indent [参数选项][源文件];

      关于参数:

       -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缩排的格数。
       ......(其后省略上百条)

         你会发现,这么多的参数,怎么记住呢?我的方法是,根本不用记,学习linux内核的代码风格就可以了,

       所以可以在linux下,打开配置文件:/usr/src/kernels/XXX(内核版本)/scripts/Lindent

        找到PARAM变量,然后把它的值作为你的indent参数就可以使得你的代码排版风格与内核代码一样了

        PARAM="-npro -kr -i8 -ts8 -sob -l80 -ss -ncs -cp1"(笔者主机打开的内容)

      如果你每次使用indent然后还有加上这么长一串参数,你会觉得很麻烦,我推荐你可以在.bashrc里面,alias一个别名

      命令:(以我的习惯为例)

          alias myindent='indent -npro -kr -i8 -ts8 -sob -l80 -ss -ncs -cp1'

      这样以后,你直接使用myindent filename就可以帮助你排版源代码啦~~~

使用indent命令帮助排版源代码的更多相关文章

  1. [转]ubuntu(12.04)下, 命令 ,内核 源代码的获取

    [转]ubuntu(12.04)下, 命令 ,内核 源代码的获取 http://blog.chinaunix.net/uid-18905703-id-3446099.html 1.命令:例如:要查看l ...

  2. Linux indent命令

    一.简介 indent可辨识C的原始代码文件,并加以格式化,以方便程序设计师阅读. 二.选项 http://www.cnblogs.com/xuxm2007/archive/2011/11/03/22 ...

  3. 【转】Android源代码编译命令m/mm/mmm/make分析--不错

    原文网址:http://blog.csdn.net/luoshengyang/article/details/19023609 在前文中,我们分析了Android编译环境的初始化过程.Android编 ...

  4. 如何查看linux命令源代码

    如何查看linux命令源代码 用linux一段时间了,有时候想看看ls.cat.more等命令的源代码,在下载的内核源码中用cscope没能找到,在网上搜索了一下,将方 法总结如下: 以搜索ls命令源 ...

  5. 【C语言入门教程】2.8 C 语言的预处理命令

    预处理命令是在程序编译阶段进行执行的命令,用于编译与特定环境相关的可执行文件.预处理命令扩展了 C 语言,本节将选择其中一些常用的预处理命令进行讲解. 2.8.1 宏替换命令 宏替换命令的作用类似于对 ...

  6. Linux rpm 命令参数使用详解[介绍和应用]

    RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm 执行安装包 二进制包(Binary)以及源代码包(Source)两 ...

  7. 编程工具系列之二------使用GDB的源代码查看功能

    在调试程序的过程中,可以自由地查看相关的源代码(如果有源代码的话)是一项最基本的特性.      一些IDE在这方面做得相当好,GDB当然也提供了这项特性,虽然不如IDE直观,但在一定程度上要比IDE ...

  8. Linux下面使用rpm命令

    RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种 ...

  9. Linux RPM 命令参数使用详解

    rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种.二进制包可以直接安装在计算机中,而源代码包将会由 RPM自动编译.安装.源代码包经常以src.rpm作为后缀名. 常用命令组 ...

随机推荐

  1. windows下配置svn的https访问

    svn是一个功能强大的代码版本管理系统,可以将服务端安装在linux.unix以及windows下.svn通常采用http方式进行代码提交与下载.由于密码采用明文传输,因此存在泄密的风险.若采用htt ...

  2. Apache配置多个监听端口和不同的网站目录的简单方法(转)

    转自http://www.waaqi.com/archives/707.html 由于开发的多项目,每个项目又要独立,要用根目录地址. 所以这时候我们需要配置多个不同目录的Apache,如果是外部网可 ...

  3. linux修改密码

    情景:Linux 服务器上用户的密码被服务器管理员发现太过简单,需要重置密码.处理时为了方便记忆,就直接使用普通用户登录,修改密码时,在原密码的基础上增加一串特定的数字,结果提示不通过.例如出现错误提 ...

  4. 优化PHP代码的40条建议(转载)

    [size=5][color=Red](译文)优化PHP代码的40条建议[/color][/size] 40 Tips for optimizing your php Code 原文地址:http:/ ...

  5. python学习第一天 -安装配置及其输入输出

    Python, 是一种面向对象.解释型计算机程序设计语言. python适合领域: 1.Web网络和各种网络服务 2.系统工具和脚本 3.作为“胶水”语言把其他语言开发的模块包装起来方便使用 pyth ...

  6. OC与Swift混编

    群里大神发的网址,感觉有用就先收录了,暂时没时间看SWIFT,感觉代码简洁,但是可阅读性不是太高,有些代码让系统去判断类型,同样的,我们看代码的时候也得自己去判断类型,或许看多就习惯了,有时间再说吧, ...

  7. ECharts 使用实例

    HTML与JavaScript代码: <%@ page language="java" contentType="text/html; charset=UTF-8& ...

  8. 方案:手动升级WordPress系统

    对于WordPress系统及时进行更新维护是十分必须的操作,更新维护不仅可以更新系统服务功能,还能够完善安全系统.      如果你是虚拟主机的用户,可以使用FTP账户进行自动更新服务,但是如果你是V ...

  9. MongoDB安装,打开及增,删,改,查

    MongoDB是目前最流行的NoSQl之一,NoSQL及No Only Sql,之所以这样叫我的理解是它摒弃了传统关系型数据库的字段类型的概念,而是将所有的数据以key-value方式存储,以key索 ...

  10. hdu 1159 Common Subsequence(LCS最长公共子序列)

    Common Subsequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...