我正在尝试将 CPerl 模式与 emacs(CentOS 6 上的 23.1.1)中的 Perl 源文件相关联。
如果我在 .emacs 中包含以下行
(defalias 'perl-mode 'cperl-mode)
然后打开 Perl 源文件时将加载 CPerl 模式。
然而,下面这行,看起来 ti 应该可以工作,却导致 Perl 模式被加载:
(add-to-list 'auto-mode-alist '("\\.p[lm]$" . cperl-mode))
没有错误消息——它只是加载 Perl 模式而不是 CPerl 模式。
我问的原因是我在使用 cperl-set-style 时遇到了一些问题(在 emacs 菜单中工作,但如果我将它作为 CPerl 模式的钩子添加到 CPerl 模式中,当它被别名为 perl 模式时),我想尝试直接加载CPerl模式。
我在 .emacs 中使用的将缩进样式设置为 CPerl 模式的钩子的语句是
(eval-after-load "cperl-mode"
add-hook 'cperl-mode-hook (lambda() (cperl-set-style 'C++))))
如果没有加载 CPerl 模式(当我使用 auto-mode-alist 方法时)并且当我通过将 CPerl 模式别名为 Perl 模式来加载 CPerl 模式时没有做正确的事情(似乎使用 GNU 缩进样式),这显然没有效果。