在perl模式emacs中关闭自动缩进
当我使用Emacs时,我打开任何自动缩进并使用自定义缩进方案(保留前一行的缩进,仅使用空格) 在c模式下,我刚刚用在perl模式emacs中关闭自动缩进,emacs,cygwin,elisp,indentation,cperl-mode,Emacs,Cygwin,Elisp,Indentation,Cperl Mode,当我使用Emacs时,我打开任何自动缩进并使用自定义缩进方案(保留前一行的缩进,仅使用空格) 在c模式下,我刚刚用c-c-l关闭了电动模式 但在perl模式下,我不确定如何实现同样的效果 看着。我看得出来 (defvar perl-mode-map () "Keymap used in Perl mode.") (if perl-mode-map () (setq perl-mode-map (make-sparse-keymap)) (define-key perl-mod
c-c-l
关闭了电动模式
但在perl模式下,我不确定如何实现同样的效果
看着。我看得出来
(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设置变量perl模式映射
,但我只得到[不匹配]
这是因为我的perl-mode.el是预编译的吗?当我试图M-x查找函数perl-mode
时,它抱怨找不到它perl-mode.el。不过,我确实有一个perl-mode.elc文件
我正在通过cygwin上的控制台运行emacs。在配置文件(.emacs或~/.emacs.d/init.el)中添加以下代码
我的错。我不知道emacs中有正常变量和用户选项变量 在scratch缓冲区中运行
(setq perl mode map(make sparse keymap))
,然后重新加载perl mode为我禁用了电子缩进
另外,谢谢你的回答
编辑:重新加载perl模式非常重要。关闭
电子缩进模式,因为perl模式
就是这样做的。我在我的~/.emacs.d/init.el
(defun perl-mode-disable-auto-indent()
(electric-indent-mode -1))
(add-hook 'perl-mode-hook 'perl-mode-disable-auto-indent)
你可以找到类似的帖子,还有
(defun perl-mode-disable-auto-indent()
(electric-indent-mode -1))
(add-hook 'perl-mode-hook 'perl-mode-disable-auto-indent)