4

我想将 paredit 与 php-mode 结合使用,但它不会添加右大括号“}”。这可能与电子支架绑定到“{”这一事实有关吗?我怎么能覆盖这个?

谢谢。

4

3 回答 3

2

使用 paredit 是 php 模式是个坏主意 - 它主要适用于 Lisp 代码编辑。不过,通用开发有一个非常好的替代方案 - autopair-mode。它非常易于使用,并且以类似于大多数 IDE 中存在的方式插入大括号、方括号和引号。

于 2011-03-16T11:11:30.980 回答
2

前段时间,我为 C 写了这样一个东西,但是你也可以很容易地将它用于 PHP:

(define-minor-mode c-helpers-minor-mode
  "This mode contains little helpers for C developement"
  nil
  ""
  '(((kbd "{") . insert-c-block-parentheses))
)

(defun insert-c-block-parentheses ()
  (interactive)
  (insert "{")
  (newline)
  (newline)
  (insert "}")
  (indent-for-tab-command)
  (previous-line)
  (indent-for-tab-command)
  )

(add-hook 'php-mode-hook 'c-helpers-minor-mode)
于 2011-03-14T14:07:33.020 回答
1

以我的经验,autopair-mode当大量缓冲区打开时感觉非常缓慢(另外,paredit-mode确保分隔符永远不会不平衡,不像autopair-mode)。因此,如果像我一样,您绝对想使用paredit-mode而没有其他方法,请查看此答案。在那里给出的 elisp 片段中,只需将slime-repl-mode-mapand替换slime-repl-mode-hook为 php 的相应变量(很可能是php-mode-mapand php-mode-hook

于 2012-04-12T18:43:05.020 回答