autopairとsmartparensの違いは何ですか?


7

両方autopairsmartparens自動的デリミタのマッチングペアを挿入するための機能を提供します。

実際には(もしあれば)お互いにどのように違うのですか?これらのパッケージの1つでカバーされ、他のパッケージではカバーされないいくつかのユースケースは何ですか?


2
smartparensがpareditようなものであれば(そして私が理解から、それはある)、それはについてですより多くのちょうど一致するペアを挿入するよりも。実際、一致するペアだけが必要な場合、smartparensはやりすぎかもしれません。
Malabarba 2014年

回答:


6

smartparensが提供する機能のスーパーセットがありますautopair。ペア挿入(autopair機能)の提供とは別に、「ハイブリッドセックス」または非lispモードのセックスを操作できます。ナビゲート、マーキング、参加、分割、吸収などのコマンドを提供します。

私は個人的に使用smartparensしており、いくつかの重複する機能を提供していることがわかりました

  • yasnippet -文字列を使用してペア挿入をトリガーする機能
  • change-inner -一致したペア内の式を選択します
  • そしてpareditもちろん

面白い!との重なりはどのくらいchange-innerですか?あなた自身の経験に基づいて、それをsmartparens代わりに使用できると思いますchange-innerか?
itsjeyd 2014年

1
sp-kill-sexpはのdwimバージョンでchange-outer、どこにポイントを配置する必要があるかが少し異なります。C-u C-u M-x sp-kill-hybrid-sexpはのdwimバージョンですchange-inner。私は、私の主要なemacs使用法であるAuctexに両方のパッケージを使用しています。
Vamsi

1
あなたが使用していくつかのカスタムのelispを書くために喜んでいる場合はsmartparens、私が言うchange-innerに交換することができます。しかし、change-innerはるかに便利であり、smartparens同等のものほど作業メモリ(2つの関数/キーバインドのみを覚えておく)に負担をかけません。
Vamsi

ありがとう!私はあなたが言及したコマンドで少し遊んでみました、そして私が言うことができることからC-u C-u M-x sp-kill-sexp、まともな置き換えのように見えchange-outerます。
itsjeyd 2014年

@Vamsiどんな点でsp-kill-hybrid-sexp優れていchange innerますか?切り替えたほうがいいかな。
白熱症者

2

基本的な違いの1つはsmartparens、とのようにif、エスケープされたペアと句読点以外のマークを照合できることfiです。ペアをカスタマイズすることもできます。smartparens以下のようなエスケープペアがたくさんある正規表現の作業時は本当に素晴らしいです\(...\)、それは自身の持っているので、ハイライトで作業を行うことは、そのようなペアのためにsedawk...はるかに楽しいです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.