我在Ubuntu 10.10上有GNU Emacs 23.1.1。
我必须关注.emacs:
(custom-set-variables
'(cua-mode t nil (cua-base))
'(inhibit-startup-screen t)
)
(show-paren-mode 1)
(setq show-paren-delay 0)
;; perl mode stuff
(fset 'perl-mode 'cperl-mode)
(setq cperl-indent-level 4
cperl-close-paren-offset -4
cperl-continued-statement-offset 0
cperl-indent-parens-as-block t
cperl-tab-always-indent t
cperl-invalid-face nil
)
当我$ emacs -nw
时,标签缩进工作正常。当我使用$ emacs
选项卡缩进时启动GUI版本时不起作用。我只得到空格缩进。
如何在GUI中获得制表符缩进?
cperl conf取自emacswiki
我拥有的emacs包:
$ dpkg -l | grep emacs
ii emacs 23.1+1-4ubuntu7.2+maverick1 The GNU Emacs editor (metapackage)
ii emacs-goodies-el 33.6ubuntu1 Miscellaneous add-ons for Emacs
ii emacs-snapshot 1:20090909-1 The GNU Emacs editor (development snapshot)
ii emacs-snapshot-bin-common 1:20090909-1 The GNU Emacs editor's shared, architecture dependent files
ii emacs-snapshot-common 1:20090909-1 The GNU Emacs editor's common infrastructure
ii emacs23 23.1+1-4ubuntu7.2+maverick1 The GNU Emacs editor (with GTK+ user interface)
ii emacs23-bin-common 23.1+1-4ubuntu7.2+maverick1 The GNU Emacs editor's shared, architecture dependent files
ii emacs23-common 23.1+1-4ubuntu7.2+maverick1 The GNU Emacs editor's shared, architecture independent infrastructure
ii emacsen-common 1.4.19ubuntu1 Common facilities for all emacsen
编辑:抱歉,我发现我没有正确研究过这种行为。在gui和-nw中,当我编辑已经缩进到选项卡中的文件时,它使用制表符,而当我编辑新文件时,它会用空格缩进它。
答案 0 :(得分:0)
首先,在启动时检查*Messages*
和*Warnings*
个缓冲区。可能会有一个关于那里失败的暗示。特别是,*Messages*
应该列出emacs正在加载的所有启动文件;在Ubuntu上,这将包括/etc/emacs
以及.emacs
中的文件。
如果这没有帮助,请尝试在emacs调试器中以交互方式运行.emacs。使用emacs -nw -q
启动emacs并将.emacs加载到缓冲区中。运行 M-x edebug-all-forms 然后运行 M-x eval-buffer 。重复按空格以逐步浏览文件。
编辑:检查两个环境中perl缓冲区中indent-tabs-mode
的值。这用于控制是否缩进制表符或空格。添加(setq-default indent-tabs-mode t)
会强制emacs缩进标签字符。