4

pareditをphp-modeと組み合わせて使用​​したいのですが、閉じ中括弧「}」が追加されていません。これは、電気ブレースが「{」にバインドされているという事実と関係があるのでしょうか。そして、どうすればこれを上書きできますか?

ありがとう。

4

3 に答える 3

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 に答える
2

pareditの使用はphpです-モードは悪い考えです-それは主にLispコード編集に適しています。ただし、汎用開発には非常に優れた代替手段があります-autopair-mode。使い方はとても簡単で、ほとんどのIDEにあるのと同じように、中かっこ、角かっこ、引用符を挿入します。

于 2011-03-16T11:11:30.980 に答える
1

私の経験では、autopair-mode多数のバッファーが開いていると非常に遅く感じました(さらに、とは異なり、paredit-mode区切り文字が不均衡になることはありませんautopair-mode)。ですから、私のように、絶対に使いたいと思ってparedit-modeいて、他に何もしない場合は、この回答を見てください。そこにあるelispスニペットで、phpに対応する変数(ほとんどの場合slime-repl-mode-mapと)を置き換えます。slime-repl-mode-hookphp-mode-mapphp-mode-hook

于 2012-04-12T18:43:05.020 に答える