Emacs php模式和paredit

Emacs php模式和paredit,php,emacs,php-mode,paredit,Php,Emacs,Php Mode,Paredit,我希望将paredit与php模式结合使用,但它没有添加一个右括号“}”。这可能与电子支架绑定到“{”这一事实有关吗?我怎样才能覆盖它 谢谢。不久前,我为C编写了这样一个东西,但您也可以轻松地在PHP中使用它: (define-minor-mode c-helpers-minor-mode "This mode contains little helpers for C developement" nil "" '(((kbd "{") . insert-c-block-pare

我希望将paredit与php模式结合使用,但它没有添加一个右括号“}”。这可能与电子支架绑定到“{”这一事实有关吗?我怎样才能覆盖它


谢谢。

不久前,我为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)

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

根据我的经验,
自动播放模式
感觉非常糟糕大量缓冲区打开时的ish(另外,
paredit模式
确保分隔符永远不会不平衡,这与
autopair模式
不同)。因此,如果您像我一样,绝对想使用
paredit模式
,而其他什么都不做,请看一看。在这里给出的elisp代码片段中,只需将
slime repl mode map
slime repl mode hook
替换为php的相应变量(很可能是
php mode map
php mode hook

当我有大量打开的缓冲区时,我发现
autopair模式的速度非常慢。
paredit模式
,另一方面,总是感觉很快,这就是为什么我到处都使用它。Emacs 24包含一个新的全局
电对模式
,它可能更快?是的。我已经从
autopair模式
转到了e新的
电对模式
。它的性能稍差,但速度确实快得多。