我在 Emacs 中以 cc-mode
工作,我发现缩进非常非常烦人。
作为一名 VIM 用户,我已经习惯了较长的缩进,并且可以随心所欲地按 tab 键到 tab 键。
在 Emacs 中,我的 TAB 被映射到 goto-line
。首先,哪个函数用于缩进当前行(或者点后面的是什么)? indent-region
很烦人,因为您需要突出显示该区域。
其次,修复缩进的最佳方法是什么?
谢谢,
最佳答案
您可以通过 M-x describe-variable RET c-indentation-style
查看当前正在使用哪种制表符(但正如文档所述,不要直接设置此变量,而是使用 M-x c-set-style
).
变量c-basic-offset
是什么控制了 cc-mode
中的制表符它的默认值是 set-from-style
这意味着制表符将从您使用 M-x set-c-style
设置的 C 样式继承,这将让您选择来自一组 built-in styles (见下文)或者你可以 create your own style .您可以看到如何使用 M-x describe-variable RET c-style-alist
定义样式,然后您可以使用其中之一作为模板使用 M-x c-add-style
.
- gnu - 自由软件基金会认可的 GNU 程序中 C 代码的编码风格。
- k&r - C 代码的经典 Kernighan 和 Ritchie 风格。
- bsd - 在 Eric Allman 之后也被称为“Allman 风格”。
- whitesmith - 通过早期商业 C 编译器 Whitesmiths C 附带的示例而流行。
- stroustrup - C++ 代码的经典 Stroustrup 风格。
- ellemtel - 由“C++ 编程、规则和建议”定义的流行 C++ 编码标准,Erik Nyquist 和 Mats Henricson,Ellemtel^1。
- linux - Linux(内核)的 C 编码标准。
- python - Python 扩展模块的 C 编码标准^2。
- java - 用于编辑 Java 代码的样式。请注意,当您进入 java 模式时,c-default-style 的默认值会安装此样式。
- awk - 用于编辑 AWK 代码的样式。请注意,当您进入 awk 模式时,c-default-style 的默认值会安装此样式。
- user - 这是您创建的特殊样式。它包含所有样式变量的出厂默认值,这些变量由您使用自定义界面或通过在 .emacs 文件的顶层编写 setqs 和 c-set-offsets 进行的自定义修改(请参阅配置基础知识)。样式系统创建此样式作为其初始化的一部分,之后不会修改它。
更新:
其他人建议使用 tab 键插入 \t
制表符,但请不要强制插入制表符!正如 StackOverflow 的创建者之一所说 "only a moron would use tabs to format their code" .现在这有点苛刻,但值得注意的是,即使是两个最大的竞争对手,Google和 Microsoft , 同意这一点(即使他们默认推荐不同数量的空格)。
Use only spaces, and indent 2 spaces at a time.
Tab characters (\0x09) should not be used in code. All indentation should be done with 4 space characters.
另外,emacswiki 有一个关于 Tabs are Evil 的部分.
关于c - Emacs 缩进功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9830383/