2017-01-09 12 views
2

最近、emacsは1回の取り消しで複数のキーストロークの取り消しを開始しました。私はそれが好きではない。私はそれを望んでいない。私は過去からそれを覚えているようだし、それが止まったり、何とか止めたりした。どうすればそれを止めることができますか?あまりにも多くの文字を削除すると、その文字を元に戻すことができます。 1文字が多すぎると、元に戻すことができなくなります。現在、いくつかの乱数を元に戻します。私はそれを望んでいない。emacsで1回のキーストロークを取り消す

+1

Emacsは最近の変更を保存するためにタイマーを使用しています。これが本当にあなたがしたいことなら、キーストロークごとに 'post-command-hook'に入れます。 'undo-auto-boundary-timer'と' undo-auto-boundary-ensure-timer'を参照してください。または、保存タイマーの間隔を変更することができます - 10秒に設定されているように見えます - これは関連するコード行だと思います: '(run-at-time 10 nil# 'undo-auto-タイマー) ' – lawlist

+0

@lawlist:答えとして提出してください。注意:コメントはいつでも削除でき、コメントはグローバル検索(AFAIK)では利用できません。 – Drew

答えて

2

実際には何かが変更されました:過去には、連続した1文字の挿入(self-insert-command)の取り消しレコードは、20個のグループにまとめられましたが、Emacs-25では1文字後方への削除(delete-backward-char) 。

これらのグループ(20)のサイズはCでハードコーディングされ、Elisp(undo-auto-amalgamate)でハードコードされています。それでまだハードコードされている間は、自分のEmacsをコンパイルせずにオーバーライドする方が簡単です。私はあなたと、この合併事業を無効にすることができるかもしれない疑いがあるコードを見てみると

(advice-add 'undo-auto--last-boundary-amalgamating-number 
      :override #'ignore) 
関連する問題