14

Emacs 24は、コピー/貼り付け動作が最新のXアプリケーションに準拠するように動作する方法を変更しました(「選択の変更」のこの記事を参照してください)。プライマリ選択とマウスの中ボタンの貼り付けをクリップボードのコピー/貼り付けから明示的に分離しました。

私にとって残念なことに、MS Windowsでネイティブ(cygwinではありません!)のEmacs 24.2.1を使用すると、これは私が働きたい方法を台無しにします。

これが私が欲しいものです:

  1. Emacsでテキストを強調表示(選択)すると、自動的にWindowsクリップボードにコピーされます。別のWindowsアプリに貼り付けると(Ctrl-V)、貼り付けます。EmacsでCy(ヤンク)と入力すると貼り付けられます。Emacsを中クリックすると、貼り付けられます。
  2. Emacs(Cw)でKillを実行すると、データがクリップボードにコピーされます。別のWindowsアプリに貼り付けると(Ctrl-V)、貼り付けます。EmacsでCy(ヤンク)と入力すると貼り付けられます。Emacsを中クリックすると、最後に選択したテキストではなく、クリップボードの内容が貼り付けられます。
  3. 別のWindowsアプリから(たとえばCtrl-Cを介して)クリップボードにコピーしたものはすべて、Cy(ヤンク)と入力するか中クリック(現在、中クリックでクリップボードの内容ではなく、最後に選択したテキストを貼り付ける)のいずれかでEmacsに貼り付けることができます)。

要約すると、これはEmacsのプライマリ選択とクリップボードの違いを取り除くことを意味すると思います。すべてがクリップボードに作用するようにしたい!

4

3 に答える 3

18

NEWS からの次のエントリは適切と思われます。

  • mouse-drag-copy-region現在はデフォルトで nil になっています。

  • mouse-2 が にバインドされましたmouse-yank-primary

これは、キルリングを無視して、プライマリ選択から貼り付けます。以前は、mouse-2 は にバインドされていましたmouse-yank-at-click

  • 以前の動作に戻すには、次の手順を実行します。

    • なしに変更select-active-regionsします。
    • mouse-drag-copy-regiont に変更します。
    • x-select-enable-primaryt に変更します (X のみ)。
    • なしに変更x-select-enable-clipboardします。
    • mouse-yank-at-clickmouse-2 にバインドします。

x-select-enable-primaryWindows で以前の動作を取得するには、 と の両方をx-select-enable-clipboard現在の値のままにしておく必要があると思います。おそらくselect-active-regions、ここで不満を言っている動作の変更とは関係ありません。


.emacs ファイルに入れる正確な行は次のとおりです。

(setq select-active-regions nil)
(setq mouse-drag-copy-region t)
(global-set-key [mouse-2] 'mouse-yank-at-click)
于 2012-10-24T05:52:22.707 に答える
1

マウスをドラッグしても、クリップボードでは何も起こらないようです。以下はそれを追加しますが、ポイントしてマークするために何をするのかわかりません:

(defadvice mouse-drag-region (after copy-to-clipboard activate)
  (clipboard-kill-ring-save (region-beginning) (region-end))
  (goto-char st) (push-mark nd nil t)
  )
于 2012-10-23T22:18:54.723 に答える
0
  • 私が知る限り、ポイント 2 と 3 はすでに「すぐに」機能しますか?
  • また、履歴 (キルリングなど) を利用できるようにすることに興味がないと思いますか?
  • 「それを選択する」ことを強調表示することを意味しますか (emacs では領域として知られています)、または実際に強調表示することを意味しますか (たとえば、黄色のような色を付けます)?

それを選択するつもりなら、選択がいつ終了するかを Emacs が認識できず、クリップボードにコピーしなければならないことが問題だと思います。そのため、(Alt-Shift-w) を使用して、Emacs の外部からアクセス可能な にMeta-Wコピーします。kill-ring

(コメントが紛らわしいと思うのでここに投稿しましたが、後でこの回答を削除または変更します)

必要な情報はすべて次の場所で見つかると思いますmouse.el

そこにたどり着くには、試してみてください: C-hkany mouse buttonmouse.el をクリックして、それが定義されている場所を見つけます。ファイル内でさらに " global-set-key" を探すと、探しているものが正確に見つかる可能性があります (これについてはまだ 100% 確信が持てません)。

于 2012-10-23T18:59:30.693 に答える