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 式に追加された最初の項目は、常に開始括弧に対してプッシュされるべきではありませんか?