7

Slime / Emacsでフォーム全体をコピー/ヤンクする方法はありますか?

たとえば、次の関数がある場合:

(myfunc (lst)
    (myotherfunc lst))

ヤンク/コピーしたい:

(myotherfunc lst)

カーソルがそのフォームの開き括弧または閉じ括弧にあるときに(Slime / Emacsが括弧の一致を行う時点で)キーボードショートカットを発行します。

4

4 に答える 4

14
  • C-M-SPC(mark-sexp) sexp の最後にマークを付けてから、コピー/ヤンクします。

  • C-M-f(forward-sexp) とC-M-b(backward-sexp) は、バランスの取れた表現を前後に移動するのに役立ちます

http://www.emacswiki.org/emacs/ParenthesisMatching#toc2

于 2011-01-11T15:12:23.647 に答える
10

私の Emacs では、関数kill-sexpは にバインドされていC-M-kます。つまり、ポイントがバランスの取れた式の開始区切り文字の直前にあると仮定すると、Control、Meta、および k を同時に押します。

この同じコマンドは、C スタイル モードで中括弧で区切られたブロックを強制終了するなど、他のさまざまな非 Lisp モードで機能しますが、kill-sexpコマンドが同じキーにバインドされていない場合があります。

于 2011-01-11T14:59:17.163 に答える
4

emacs マイナー モードParEditは、デフォルトで通常の kill 'Ck' でこれを行います。すべての emacs+slime ユーザーにお勧めします。

于 2011-01-11T15:27:49.520 に答える
0

Lispyを使用 してから、nどの実行lispy-new-copyをコピーするかを押すことができます

(myotherfunc lst)
于 2015-09-16T10:04:26.513 に答える