【Linux命令200例】indent对C语言代码进行缩进和格式化

news2024/9/22 15:44:06

在这里插入图片描述

🏆作者简介,黑夜开发者,全栈领域新星创作者✌,2023年6月csdn上海赛道top4。
🏆本文已收录于专栏:Linux命令大全。
🏆本专栏我们会通过具体的系统的命令讲解加上鲜活的实操案例对各个命令进行深入讲解。欢迎提前锁定关注。

文章目录

  • 一、介绍
  • 二、参数说明
  • 三、使用示例
    • 3.1 基本格式化
    • 3.2 使用参数
    • 3.3 输出到标准输出
    • 3.4 在原文件上进行操作
    • 3.5 将所有文件格式化并覆盖原文件
  • 四、结语


一、介绍

Linux的indent命令是一个用于对C语言代码进行缩进和格式化的工具。它可以帮助程序员改善代码的可读性,并能够自动调整代码的缩进、对齐和换行等格式。

二、参数说明

indent命令支持多种参数来控制代码的格式化方式。下面是一些常用的参数:

  • -npro:不对程序块进行缩进处理;
  • -nbad:不对非对齐的括号进行缩进处理;
  • -bap:强制分行显示函数起始花括号;
  • -br:将while、for和do…while语句中的起始花括号放在第一行末尾;
  • -ce:在每个声明的结尾添加一个空格;
  • -ci8:设置缩进时的tab宽度为8个字符;
  • -i4:设置缩进时的比例为4;
  • -ts4:设置tab键为4个空格;
  • -npcs:不修改代码中已有的空格;
  • -lp:在括号位置添加空格;
  • -l80:设置行宽为80个字符;
  • -nut:使用空格代替制表符;
  • -il0:取消继承父进程的indent参数。

三、使用示例

下面是一些使用indent命令的具体示例:

3.1 基本格式化

$ indent test.c

上述命令会将当前目录下的test.c文件进行格式化,并在原始文件的基础上创建一个新的文件。

3.2 使用参数

$ indent -ts4 -i4 -l80 test.c

该命令将会对test.c文件进行格式化,并将tab宽度设为4个空格,缩进比例为4,行宽为80个字符。

3.3 输出到标准输出

$ indent -st test.c

上述命令将会对test.c文件进行格式化,并将结果输出到标准输出。

3.4 在原文件上进行操作

$ indent -o test.c test.c

该命令将会对test.c文件进行格式化,并将结果写入原文件。

3.5 将所有文件格式化并覆盖原文件

$ find . -name "*.c" -exec indent -o {} {} \;

上述命令会对当前目录及其子目录下所有的以.c为后缀的文件进行格式化,并覆盖原文件。

四、结语

通过indent命令,我们可以轻松地对C语言代码进行格式化,提高代码的可读性和可维护性。在实际开发中,合理使用indent命令可以使代码更加规范、易读、易于维护。然而,在使用indent命令时也需要注意,尽量选择合适的参数来实现期望的格式化效果,并谨慎操作,以免不必要的错误。希望本篇文章对你理解和使用indent命令有所帮助。

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

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

相关文章

力扣算法数学类—剑指 Offer 44. 数字序列中某一位的数字

目录 剑指 Offer 44. 数字序列中某一位的数字 题解: 代码: 数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4&am…

24考研数据结构-栈和队列的应用

目录 3.3.1栈在括号匹配中的应用流程图算法代码 3.3.2栈在表达式求值中的应用1. 中缀表达式 (需要界限符)2. 后缀表达式 (逆波兰表达式)中缀表达式转后缀表达式-手算重点:中缀表达式转后缀表达式-机算重点:后缀表达式的计算—机算 3.前缀表达式 (波兰表达…

Linux中Anaconda安装失败(Failed to execute script entry_point)的解决方法

Linux中Anaconda安装失败(Failed to execute script entry_point)的解决方法 报错信息: Failed to execute script entry_point 解决办法: 清理硬盘空间,确定区间内空间足够 Linux文件按大小排序 du -hs * | sort …

已解决:多线程环境中,新线程在使用cout函数打印输出到显示器出现数据混乱的情况

错误展示错误原因解决办法1. 在本问题情况下:使用printf函数替代cout:2. 使用互斥锁使 cout函数线程保持原子状态 什么是原子操作? 错误展示 最近学习多线程的时候,创建了一堆线程,然后每个线程都运行这个方法&#x…

了解Unity编辑器之组件篇Miscellaneous(九)

一、Aim Constraint:是一种动画约束,用于使一个对象朝向另一个对象或一个指定的矢量方向 Activate按钮:用于激活或停用Aim Constraint。当Aim Constraint处于激活状态时,其约束效果将应用于目标对象。 Zero按钮:用于将…

一款8000MHz的国产DDR5电竞内存条,光威神策系列DDR5只需900即可入手,

光威近期发布了一款能到8000MHz的DDR5内存新品,相比市场上现有的DDR5内存条,光威神策系列DDR5在性能和产品设计方面都有了较大的突破,是国产内存的典范型产品。这款内存DDR5以唐代“神策军”命名,国风色彩很明显,也是光…

一套不错的基于uniapp实现的投票类小程序/H5

最近作者心血来潮,想做一个热点话题投票,话题相关的资讯跟踪类的小程序,方便自己发布一些大家比较关心的话题。 基于以上需求,说干就干,首先需要定义一个需求: 1、支持热门话题投票、排行榜(日…

注解和反射03--Class对象

注解和反射 Class类Class类的常用方法获取Class类的实例哪些类型可以有Class对象 Class类 在Object类重定义了以下的方法,此方法将被所有子类继承 public final Class getClass()以上的方法返回值的类型是一个Class类,此类是Java反射的源头&#xff0c…

【好文推荐】敏捷绩效考核如何做?

前言 一个Scrum团队有三个角色:产品负责人、开发团队和ScrumMaster。在Scrum里没有项目经理这个角色,传统项目经理的主要职责被分配到产品负责人和开发团队这两个角色中。产品负责人负责管理产品待办列表,开发团队自己组织和管理他们的工作。…

FreeRTOS(启动流程、编码风格、调试方法)

1、启动流程 1.1 方法一 在main函数中将硬件初始化、RTOS系统初始化,同时创建所有任务,再启动RTOS调度器。 1.2 方法二 在main函数中将硬件初始化、RTOS系统初始化,只创建一个启动任务,再启动RTOS调度器。 之后,在…

和我女神王冰冰一起学display: flex布局

前言 早期CSS布局依赖display属性position属性float属性。它对特殊的布局非常不方便,如,垂直居中。 于是,W3C在2009年提出了一种新的方案——Flex方案,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了…

Drupal YAML 反序列化代码执行漏洞(CVE-2017-6920)

事件背景 框架漏洞收集 老外的CMS框架,比较复杂,数据流向太长,调试需要消耗较多的时间。 漏洞说明 1. 漏洞原理:2017年6月21日,Drupal官方发布了一个编号为CVE-2017- 6920 的漏洞,影响为Critical。这是…

信驰达推出RTL8720DN系列2.4G和5G双频Wi-Fi+蓝牙二合一模块

近日,领先的无线物联网通信模块厂商深圳信驰达科技RF-star推出了基于RTL8720DN SoC的2.4 GHz和5 GHz双频Wi-Fi蓝牙二合一模块—RF-WM-20DNB1。 图 1信驰达RF-WM-20DNB1 Wi-Fi模块 RF-WM-20DNB1是一款低功耗单芯片无线蓝牙和Wi-Fi组合模块,支持双频(2.4 G…

关于骑行,这十个另类的励志文案,让人过目不忘。

在自行车骑行的世界里,有许多令人振奋和感动的励志句子。以下是一些令人过目不忘的另类励志文案,一定会给您的骑行生涯带来新的动力和激情: 1.骑行并非单纯的身体运动,而是需要灵魂的参与。2.自行车不会说话,但它会唱歌…

家庭用的无线洗地机到底好不好用?2023洗地机品牌排行榜前十名

无线洗地机在清洁使用的时候非常便捷,多功能于一体能够轻轻松松就拖扫完全家,不需要多余的先扫再拖,浪费时间还非常的劳累。那么有什么靠谱并且质量也有保障的无线洗地机推荐吗?为了给想要选购洗地机的小伙伴提供一些参考&#xf…

SpringMVC-mybatis中可以返回查询的个数,但是都为null。。。

通过postman测试请求时,显示查询成功,返回一个json数组,里面也有数据,但是数据都是null。 说明:确实是sql执行成功了,只不过是没有将sql中的字段的值给注入到对象的属性中去。。。 Select("SELECT * …

ArduPilot之433电传模块集成之H7Dual飞控Rx/Tx丝印问题

ArduPilot之433电传模块集成之H7Dual飞控Rx/Tx丝印问题 1. 源由2. 安装3. 排查3.1 电气连接3.2 软件配置3.3 模块测试3.4 通信测试3.5 定位问题 4. 总结5. 参考资料 1. 源由 鉴于最近iNav最新固件6.1.1出现远航炸机,还是回到相对可靠的Ardupilot,在Mavl…

Android 之 动画合集之属性动画 -- 又见

本节引言: 上节我们对Android的属性动画进行了初步的学习,相信大家对于属性动画已经不再是 一知半解的状态了,本节我们继续来探究Android属性动画的一些更高级的用法! 1.Evaluator自定义 1)Evaluator介绍 上一节中的…

黑马程序员-从0到1学习Linux-第三章-Linux用户和权限

目录 认知root用户 用户、用户组管理 查看权限控制 修改权限控制 - chmod 修改权限控制 - chown 认知root用户 1、root用户(超级管理员) 无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理。 在Linux系统中,拥有最大…

数据库—数据库备份(三十四)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、概述 二、数据备份的重要性 三、造成数据丢失的原因 四、备份类型 4.1物理与逻辑角度 4.2数据库备份策略角度 五、常见的备份方法 5.1 物理备份 5.2 使用专用备…