emacs - 未检测到电对模式

标签 emacs elisp

我无法使用以下命令在 emacs 中激活电对模式:

 M-x electric-pair-mode

甚至像M-x describe-function electric-pair-mode这样的东西也不起作用。 怎么了?

最佳答案

您可能想使用paredit mode反而。

您可以按照其文档中的说明为某些模式启用它。或者您可以为所有模式启用它:

(load-file (expand-file-name "/path/to/paredit.el"))
(mapc (lambda (mode)
    (let ((hook (intern (concat (symbol-name mode)
                    "-mode-hook"))))
      (add-hook hook (lambda () (paredit-mode +1)))))
      '(emacs-lisp lisp inferior-lisp))

或者切换到 emacs 24,其中 elect-pair-mode 已包含在发行版中。

编辑:回答你的问题。大括号在他们的代码中定义:

(define-paredit-pair ?\( ?\) "round")
(define-paredit-pair ?\[ ?\] "square")
(define-paredit-pair ?\{ ?\} "curly")
(define-paredit-pair ?\< ?\> "angled")

如果它不适合您,您可能会与其他次要模式发生冲突。如果您调用 M-x describe-mode ,则启用的次要模式会在开头列出。

关于emacs - 未检测到电对模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12636599/

相关文章:

emacs - 检测 Emacs 中的当前主要模式(来自 Lisp)?

common-lisp - 迭代 plist 并设置每个键的值

emacs latex Hook 未运行

macos - Emacs 和 Emacsclient 版本不同

emacs:视觉线模式和填充段落

emacs - 使用邪恶键绑定(bind)时在 emacs 中按 Ctrl+U

emacs - 获取正在运行的 Emacs 计时器列表

ubuntu - 如何在 emacs 中打开节点 REPL?

emacs - 在Emacs中更快地更改窗口(或一次单击即可重复最后一个快捷方式)

emacs - 在 Emacs 中异步运行命令,但以增量方式显示输出