Emacsがマークリングに現在の位置をスクロールしてスクロールアップしたり、1ページ上にスクロールさせたりするような一般的な方法があるかどうかを尋ねます、行にジャンプ、新しいバッファにジャンプ、テキストを検索...、私は歴史に簡単に戻ることができるように?Emacsが大きな動きごとにマークリングに移動するようにする
私の現在のソリューションは、(以下のサンプルコードのように)、関連する機能の一部をdef-advice
することであるが、それはすべてのケースをカバーしていない、と私はdef-advice
共有してください必要があります他に何かわかりませんこの問題についてのあなたの経験どんな助けでも大歓迎です。
(defun my-set-mark()
(interactive)
(push-mark (point) t nil))
(defadvice find-file (before set-mark activate) (my-set-mark))
(defadvice goto-char (before set-mark activate) (my-set-mark))
(defadvice goto-line (before set-mark activate) (my-set-mark))
(defadvice isearch-update (before set-mark activate) (my-set-mark))
(defadvice beginning-of-buffer (before set-mark activate) (my-set-mark))
(defadvice end-of-buffer (before set-mark activate) (my-set-mark))
非対話的に最もよく使われる関数の一つであり、おそらく* 'find-file'でもないので、' goto-char'にアドバイスしません。関数のリストで 'pre-command-hook'を使うことを考えてみましょう。たとえば、'((バッファの先頭をバッファーにするgoto-line) ) ' – lawlist
' goto-line'、 'begin-of-buffer'と' end-of-buffer'は、マーク自体を残すでしょう。 – songyuanyao
@songyuanyao:そうではありません。私はそれを確認してから、「解読」しなければならない。 –