在写代码时候,特别是在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. Python一路走来 面向对象1

    面向对象: 类,对象 函数放在类里,叫方法 封装 #如何调用 1. 创建对象, 类名() obj= Foo() 2. 通过对象去执行方法 obj.mail("leon@me.com" ...

  2. 小试牛刀——爬topit.me的图片,附github简易上传教程

    接触了scrapy ,发现爬虫效率高了许多,借鉴大神们的文章,做了一个爬虫练练手: 我的环境是:Ubuntu14.04 + python 2.7 + scrapy 0.24 目标 topit.me 一 ...

  3. #ifdef __OBJC__ 宏定义的作用

    有空试试 表示宏内引用的文件确保只被使用Objective-C语言的文件所引用,保证引用关系的清晰.

  4. [POJ] 1064 Cable master (二分查找)

    题目地址:http://poj.org/problem?id=1064 有N条绳子,它们的长度分别为Ai,如果从它们中切割出K条长度相同的绳子,这K条绳子每条最长能有多长. 二分绳子长度,然后验证即可 ...

  5. commons.fileupload简单应用

    导入包: commons-fileupload-1.3.1.jar commons-io-2.4.jar commons-fileupload依赖于commons-io,commons-io-2.4必 ...

  6. 使用AlarmManager进行定时任务处理

    1:UploadingService.java package com.example.service; import com.example.broadcast.AlarmReceiver; imp ...

  7. POJ 2653 Pick-up sticks(线段相交)

    题意:给定n个木棍依次放下,要求最终判断没被覆盖的木棍是哪些. 思路:快速排斥以及跨立实验可以判断线段相交. #include<algorithm> #include<cstdio& ...

  8. Ceph:一个开源的 Linux PB 级分布式文件系统

    探索 Ceph 文件系统和生态系统 M. Tim Jones , 自由作家 简介:  Linux®持续不断进军可扩展计算空间,特别是可扩展存储空间.Ceph 最近才加入到 Linux 中令人印象深刻的 ...

  9. 《Programming WPF》翻译 第8章 4.关键帧动画

    原文:<Programming WPF>翻译 第8章 4.关键帧动画 到目前为止,我们只看到简单的点到点的动画.我们使用了To和From属性或者By属性来设计动画--相对于当前的属性值.这 ...

  10. QWidget: Must construct a QApplication before a QPaintDevice的问题

    卧槽,无意中编译自己基于Qt创建的Debug工程的时候运行时发生了标题中的错误,原来是把Qt Release的库也放到additional dependencies里面了,同时链接了Debug和Rel ...