使用indent命令帮助排版源代码
在写代码时候,特别是在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命令帮助排版源代码的更多相关文章
- [转]ubuntu(12.04)下, 命令 ,内核 源代码的获取
[转]ubuntu(12.04)下, 命令 ,内核 源代码的获取 http://blog.chinaunix.net/uid-18905703-id-3446099.html 1.命令:例如:要查看l ...
- Linux indent命令
一.简介 indent可辨识C的原始代码文件,并加以格式化,以方便程序设计师阅读. 二.选项 http://www.cnblogs.com/xuxm2007/archive/2011/11/03/22 ...
- 【转】Android源代码编译命令m/mm/mmm/make分析--不错
原文网址:http://blog.csdn.net/luoshengyang/article/details/19023609 在前文中,我们分析了Android编译环境的初始化过程.Android编 ...
- 如何查看linux命令源代码
如何查看linux命令源代码 用linux一段时间了,有时候想看看ls.cat.more等命令的源代码,在下载的内核源码中用cscope没能找到,在网上搜索了一下,将方 法总结如下: 以搜索ls命令源 ...
- 【C语言入门教程】2.8 C 语言的预处理命令
预处理命令是在程序编译阶段进行执行的命令,用于编译与特定环境相关的可执行文件.预处理命令扩展了 C 语言,本节将选择其中一些常用的预处理命令进行讲解. 2.8.1 宏替换命令 宏替换命令的作用类似于对 ...
- Linux rpm 命令参数使用详解[介绍和应用]
RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm 执行安装包 二进制包(Binary)以及源代码包(Source)两 ...
- 编程工具系列之二------使用GDB的源代码查看功能
在调试程序的过程中,可以自由地查看相关的源代码(如果有源代码的话)是一项最基本的特性. 一些IDE在这方面做得相当好,GDB当然也提供了这项特性,虽然不如IDE直观,但在一定程度上要比IDE ...
- Linux下面使用rpm命令
RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种 ...
- Linux RPM 命令参数使用详解
rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种.二进制包可以直接安装在计算机中,而源代码包将会由 RPM自动编译.安装.源代码包经常以src.rpm作为后缀名. 常用命令组 ...
随机推荐
- Python一路走来 面向对象1
面向对象: 类,对象 函数放在类里,叫方法 封装 #如何调用 1. 创建对象, 类名() obj= Foo() 2. 通过对象去执行方法 obj.mail("leon@me.com" ...
- 小试牛刀——爬topit.me的图片,附github简易上传教程
接触了scrapy ,发现爬虫效率高了许多,借鉴大神们的文章,做了一个爬虫练练手: 我的环境是:Ubuntu14.04 + python 2.7 + scrapy 0.24 目标 topit.me 一 ...
- #ifdef __OBJC__ 宏定义的作用
有空试试 表示宏内引用的文件确保只被使用Objective-C语言的文件所引用,保证引用关系的清晰.
- [POJ] 1064 Cable master (二分查找)
题目地址:http://poj.org/problem?id=1064 有N条绳子,它们的长度分别为Ai,如果从它们中切割出K条长度相同的绳子,这K条绳子每条最长能有多长. 二分绳子长度,然后验证即可 ...
- commons.fileupload简单应用
导入包: commons-fileupload-1.3.1.jar commons-io-2.4.jar commons-fileupload依赖于commons-io,commons-io-2.4必 ...
- 使用AlarmManager进行定时任务处理
1:UploadingService.java package com.example.service; import com.example.broadcast.AlarmReceiver; imp ...
- POJ 2653 Pick-up sticks(线段相交)
题意:给定n个木棍依次放下,要求最终判断没被覆盖的木棍是哪些. 思路:快速排斥以及跨立实验可以判断线段相交. #include<algorithm> #include<cstdio& ...
- Ceph:一个开源的 Linux PB 级分布式文件系统
探索 Ceph 文件系统和生态系统 M. Tim Jones , 自由作家 简介: Linux®持续不断进军可扩展计算空间,特别是可扩展存储空间.Ceph 最近才加入到 Linux 中令人印象深刻的 ...
- 《Programming WPF》翻译 第8章 4.关键帧动画
原文:<Programming WPF>翻译 第8章 4.关键帧动画 到目前为止,我们只看到简单的点到点的动画.我们使用了To和From属性或者By属性来设计动画--相对于当前的属性值.这 ...
- QWidget: Must construct a QApplication before a QPaintDevice的问题
卧槽,无意中编译自己基于Qt创建的Debug工程的时候运行时发生了标题中的错误,原来是把Qt Release的库也放到additional dependencies里面了,同时链接了Debug和Rel ...