在perl-mode emacs中关闭自动缩进

当我使用Emacs时,我转向任何自动缩进并使用自定义缩进方案(保留前一行的缩进,仅使用空格).

在c模式下,我只使用C-c C-1来关闭电动模式.

但在perl模式中,我不确定如何实现同样的目标.

看着http://mirror.fraunhofer.de/CPAN/misc/emacs/perl-mode.el.我可以看到

(defvar perl-mode-map ()
  "Keymap used in Perl mode.")
(if perl-mode-map
    ()
  (setq perl-mode-map (make-sparse-keymap))
  (define-key perl-mode-map "{" 'electric-perl-terminator)
  (define-key perl-mode-map "}" 'electric-perl-terminator)
  (define-key perl-mode-map ";" 'electric-perl-terminator)
  ...

所以我尝试了M-x set-variable perl-mode-map,但我只得到了[No match].

这是因为我的perl-mode.el是预编译的吗?当我尝试使用M-x find-function perl-mode时,它会抱怨它无法找到perl-mode.el.但是,我确实有一个perl-mode.elc文件.

我正在通过cygwin上的控制台运行emacs.

最佳答案 在配置文件中添加以下代码(.emacs或〜/ .emacs.d / init.el)

(defun perl-mode-disable-auto-indent ()
  (local-unset-key (kbd "{"))
  (local-unset-key (kbd "}"))
  (local-unset-key (kbd ";"))
  (local-unset-key (kbd ":")))

(add-hook 'perl-mode-hook 'perl-mode-disable-auto-indent)
点赞