anchor.diff:         "M-<" 'select-first
          "M-]" 'select-next-source        ; Emacs Helm binding.
          "M-[" 'select-previous-source    ; Emacs Helm binding.
  -       "C-M-n" 'scroll-page-down-other-buffer
  -       "C-M-p" 'scroll-page-up-other-buffer
  +       "C-M-n" 'scroll-other-buffer-down
  +       "C-M-p" 'scroll-other-buffer-up
  +       "C-M-v" 'scroll-page-down-other-buffer
  +       "shift-C-M-v" 'scroll-page-up-other-buffer
          "C-j" 'run-follow-mode-function
          "C-g" 'cancel-input
          "C-h b" 'run-prompt-buffer-command
  
positive.code:   (ffi-buffer-select-all prompt-buffer))
  
  ;; FIXME: Move scroll.lisp from web-mode so that prompt-buffer.lisp can reach
  ;; it.  Ideas, other than copying from scroll.lisp?
  
  ;; (define-command-prompt scroll-page-up-other-buffer (prompt-buffer)
  ;;   "Scroll up the buffer behind the prompt by one page."
  ;;   (with-current-buffer (current-buffer) (nyxt/web-mode:scroll-page-up)))
  
  ;; (define-command-prompt scroll-page-down-other-buffer (prompt-buffer)
  ;;   "Scroll down the buffer behind the prompt by one page."
  ;;   (with-current-buffer (current-buffer) (nyxt/web-mode:scroll-page-down)))
  
  (defmethod default-modes append ((buffer prompt-buffer))
    '(prompt-buffer-mode))
  
negative.code:        "p" 'paste
         "$" 'move-end-of-input
         "^" 'move-start-of-input
         "M-j" 'scroll-other-buffer-down
         "M-k" 'scroll-other-buffer-up
         "C-M-j" 'scroll-page-down-other-buffer
         "C-M-k" 'scroll-page-up-other-buffer
         "l" 'nyxt/input-edit-mode:cursor-forwards
         "h" 'nyxt/input-edit-mode:cursor-backwards
         "w" 'nyxt/input-edit-mode:cursor-forwards-word
  