【问题标题】:How to automatically enable paredit mode on all clojure, closurescript and elisp buffers automatically?如何自动在所有 clojure、closurescript 和 elisp 缓冲区上自动启用 paredit 模式?
【发布时间】:2020-05-26 21:19:25
【问题描述】:

我想默认在所有 clojure、cljs 和 elisp 缓冲区上启用 paredit-mode,这可能会通过 .spacemacs 文件发生。这是我目前在 .spacemacs 的用户配置功能中所拥有的:


;; paredit autoload
  (autoload 'enable-paredit-mode "paredit" "Turn on pseudo-structural editing of Lisp code." t)
  (add-hook 'clojure-mode #'enable-paredit-mode)
  (add-hook 'clojurescript-mode #'enable-paredit-mode)

但它并没有真正起作用。我做错了什么?

【问题讨论】:

  • 我使用 emacs 而不是 spacemacs(还),但我认为你应该在模式结束时使用“-hook”以使其工作:(add-hook 'clojure-mode-hook #'enable-paredit-mode)(add-hook 'clojurescript-mode-hook #'enable-paredit-mode)。有用吗?
  • 不,没有用。
  • 请不要在这里和Emacs SE 上问同样的问题(以及在Emacs SE第二次。)选择一个或另一个。

标签: emacs clojure clojurescript paredit


【解决方案1】:

paredit-mode wiki可以看到应该是:

;; paredit autoload
  (autoload 'enable-paredit-mode "paredit" "Turn on pseudo-structural editing of Lisp code." t)
  (add-hook 'clojure-mode 'enable-paredit-mode)
  (add-hook 'clojurescript-mode 'enable-paredit-mode)

所以不是#',而是'

【讨论】:

  • 还有这个? (add-hook 'slime-repl-mode-hook (lambda () (paredit-mode +1)))
  • 是的,因为你使用cider 来表示clojure,我猜。
  • 然后试试(add-hook 'clojure-mode (lambda () (paredit-mode 1))(add-hook 'clojure-script-mode (lambda () (paredit-mode 1))。如果这也不起作用,我将删除 elpa 文件夹中的所有与 clojure 相关的软件包并重新安装。
  • 您在使用use-package 进行包配置吗?实际上,您必须将(paredit-mode 1) 添加到:config 中以获得clojure-modeclojure-script-mode
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-19
  • 2021-02-08
  • 2022-07-29
  • 1970-01-01
相关资源
最近更新 更多