要在emacs中设置标签,我在.emacs中有这一行:
(global-set-key (kbd "TAB") 'tab-to-tab-stop)
我正在寻找一些方法让所有模式在emacs中显示标签为4个空格,并让emacs将标签保存为标签字符(而不是将它们保存为空格).
如果我使用c-mode,那么.emacs行会使标签看起来像8个空格并将它们保存为制表符.但是在ada-mode中,enter会自动缩进(我很好)并且它将在emacs中显示为4个空格并保存为四个空格.
有没有人知道如何普遍设置选项卡以在按下Tab键时插入一个选项卡(并且没有空格)并将其显示在emacs上作为四个空格?
我也尝试过:
(setq tab-width 4)
但我仍然遇到与ada-mode相同的问题.
您不能真正为所有模式执行此操作,因为存在特定于模式的缩进变量,但您可以为所关注的所有语言设置它.对于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]
这应该会让你失去兔子洞.
干杯!
肖恩