Unfortunately, the names of the commands—
what-page and so on—obscure their function in Quip mode, which is to operate on quips, not pages. Therefore it might be wise to do this:
(defalias 'backward-quip 'backward-page) (defalias 'forward-quip 'forward-page) (defalias 'narrow-to-quip 'narrow-to-page) (defalias 'what-quip 'what-page)
But that's not quite enough. Even with these aliases defined, the existing keybindings—C-x [, C-x ], and C-x n p—are still bound to the "page" commands, so that if users list the keybindings in Quip mode using
describe-bindings, they'll see:
(among many others) but nothing relating to quips. It would be better if these keysequences referred to the quip variant of the command names—in Quip mode only, of course. While we're at it, we should also change C-x n p (so chosen because it means narrow to page) to C-x n q (narrow to quip). We could also give a keybinding to
what-quip, which doesn't have one by default. At this point we need a keymap specific to Quip mode.
A keymap is a Lisp data structure that maps keystrokes to the commands they should invoke. When you press C-f, for instance, Emacs consults the "global" keymap and finds the binding for C-f, namely
forward-char. Each entry in a keymap represents a single keystroke.
Key sequences, such as C-x C-w (
write-file), are implemented by nesting keymaps. In the global keymap, the entry for C-x contains a nested keymap instead of ...