Emacs

Emacs cperl 模式 - 如何使用製表符而不是空格進行縮進

  • December 15, 2010

有沒有辦法讓 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)

正確的答案是不使用標籤。但是,好吧,只是為了知道它是如何完成的……

CPerl 使用預設的 Emacs 設置來使用選項卡,而 Emacs 預設是使用選項卡。所以你已經得到了標籤。注意預設的縮進量是 2 個空格,預設的 tab 寬度是 8 列,所以至少需要 4 級縮進才能看到一個 tab。

如果要將選項卡寬度更改為 2 列,請設置tab-width變數,但請注意,您的文件對於具有不同選項卡寬度的其他人來說會看起來很奇怪。如果要將每級的縮進量更改為 8 列,請設置cperl-indent-level.

如果您與其他人交換文件,最好將這些設置放在文件變數中(當然不要使用選項卡)。例如:

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

我認為等效的 vi 模式行是# vi: ts=8 sw=8:.

引用自:https://unix.stackexchange.com/questions/4834