どのようなキーシーケンスが私のバッファの大きな塊を殺していますか?

現在の位置から削除するキーシーケンス バッファの先頭?

私はシーケンスを使用したいが、起こらないようにしたいからではない。私はいつも間違ってこれをやっています。私はあまりにも速く働いていることが多く、それは後で理解することができません。一年に4回しか起こりませんが、私がすぐにそれを理解しなければ、壊滅的なこともあります。

私はそれが何であるかだけを知っていれば機能やシーケンスを無効にすることができました。

たぶん私はこの誤りをどうやって正確に見つけ出すために何らかのキーストロークログをオンにしなければならないでしょうか?

私は text-mode のときに問題が発生していることに気付きました。私はEMACS 24.3.1をWindows 10で使用しています。

0
最新のキーストロークを表示するには l (または M-x view-lossage )を試してください
追加された 著者 alastairs,

1 答え

C-w にバインドされている kill-region を呼び出している可能性があります。これは、他のアプリケーションでのカットコマンドとみなされます。リージョンがアクティブでない場合は、最後のマークがどこにあったかまで、あなたのポイントから殺すでしょう。これはおそらくバッファの始まりになる可能性があります。

The command view-lossage (bound to C-h l or l) displays the last 300 input keystrokes.

3
追加された
(use-region-p)ad-do-it(メッセージ "Region not active")))を使用すると、この動作を避けるためです。このアドバイスでは、リージョンがアクティブで空でない場合にのみ、リージョンが強制終了されます。
追加された 著者 Mike Spivey,
ありがとうジュール。さて、C-w(kill-region)はパン&バターなので、私はそれを無効にしませんが、マークがアクティブでないときにデフォルト動作が記述されているかどうかはわかりませんでした。ケースが閉まった。
追加された 著者 Dima Tisnek,
神、さらに良い。私はそれを試してみましょう。
追加された 著者 Dima Tisnek,
さて、それは動作しますが、kill-lineも無効にします。それを修正する方法が見つかったら、私はそれを投稿します。
追加された 著者 Dima Tisnek,
喜んで助けてください。この回答があなたの問題を解決した場合、他の人にこのケースが閉鎖されていることを知らせるために、それを受け入れられたものとして自由に記入してください。ありがとう!
追加された 著者 Airsick,
なぜ私の答えが受け入れられなかったのか、あなたはその機能が何であるかを知りたいと思っていたのです。この機能を変更したい場合は、 Chk Cw を実行することによってソースコードを見つけることができる kill-region コマンドをコピーすることもできます kill-region-safe またはそのilkのものと呼ばれる独自の関数です。この新しい関数では、最初に region がnilであるかどうかをチェックすることができます。 kill-region-safeC-w にバインドすることができます。
追加された 著者 Airsick,
おそらく kill-region の別名を kill-region-safe にエイリアスして、 defadvice から kill-region-safeCw に再バインドします。
追加された 著者 Airsick,