elisp是新手,需要帮助。绑定到键盘映射时,emacs功能的行为不同
我有一个页面下来docview当帧被分成两个窗口,一个简单的函数:
(defun noteview-pagedown()
(interactive)
(with-selected-window (other-window-for-scrolling)
(doc-view-scroll-up-or-next-page nil)))
(defconst noteview-mode-keys
'(("C-M-v" . noteview-pagedown)))
; lifted from android-mode.el
(defvar noteview-mode-map (make-sparse-keymap))
(add-hook 'noteview-mode-hook
(lambda()
(dolist (spec noteview-mode-keys)
(define-key
noteview-mode-map
(read-kbd-macro (concat noteview-mode-key-prefix " " (car spec)))
(cdr spec)))))
左侧窗口中有这个函数文本文档。右边的窗口中有docview打开。
当我按下C-M-v时,它第一次正确运行,然后第二次正确运行。它似乎做了一个页面下来,然后一个页面交替,所以我从来没有进入下一页。
当我使用M-x noteview-pagedown以交互方式运行此功能时,它可以工作。
任何提示,为什么这不会从键盘宏工作,将不胜感激。
运行上述代码后,“C-h k C-M-v”的输出是什么?另外,'noteview-mode-key-prefix'是在什么地方定义的? –