emacs中的标签行为

时间:2013-10-29 06:16:10

标签: emacs

在emacs中的文件中打开.txt文件并按Tab键并不总是给出相同的结果。有时4,有时按Tab键显示2。

同样的事情也发生在.c / .cpp文件中。

这是emacs 24.2中的一项功能吗?

如何获得一致性标签宽度?

2 个答案:

答案 0 :(得分:1)

当你按下TAB键时,根据光标的模式和位置​​,emacs将尝试缩进该行(在你调用.txt的文件中,只有在行的开头,在行的中间)它将插入一个或多个空格,直到下一个制表位,具体取决于您的偏好。)

缩进是相对于您所在行之前的行。因此,您将看到按TAB键并不总是插入相同数量的空格(或制表符)。这是一个功能。如果需要,您可以绑定Tab键以执行不同的操作(插入制表符或固定数量的空格),但是您将丢失非常有用的功能。

您应该使用变量indent-tabs-modetab-widthc-basic-offset来让emacs按照您的意愿行事。

例如:

(setq-default c-basic-offset 4
              tab-width 4
              indent-tabs-mode nil)

如果你想在.txt,.c和.cpp文件中使用4个空格(其他模式可能需要额外的变量,比如nxml,但我现在还没有你使用的其他模式)。

答案 1 :(得分:0)

Emacs -Q:“tab-width是`C源代码'中定义的变量。 它的值是8

设置时自动变为缓冲区本地。 “

哪种IMO是一种有用的行为,因为编程模式将使用不同的样式,以不同的方式设置它,因此重要的是能够改变它。

例如,在Python中,标签宽度为4是常见的。