マークされた領域を広げるためにシフトクリック


3

マウスを使用してドラッグせずにテキストを選択(領域をマーク)したいとします。私が普段していること(ほとんどのアプリでは emacs )は:

  1. マウスの左ボタンでクリック down-mouse-1 ;
  2. マウスを放して、選択を始めたい場所にカーソルを置きます。
  3. 長押し シフト キー;
  4. そして最後にクリック( down-mouse-1 )テキストの代わりに、選択を終了させたい場所に、

しかし、私はこれを行うことはできません emacsなぜなら、ステップ4ではコンテキストメニューがポップアップするからです( Change default buffer face そして、私の選択は失われます。

再マッピングしてみました <S-down-mouse-1> 他のいくつかのコマンドでは成功しません。

誰かがこの偉業を達成する方法を知っていますか emacs

(私は使っています emacs 24.2以降 Xubuntu 12.04以降 Mac Os X 10.8(Cocoa Emacs);私が使っている transient-mode そして cua-mode。)


更新:

このコードを試してみました。 ここに しかし、また成功しませんでした。

  ;; shift + click select region
  (define-key global-map (kbd "<S-down-mouse-1>") 'ignore) ; turn off font dialog
  (define-key global-map (kbd "<S-mouse-1>") 'mouse-set-point)
  (put 'mouse-set-point 'CUA 'move)

押すと C-h c、shiftキーを押しながらテキスト内のどこかをクリックすると、エコー領域に何が表示されますか。私のEmacsは言う <S-mouse-1> (translated from <S-down-mouse-1> <S-mouse-1>) at that spot runs the command mouse-save-then-kill そして、あなたがあなたのものにふさわしいやり方でふるまう。私はOS Xの24.2にもいて、トランジェントモードを使っていますが、cuaモードは使っていません。
legoscia

@ legosciaあなたが示唆したように、私は私のinitファイルにこれを追加し、それはうまくいった! (define-key global-map (kbd "<S-down-mouse-1>") 'mouse-save-then-kill)。 (答えとして追加してください、私はそれを認めます。)
NVaughan

回答:


4

なぜこのバインディングをまだ持っていないのかわからないが、あなたのコメントによれば、これで問題が解決したようだ。

(define-key global-map (kbd "<S-down-mouse-1>") 'mouse-save-then-kill)

0

使ってみましたか ココアemacs ?私はあなたが望む振る舞いが箱から出してうまくいくと確信しています。


まあ、私は今それを使っていて成功していません。
NVaughan

とemacsを実行してみました emacs -q私のinitファイルの中の何かがマウスのふるまいを台無しにしていたかどうかを確かめるために、しかし何も変わらなかった。
NVaughan

何も設定せずに試してみましたか? (つまり、一時的にあなたの名前を変更する .emacs だからそれは見つかりません)。おそらくそこに問題を引き起こしている何かがあります。私はあなたと全く同じemacsとOSXバージョンを持っています、そしてそれはなしで動作します .emacs
James Porter

うわー、それは奇妙だ。私たちの設定の間に残された違いはないと思うことができます。
James Porter
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.