ergoemacsマイナーモードをオンにしてEmacsで作業しています。このマイナーモードは、それに応じてCnとCpをMkとMiに変更します。
ドキュメントビューモードでは、 MiとMkを使用して1ページ内を上下に移動できますが、ページの終わり(最初)に達するとスクロールが停止します。
doc-view-continuous変数をtに設定しました。結果は次のとおりです。
- ergoemacsマイナーモードがオンになっている場合、 MkとMiを使用した連続スクロールは機能しません
- ergoemacsマイナーモードがオフになっている場合、 CnおよびCpによる連続スクロールが機能します
- 次のページCx、]および前のページCx、[は常に機能します
- マウスホイールによる連続スクロールは常に機能します
PS:
この投稿を書いている間、私は次のことを発見しました:
- doc-viewモードでは、Cpはdoc-view-previous-line-or-previous-page関数にバインドされます。この関数は、 doc-view-continuousに応じてさまざまな動作をします。
- doc-viewモード+ ergoemacsマイナーモードでは、Miはimage-previous-line関数にバインドされます
この違いが問題の原因です。doc-view-mode-hookを使用してみます。
編集済み:ergoemacsモード
で機能するスタートアップコードは次のとおりです。
;; adjust docview mode
(setq doc-view-continuous t)
(defun adjust-doc-view ()
(ergoemacs-local-set-key (kbd "M-i")
'doc-view-previous-line-or-previous-page)
(ergoemacs-local-set-key (kbd "M-k")
'doc-view-next-line-or-next-page)
)
(add-hook 'doc-view-mode-hook 'adjust-doc-view)
私が理解していないのは、doc-view関数が標準キーにバインドされているのに、 ergoemacsキーにバインドされていない理由です。