我在Emacs中工作,并打开了ergoemacs次要模式。该次要模式将Cn和Cp相应地更改为Mk和Mi。
在文档视图模式下,我可以使用Mi和Mk在一个页面内上下移动,但是当到达页面的结尾(开始)时,滚动停止。
我已将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键。