4

私は Emacs で ansi-term を使用しており、そこにいくつかの単語を貼り付ける必要があります。「貼り付け」は、マウスの中ボタンでのみ機能します。とでC-x C-jC-c C-kを切り替えられることはわかっていますが、不便です。私は仕事を使うか、仕事をすることを好みます。オンラインで検索しましたが、解決策は私のemacs23では機能しませんでした。char runline runC-yC-c y

4

1 に答える 1

2

ここには 2 つのオプションがあります。劣ったプロセスまたは Emacs を使用します。

下位プロセス (おそらく readline を使用するもの) を使用するには、生のC-y文字を送信するだけです。

(define-key term-raw-map (kbd "C-k") 'term-send-raw)
(define-key term-raw-map (kbd "C-y") 'term-send-raw)

次にC-kC-y端末に直接送信され、他の端末と同じように機能します (たとえば、行末まで kill し、ヤンクします)。下位プロセスはキー押下を受け取り解釈しているので、Emacs は kill と yank とは何の関係もありません。

Emacs のキル リングを使用するには、 を使用しますterm-paste

(define-key term-raw-map (kbd "C-c C-y") 'term-paste)

個人的には、term-modeバッファーを通常の端末のように扱うのが好きなので、コマンド ラインを編集するときは通常、マウスを使用してコピーC-k/貼り付けを行います。C-y

FWIW、私はmultitermを使用しています。

(with-eval-after-load "multi-term"
  (dolist
    (bind '(("C-k"           . term-send-raw)
            ("C-y"           . term-send-raw)
            ("C-c C-y"       . term-paste)
            ))
  (add-to-list 'term-bind-key-alist bind)))
于 2013-02-22T17:01:25.587 に答える