6

Paredit を使用していると、次のような問題に直面することがよくあります (パイプ文字はカーソルを表します)。

(foo |bar baz)

bar括弧で囲みたいので、 paredit-wrap-around( M- () を使用してこれを取得します。

(foo (|bar) baz)

代わりにバーを文字列の中に入れたい場合も同じことが当てはまります。これを取得するにはM-を使用できます。"

(foo "|bar" baz)

ただし、Clojure では、ベクトル、マップ、およびセットに角括弧[]と中括弧も使用します。{}これらには、paredit の「ラップ アラウンド」コマンドがないようです。したがって、この場合、たとえばバーをベクトルに入れるには、通常、[キーを使用して新しいベクトルを作成します。

(foo [|] bar baz)

paredit-forward-slurp-sexp( C-が続く→</kbd>), which results in:

(foo [| bar] baz)

前に挿入された空白文字を削除したいのですがbar。これは可能ですか?空の式から 1 つの項目を含む式に移行するときに、paredit が空白文字を保持するのはなぜですか? S 式に追加された最初の項目は、常に開始括弧に対してプッシュされるべきではありませんか?

4

2 に答える 2

4

Paredit は、かなり長い間、 と を持っていましparedit-wrap-curlyparedit-wrap-square。それらを使用したい場合は、単純にそれらをありそうな音のキーにバインドして、それを使用してください。これらの関数が存在しないほど古いバージョンの paredit を使用している場合は、アップグレードする必要があります (ただし、slurp コマンドはそれらで動作するため、そうではないと思います)。

于 2013-06-30T23:32:51.577 に答える