要在emacs中设置标签我在.emacs中有这一行:
(global-set-key (kbd "TAB") 'tab-to-tab-stop)
我正在寻找一些方法让所有模式在emacs中显示标签为4个空格,并让emacs将标签保存为标签字符(而不是将它们保存为空格)。
如果我正在使用c-mode,那么.emacs行会使标签看起来像8个空格并将它们保存为制表符。但是在ada-mode中输入会自动缩进(我很好)并且它将在emacs中显示为4个空格并保存为四个空格。
有人知道在按Tab键时如何普遍设置标签以插入一个标签(并且没有空格),并将其作为四个空格显示在emacs上?
我也试过了:
(setq tab-width 4)
但我仍然遇到与ada-mode相同的问题。
答案 0 :(得分:5)
您无法为所有模式执行此操作,因为存在特定于模式的缩进变量,但您可以将其设置为您关注的所有语言。对于C,类似于.emacs中的以下内容应该适用于您所描述的内容:
(add-hook 'c-mode-common-hook` (lambda () (setq c-basic-offset 4) (setq tab-width 4) (setq standard-indent 4) (setq c-tab-always-indent t) ) )
这将设置4个字符的制表位,并使4为所有C风格模式的默认缩进级别。对于其他语言及其各自的模式,您必须查找其缩进变量并在该模式的公共钩子中相应地设置它们。一些示例包括'sh-indentation',tcl-indent-level和'perl-indent-level。找出需要设置的最简单方法是运行:
M-x describe-key [TAB]
那会把你送到兔子洞。
干杯!
肖恩