首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何让Emacs正确地缩进C99复合文字?

Emacs是一款功能强大的文本编辑器,可以通过配置来实现正确地缩进C99复合文字。下面是一种可能的方法:

  1. 打开Emacs配置文件,通常是位于用户目录下的.emacs.emacs.d/init.el文件。
  2. 在配置文件中添加以下代码来启用C99模式的缩进功能:
代码语言:elisp
复制
(setq c-default-style "linux"
      c-basic-offset 4
      tab-width 4
      indent-tabs-mode nil)

上述代码中,c-default-style设置为"linux",表示使用Linux风格的缩进规则。c-basic-offsettab-width分别设置为4,表示每个缩进级别使用4个空格。indent-tabs-mode设置为nil,表示使用空格而不是制表符进行缩进。

  1. 保存配置文件并重新启动Emacs。

这样配置后,当你在Emacs中编辑C99复合文字时,它将按照上述规则进行正确的缩进。

关于Emacs的更多信息和使用技巧,你可以参考腾讯云的产品介绍链接地址:Emacs产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

你不得不会的MarkDown

如何快速掌握MarkDown 好久没有更新内容了,也好久没有给大家打个招呼了,小白想死你们了。 Markdown显然已经成为每个IT人的标配了。...如果通过手机去查看GitHub文档,首先,体验不好;其次,速度有点人着急。基于以上两点,我选择了云笔记产品。...简单 列表连数字都自动排好 无序列表 无序列表 嵌套列表 自动缩进 上述的MarkDown格式为: #### 这是四级标题 一般写文章或论文,三级标题就够用了。不是吗?...列表连数字都自动排好 * 无序列表 * 无序列表 * 嵌套列表 * 自动缩进 代码一览 如果要插入一段代码块,可以把代码放到一对"`"中即可。...在MarkDown中,要想强调文字,如果要想把强调的文字以斜体的形式呈现,只需要把要强调的文字放到一对*或一对_之间即可。

1.1K50

Linux内核源码规范解析

和标准 C99 类型相同的类型,在某些例外的情况下。 虽然眼睛和脑筋来适应新的标准类型比如 uint32_t 不需要花很多时间,可 是有些人仍然拒绝使用它们。...永远不要在注释里解释你的代码是如何运作的:更好的做法是别人一看你的代码就可以明白,解释写的很差的代码是浪费时间。 一般的,你想要你的注释告诉别人你的代码做了什么,而不是怎么做的。...——无数个猴子 在 GNU emacs 里打字永远不会创造出一个好程序) (译注:Infinite Monkey Theorem) 所以你要么放弃 GNU emacs,要么改变它它使用更合理的设定。...不过就算你尝试 emacs 正确的格式化代码失败了,也并不意味着你失去了一切:还可 以用 indent 。...在写一个包含多条指令的单个内联汇编语句时,把每条指令用引号分割而且各占一行, 除了最后一条指令外,在每个指令结尾加上 nt,汇编输出时可以正确地缩进下一条 指令: asm ("magic %reg1,

2.8K20
  • 老外的嵌入式编程规范(值得一看)

    使用C99标准 不使用制表符,而是使用空格 每个缩进级别使用4个空格 在关键字和左括号之间使用一个空格 在函数名和左括号之间不要使用空格 int32_t a = sum(4, 3);...每个逗号后用单空格 func_name(5, 4); /* OK */ func_name(4,3); /* Wrong */ 不要初始化静态和全局变量为0(或NULL),编译器为您做...---- 每个复合语句必须包括左花括号和右花括号,即使它只包含1个嵌套语句 每个复合语句必须包含单个缩进;嵌套语句时,每个嵌套包含1个缩进大小 /* OK */ if (c) { do_a()...break shall be inside */ case 2: { int32_t a; } break; } 09 宏和预处理指令 ---- 总是使用宏而不是文字常量...defined(XYZ) */ 文档 文档化的代码允许doxygen解析和通用的html/pdf/latex输出,因此正确地执行是非常重要的。

    1.8K20

    值得一看:老外的嵌入式编程规范

    使用C99标准 不使用制表符,而是使用空格 每个缩进级别使用4个空格 在关键字和左括号之间使用一个空格 在函数名和左括号之间不要使用空格 int32_t a = sum(4, 3);...每个逗号后用单空格 func_name(5, 4); /* OK */ func_name(4,3); /* Wrong */ 不要初始化静态和全局变量为0(或NULL),编译器为您做...---- 每个复合语句必须包括左花括号和右花括号,即使它只包含1个嵌套语句 每个复合语句必须包含单个缩进;嵌套语句时,每个嵌套包含1个缩进大小 /* OK */ if (c) { do_a()...break shall be inside */ case 2: { int32_t a; } break; } 09 宏和预处理指令 ---- 总是使用宏而不是文字常量...defined(XYZ) */ 文档 文档化的代码允许doxygen解析和通用的html/pdf/latex输出,因此正确地执行是非常重要的。

    1.2K40

    这才是理想中的 C 语言编程规范

    使用C99标准 不使用制表符,而是使用空格 每个缩进级别使用4个空格 在关键字和左括号之间使用一个空格 在函数名和左括号之间不要使用空格 int32_t a = sum(4, 3);...每个逗号后用单空格 func_name(5, 4); /* OK */ func_name(4,3); /* Wrong */ 不要初始化静态和全局变量为0(或NULL),编译器为您做...每个复合语句必须包括左花括号和右花括号,即使它只包含1个嵌套语句 每个复合语句必须包含单个缩进;嵌套语句时,每个嵌套包含1个缩进大小 /* OK */ if (c) { do_a(); } else...Wrong, break shall be inside */ case 2: { int32_t a; } break; } 09 宏和预处理指令 总是使用宏而不是文字常量...defined(XYZ) */ 文档 文档化的代码允许doxygen解析和通用的html/pdf/latex输出,因此正确地执行是非常重要的。

    2.5K20

    CC++ 之 C发展史及 各标准特性说明

    如果字符串文字具有L前缀,则删除该前缀。   删除前导和结尾双引号。   用双引号替换每个换码序列’。   ...如下:  for (int i=0; i<10; i++){  //loop body };  复合赋值    C99复合赋值中,可以指定对象类型的数组、结构或联合表达式。...在文件域内建立的复合赋值只在程序的整个生存期内有效。在模块内建立的复合赋值是局部对象,在退出模块后不再存在。 ...C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。...C++,首要考虑的是如何构造一个对象模型,这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。

    91800

    为什么要选择Vim编辑器

    设置缩进 :set smartindent // 设置缩进 :set smartindent shiftwidth=4 // C语言自动缩进缩进值为4个字符宽度 (2)....这种说法UltraEdit和Editplus情以何堪,还有那个号称程序员们最喜爱的编辑器Notepad++听完一定会痛哭流泪。...赶快找度娘,问问是否如此,在看到一篇文章“Emacs和Vim,神的编辑器和编辑器之神”之后,我觉得有一种不发布Emacs和Vim简直就是犯罪的冲动,于是急冲冲发布Emacs和Vim这二款编辑器神器,那些未睹这二款编辑器芳容的同学一睹神的风采...要详细介绍这二款编辑器真是难于找到合适的文字,“古老、经典、强大”等一切词语相对于Jiqing Wu这位作者博客所写都显得那么的苍白无力,现引用些有关描述这二款编辑器的原话,你一定会为Emacs和Vim...●可扩展性你倾注了灵魂 ●独特的操作方式你中了毒 ●黑客的编辑器,一剑在手,夫复何求 ●Emacs和Vim神器引发的圣战争斗不断[5

    1.3K30

    Emacs Lisp

    Lisp 是 Lisp 的一个分支 Emacs Lisp,一种直译式的脚本语言,为LISP的方言之一,GNU Emacs与XEmacs文字编辑器都使用这个编程语言来扩展它们的功能,它的直译器是以C语言来实作的...Lisp in 15 minutes (v0.2d) ;; ;; 英文原作者: Bastien / @bzg2 / http://bzg.fr ;; 中文翻译: iamxuxiao ;; ;; ;; 如何安装...;; ;; ;; 如何切换Emacs的工作模式 ;; Emacs有各种各样功能各异的模式,工作模式的含义其实就是Emacs对当前的文本编辑工作 ;; 更加的敏感,比如高亮和缩进,并且支持一些特殊的命令...在缓冲区中插入计算结果,我们还可以在表达式的末尾使用C-x C-e组合键 ;; C-x C-e的意思是: 先按下Ctrl-x 再按下Ctrl-e ;; 这个命令会Emacs在辅助缓冲区,也就是Emacs...;; 下面的命令的输入结果是: Hello, I am Bastien (hello) ;; 前面定义的hello函数不接受任何参数,过于简单, ;; 现在我们重新定义hello函数,它接受一个参数

    2.3K40

    亚马逊工程师论各种编程语言的优缺点

    如果说,C是最靠近计算机是如何工作的语言模型,Lisp 就是最能反映计算(注意,这里没有了“机”字,计算机和计算是很不同的!译者注)是如何工作的模型。你不需要懂很多 Lisp,真的。...这些条款跟计算机如何工作关系很小,但是跟人类如何工作关系甚大。   人们还在用很直白的C语言写东西。很多东西。你应该懂C!...Emacs 是天才。连非技术人员都爱 Emacs。我现在就是在 Emacs 里打这些文字。我绝不情愿在任何其他地方打字。...我根本不能想象他们以前能打字打得足够快,英文字母只有 26 个,他们却有上万个字。但是 Emacs 几年前支持多字节字符了,所以我猜他们现在打字速度他妈的快多了。...空格很简单,就是说 Python 是用缩进来表达代码块之间的嵌套。它强制你必须按一定格式把所有的东西缩进,他们这样做是为了所有人写的代码看上去一样。

    2.2K80

    Emacs Lisp

    Lisp 是 Lisp 的一个分支 Emacs Lisp,一种直译式的脚本语言,为LISP的方言之一,GNU Emacs与XEmacs文字编辑器都使用这个编程语言来扩展它们的功能,它的直译器是以C语言来实作的...Lisp in 15 minutes (v0.2d) ;; ;; 英文原作者: Bastien / @bzg2 / http://bzg.fr ;; 中文翻译: iamxuxiao ;; ;; ;; 如何安装...;; ;; ;; 如何切换Emacs的工作模式 ;; Emacs有各种各样功能各异的模式,工作模式的含义其实就是Emacs对当前的文本编辑工作 ;; 更加的敏感,比如高亮和缩进,并且支持一些特殊的命令...在缓冲区中插入计算结果,我们还可以在表达式的末尾使用C-x C-e组合键 ;; C-x C-e的意思是: 先按下Ctrl-x 再按下Ctrl-e ;; 这个命令会Emacs在辅助缓冲区,也就是Emacs...;; 下面的命令的输入结果是: Hello, I am Bastien (hello) ;; 前面定义的hello函数不接受任何参数,过于简单, ;; 现在我们重新定义hello函数,它接受一个参数

    2.2K30

    css基础第一弹

    CSS是一种描述HTML文档样式的语言,CSS描述应该如何显示HTML元素。 CSS的主要使用场景是美化页面,布局页面。 CSS语法规范 使用HTML时,需要遵从一定的规范,CSS也是如此。...简单来说,css选择器就是用于指向需要css作用的标签,css样式知道自己需要到那个标签上去。...选择器的分类 css选择器分为基础选择器和复合选择器两个大类,这里是基础选择器 基础选择器是由单个选择器组成的。...p { font-style: normal; } 属性值 描述 normal 默认值,显示标准的字体样式 italic 浏览器会显示倾斜的字体样式 字体复合属性 字体系列、大小、粗细、和文字样式...可以设定文字水平的对齐方式 text-indent 文本缩进 用于段落首行缩进2个字的距离text-indent:2em; text-decoration 文本修饰 添加下划线underline取消下划线

    1.9K20

    几种编程语言的优缺点

    如果说,C是最靠近计算机是如何工作的语言模型,Lisp 就是最能反映计算(注意,这里没有了“机”字,计算机和计算是很不同的!译者注)是如何工作的模型。你不需要懂很多 Lisp,真的。...这些条款跟计算机如何工作关系很小,但是跟人类如何工作关系甚大。 人们还在用很直白的C语言写东西。很多东西。你应该懂C! C++ C++是地球上最蠢的语言,即使是从蠢这个字的真正意义上出发。...Emacs 是天才。连非技术人员都爱 Emacs。我现在就是在 Emacs 里打这些文字。我绝不情愿在任何其他地方打字。...我根本不能想象他们以前能打字打得足够快,英文字母只有 26 个,他们却有上万个字。但是 Emacs 几年前支持多字节字符了,所以我猜他们现在打字速度他妈的快多了。...空格很简单,就是说 Python 是用缩进来表达代码块之间的嵌套。它强制你必须按一定格式把所有的东西缩进,他们这样做是为了所有人写的代码看上去一样。

    3.4K110

    offset size_c语言sizeof求结构体长度

    输出10 但在没有完全实现C99标准的编译器中就行不通了,上面的代码在VC6中就通不过编译。所以我们最好还是认为sizeof是在编译期执行的,这样不会带来错误,程序的可移植性强些。...为此,编译器默认会对结构体进行处理(实际上其它地方的数据变量也是如此),宽度为2的基本数据类型(short等)都位于能被2整除的地址上,宽度为4的基本数据类型(int等)都位于能被4整除的地址上,以此类推...由于结构体的成员可以是复合类型,比如另外一个结构体,所以在寻找最宽基本类型成员时,应当包括复合类型成员的子 成员,而不是把复合成员看成是一个整体。...但在确定复合类型成员的偏移位置时则是将复合类型作为整体看待。...试想一个“不占空间”的变量如何被取地址、两个不同的“空结构体”变量又如何得以区分呢于是,“空结构体”变量也得被存储,这样编译器也就只能为其分配一个字节的空间用于占位了。

    68010

    文本类样式 — 背景、文本、字体

    三、文本样式——文本 文本类样式的文本类主要是为了我们在设置文章文字或段落时可以实现水平居中、下划线、首行缩进、颜色、字符间距、换行等一系列操作。...2、text-indent 文本缩进的设置,通常用来实现页面文字段落中的首行缩进2字符操作,一般首行缩进只需要书写:text-indent: 2em;即可。...4、color 文本颜色的设置,用来实现页面文字的颜色效果。...5、背景属性的复合方式 background背景样式的值是复合属性值组合,也就是背景的值可以跟多个属性值,值与值之间使用一个空格间隔即可,不能不写空格。...所以页面开发制作的时候尽量使用复合属性设置。 五、文本类样式操作的案例 <!

    2.6K80

    Linux快速搭建CC++开发环境

    文字数:1500,阅读时长大约:10分钟 一、YUM源配置 本文假设你已经安装好了一个 Linux 操作系统,关于如何安装 Linux,可以参考《虚拟机安装 Linux 最完整攻略》 下载阿里的YUM...显示行号:set number 打开语法高亮:syntax on Tab 大小:set tabstop=4 缩进大小:set shiftwidth=4 保存成功后,试着用Vim写一段代码,发现已经可以显示行号...、语法高亮提示、并且tab缩进改为4个空格了。...使用gcc,编译,注意要使用 -g -Og 选项来帮助Valgrind调试 gcc -g -Og -std=c99 test.c -o test 然后使用Valgrind 命令来检测内存泄漏: valgrind...七、总结 本文演示了在CentOS环境下,如何利用YUM、Git、Vundle等工具搭建 Vim + gcc/g++ + Make + valgrind的开发环境,希望对于在Linux下用C/C++编程的朋友们有一定的帮助

    4K50

    史上最佳的几个Linux 命令行的文本编辑器清单,建议收藏。

    Vim 用户界面   Vim 可能会第一次使用它的人感到非常痛苦。我记得我第一次尝试使用 Vim 编辑一个文本文件时,我是非常困惑的。...你可以将 Vim 按照你的意愿进行改造:配置一个你看起来舒服的界面,通过使用脚本或者插件等来提高工作效率。Vim 支持格式高亮,宏记录和操作记录。   ...如何使用它完全取决于你。你可以仅仅使用它作为文本编辑器,或者你可以将它打造成一个完善的IDE(集成开发环境Integrated Development Environment)。   ...GNU EMACS   GNU Emacs 毫无疑问是非常强大的文本编辑器之一。...Emacs 独特的特性是它可以“变形”成和文本编辑器完全不同的的东西。有大量的模块可使它在不同的场景下成为不同的应用,例如:计算器、新闻阅读器、文字处理器等。

    1.3K20

    各种编程语言的优缺点

    如果说,C是最靠近计算机是如何工作的语言模型,Lisp 就是最能反映计算(注意,这里没有了“机”字,计算机和计算是很不同的!译者注)是如何工作的模型。你不需要懂很多 Lisp,真的。...这些条款跟计算机如何工作关系很小,但是跟人类如何工作关系甚大。 人们还在用很直白的C语言写东西。很多东西。你应该懂C! C++ C++是地球上最蠢的语言,即使是从蠢这个字的真正意义上出发。...Emacs 是天才。连非技术人员都爱 Emacs。我现在就是在 Emacs 里打这些文字。我绝不情愿在任何其他地方打字。...我根本不能想象他们以前能打字打得足够快,英文字母只有 26 个,他们却有上万个字。但是 Emacs 几年前支持多字节字符了,所以我猜他们现在打字速度他妈的快多了。...空格很简单,就是说 Python 是用缩进来表达代码块之间的嵌套。它强制你必须按一定格式把所有的东西缩进,他们这样做是为了所有人写的代码看上去一样。

    4.4K60

    TW洞见 | 浅谈快捷键

    而运用好快捷键可以日常工作生活的效率大幅提升,事半功倍,俗话说,天下武功唯快不破嘛。...随着计算机技术的发展,先后出现了电子打字机(又称文字处理机)和个人计算机(PC),打出来的字不再是印到纸上,而是显示在显示器中。...一些电脑的重度使用者(例如程序员和文字工作者),经过对比,发现快捷键对于鼠标来讲还是要快捷得多。...2 Vim & Emacs 正所谓理想很丰满,现实很骨感。随着软件的发展,一个软件能接受的命令动辄就是成百上千的,如何用区区只有100个左右的按键来映射就变成了一个需要解决的问题。...率先面对这个问题的就是文本编辑器,所以我们来看看Vim和Emacs如何来解决这个问题的。 Vim(江湖人送外号:编辑器之神),引入了模式。

    74490
    领券