Emacs

【Emacs】マウスの範囲選択だけでコピーする方法

投稿日:

TeraTermなどのターミナルで使える、コピーしたいテキストを「マウスで範囲選択するだけ」でコピーできるのって、とっても便利ですよね。

Emacsにも同じ機能があるのはご存知でしょうか?

Emacsでもマウスをドラッグしてテキストを範囲選択するだけで、キルリングとクリップボードにテキストをコピーできます。設定もとっても簡単ですので、その方法をご紹介します。

一時的に機能を有効化する

マウスの範囲選択でテキストをコピーする機能を有効化/無効化するコマンドはないので、次の方法で一時的に有効化します。

どのバッファでもいいので、次の1行を記載します。

(setq mouse-drag-copy-region t)

これは変数mouse-drag-copy-regionにtを設定するEmacs Lisp式です。この変数のデフォルト値は「nil」で、マウス選択でコピーする機能は無効になっています。変数を「t」に設定することで機能を有効化します。

この式を評価して、変数mouse-drag-copy-regionに「t」を設定します。それには閉じカッコ後ろにカーソルを移動して、次のコマンドを実行します。

C-x C-e

これはEmacs Lisp式を評価するコマンドです。実行するとエコーエリアに一瞬「t」と表示されたと思います。これで変数にtが設定されました。

以上が完了すれば、マウスをドラッグしてテキストを範囲選択してください。それだけでEmacsのキルリングとシステムのクリップボードにテキストがコピーされます。クリップボードにもコピーされるので、他のアプリにも貼り付けられます。とっても便利ですね。

この機能が気に入ったら設定を恒久化しましょう。

恒久的に設定する

恒久的に設定をする場合は、上述のEmacs Lisp式をinit.elに記述するだけです。

記述したら有効化するためにEmacsを再起動するか、先程と同様に「C-x C-e」を実行して、Emacs Lisp式を評価します。

機能を無効化する

一時的に機能を無効化したければ次のように記載して、Emacs Lisp式を「C-x C-e」で評価します。

(setq mouse-drag-copy-region nil)

恒久的に無効化したければ、init.elから追加した設定を削除します。

なお、変数mouse-drag-copy-regionに実際に設定されている値を確認したければ、次のコマンドで確認できます。

C-h v mouse-drag-copy-region

すると変数mouse-drag-copy-regionのヘルプが表示され、変数の値も確認できます。

まとめ

マウスでドラッグするだけでコピーできるのは、本当に便利です。皆様も是非試してください。きっと気にいるでしょう。

-Emacs

Copyright© アナグマのモノローグ , 2021 All Rights Reserved Powered by STINGER.