Emacs用制表符替换空格

时间:2014-09-03 15:54:04

标签: emacs tabs

问题是,当我输入标签和空格时,如果我将标签输入为空格,我希望Emacs保存标签。但是当空格数达到tab-stop-list中定义的amonut时,即当我输入

时,编辑器会使用制表符替换我的手动输入空格。
   →func1() {
   →   →some_long_command_name -param1 -param2 \
   →   →→→→→→→→→→→→→→→→→→→→→→→→-param3 -param4

(标签为   →,空格为)Emacs使其

   →func1() {
   →   →some_long_command_name -param1 -param2 \
   →   →   →   →   →   →   →→→→-param3 -param4

如果标签的长度发生变化,会打破我想要保留的缩进。

2 个答案:

答案 0 :(得分:1)

自定义选项indent-tabs-mode以提供值nil。这会阻止Emacs将缩进空格转换为使用TAB字符。您输入的SPC个字符和TAB个字符仍然是这样。

然后,您需要将密钥TAB绑定到self-insert-command,或者使用C-q TAB插入TAB字符。这意味着您将丢失TAB密钥作为缩进命令。或者,您可以将一些其他键绑定到插入TAB char的命令,或者将TAB之外的其他键绑定到TAB默认绑定的缩进命令。 / p>

答案 1 :(得分:1)

我认为你好像是在https://www.emacswiki.org/emacs/SmartTabs之后?