Emacs cperl 模式 - 如何使用制表符代替空格进行缩进

Emacs cperl 模式 - 如何使用制表符代替空格进行缩进

有没有办法让 emacs 中的 cperl 模式使用所有制表符而不是空格进行缩进?我尝试过设置indent-tabs-mode, 和cperl-tab-always-indent.这是我的.emacs文件:

(defalias 'perl-mode 'cperl-mode)
(setq cperl-tab-always-indent t)
(setq inhibit-splash-screen t)
(cua-mode t)
(setq cua-auto-tabify-rectangles nil)
(transient-mark-mode 1)
(setq cua-keep-region-after-copy t)

答案1

正确的答案是不使用制表符。但是好吧,只是为了知道它是如何完成的......

CPerl 使用默认的 Emacs 设置来使用选项卡,而 Emacs 默认是使用选项卡。所以你已经获得了标签。请注意,默认缩进量为 2 个空格,默认制表符宽度为 8 列,因此您至少需要 4 级缩进才能看到制表符。

如果您想将制表符宽度更改为 2 列,请设置该tab-width变量,但请注意,您的文件对于具有不同制表符宽度的其他人来说会看起来很奇怪。如果要将每级缩进量更改为 8 列,请设置cperl-indent-level

如果您与其他人交换文件,最好将这些设置放在文件变量(当然,不要使用制表符)。例如:

# Local Variables:
# tab-width: 8
# cperl-indent-level: 8
# End:

我认为等效的 vi modeline 是# vi: ts=8 sw=8:.

相关内容