• 締切済み

Emacs 24 で文字列DND

文章を編集するとき、文字列を選択しておいてブラウザからエディタ編集領域へコピー、またエディタ編集領域内での文字列移動(いずれもドラッグ&ドロップにより)は、どのエディタでも日常の操作です。 しかしEmacs初期状態ではできないようです。カスタマイズする方法はすぐ見つかるだろうと思っていましたが未だに見当がつきません。 この操作をEmacsではどうすればできるでしょうか。 OSはDebian8。

みんなの回答

  • trapezium
  • ベストアンサー率62% (276/442)
回答No.2

> そこでカスタマイズの自由度が大きいEmacsを使おうとすれば今度はアタリマエのことができない。 何を「あたりまえ」というかは文化圏が違うと自ずと異るので、標準の emacs style に慣れるか、自分でなんとかするしかありません。ざっと mouse-copy.el, mouse-drag.el, mouse.el 読んでみましたが、それなりに頑張れば不可能ではなさそうです。 > 「ドラッグ」「文字列」「移動」のキーワードでEmacsについて探しても見当違いの話ばかりがヒットします。 キーワードが悪いと思います。C-h r m Mouse* や上記の elisp からキーワード拾うといいでしょう。例えば global-set-key mouse move text とか drag'n drop とか emacs lisp や .emacs 中心に検索掛けた方がいい気がします。 > Emacsで文字列をドラッグ&ドロップしようと思った人は誰もいないのでしょうか?自分が変なのでしょうか? それは分かりませんが、問題はコード化して公開してくれているかですね。そのものズバリは無くとも参考にはなると思います。

  • trapezium
  • ベストアンサー率62% (276/442)
回答No.1

元々カット&ペーストのスタイルが違うんですよね。 御存知かもしれませんが、デフォルトだと mouse-1 で範囲指定 、mouse-2 でペースト、mouse-3 で範囲拡張と double-click でカットとなっています。また以前から xterm などのターミナルエミュレータや X アプリは同様の方法を採用してるので、それらとの兼ね合いもあると思います。 これをカスタマイズするのはキーバインド同様 define-key や global-set-key で (global-set-key [S-mouse-2] 'mouse-kill) などとしますが標準では御要望の機能は用意されていません。 ブラウザからのコピーは普通に出来るケースもありますが、それ以外は elisp (emacs/24.x/lisp/mouse*.el*) 書き直さないとならないでしょう。その線で調べれば誰か elisp パッケージ作ってるかもしれません

mizunoab
質問者

お礼

ご教示ありがとうございます。Emacsはスタイルが違うなあと感じることは多いですね。 日常使うエディタは有りますが不満な点が有ってもカスタマイズが不自由。そこでカスタマイズの自由度が大きいEmacsを使おうとすれば今度はアタリマエのことができない。「ドラッグ」「文字列」「移動」のキーワードでEmacsについて探しても見当違いの話ばかりがヒットします。Emacsで文字列をドラッグ&ドロップしようと思った人は誰もいないのでしょうか?自分が変なのでしょうか?

関連するQ&A

専門家に質問してみよう