2009-11-25 10 views
5

追加することでテキストを(キルリングに)コピーするにはどうしたらよいですか? (なぜこのような組み込みコマンドがないのですか?)ringに追加するemacsコマンド

Appending Kills C-dやC-kなどのkillコマンドを追加できるC-M-w( `append-next-kill ')について説明します。しかし、テキストをコピーするのではなく、テキストを殺すためのものです。

答えて

6

は実際には、このようなコマンドに建てられています。 C-M-wは、それに続くコピーとkillを追加します。コピーしたい領域に印をつけて、C-M-wと入力してからM-wと入力し、次にC-yを入力すると結合されたキルが消されます。

2

追加することができますあなたのニーズを満たす?

3

あなたの.emacsファイルにこのの変化で遊ぶ...

(defun append-kill-line (&optional arg) 
    "Append kill-line to current kill buffer, prefix arg kills from beginning of line." 
    (interactive "P") 
    (append-next-kill) 
    (kill-line arg) 
) 

(define-key global-map "\C-x\C-m" 'append-kill-line) 
1

さまざまなkillコマンドは、追加するかどうかを決定するために小さなトリックを使用します。前のコマンドが現在のコマンドと同じ場合は、追加されます。もしそうでなければ、それはしません。関数はこれを行うにはlast-commandの値を使用し、この値を操作することは、あなたが望むものを得るための鍵です。

(defun copy-region-as-kill-append (beg end) 
    (interactive "r") 
    (let ((last-command 'kill-region)) 
    (copy-region-as-kill beg end))) 
関連する問題