在写代码时候,特别是在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. 常用js代码整理、收集

    个人整理了一下个人常用到的一些js代码,以方便学习以及日后使用,或许有一些是个人之前从网上摘下来的,但是不记得是具体从哪里来的了,如果你看到有一段代码跟你的文章很相似甚至一样,请不要气愤,请告诉我,我 ...

  2. 关于sublime3的配置笔记

    1.安装的插件有Anaconda, GitGutter, SublimeCodeIntel Anaconda会有长度超过80警报的问题, 影响写代码的时候的判断, 所以将Preferences/Pac ...

  3. 深入理解Azure自动扩展集VMSS(1)

    前文中已经详细介绍了如何配置和部署Azure的虚拟机扩展集VMSS进行自动扩展,但在实际使用过程当中,用户会出现更进一步使用的一些问题,VMSS基本扩展原理及怎么简单调试?如何进行手动扩展?怎么使用自 ...

  4. window下配置ssh key

    在windows下通过msysGit(Git for windows.Git Bash)配置SSH Keys连接GitHub. 1.检查本机是否有ssh key设置 $ cd ~/.ssh 或cd . ...

  5. FMDB官方使用文档-GCD的使用-提高性能(翻译)

    FMDB官方使用文档-GCD的使用-提高性能(翻译) 发布于:2013-08-19 10:01阅读数:13395 由于FMDB是建立在SQLite的之上的,所以你至少也该把这篇文章从头到尾读一遍.与此 ...

  6. apache服务器参数设置

    全局参数设置 ServerRoot:服务器根目录 apache安装目录[我的为:/usr/local/apache/] 用于指定apache服务器的配置文件及日志文件存放的根目录.服务器的基础目录,a ...

  7. mysql下怎样运行脚本

    假设要运行脚本: F:\hello world\niuzi.sql 第一种方法:        在命令行下(未连接数据库),输入 mysql -h localhost -u root  -p < ...

  8. 新版TeamTalk部署教程(蓝狐)

    http://www.bluefoxah.org/teamtalk/new_tt_deploy.html

  9. Digit Stack

    Digit Stack In computer science, a stack is a particular kind of data type or collection in which th ...

  10. heritrix 3.2.0 下载

    由于archive.org屏蔽,编译完成版本 http://builds.archive.org/maven2/org/archive/heritrix/heritrix/3.2.0/ 无法下载. 现 ...