In your initialization file, bind the Transient casual-compile-tmenu
to your key binding of preference. It should be bound in two maps: compilation-mode-map
and grep-mode-map
.
(keymap-set compilation-mode-map "C-o" #'casual-compile-tmenu) (keymap-set grep-mode-map "C-o" #'casual-compile-tmenu)
casual-compile-tmenu
deviates from the default bindings of compilation-mode-map
as shown in the table below to support using a single key on an ‘en.US’ keyboard.
Default Binding | Casual Binding | Command |
---|---|---|
M-p | k | compilation-previous-error |
M-n | j | compilation-next-error |
M-{ | [ | compilation-previous-file |
M-} | ] | compilation-next-file |
C-o | o | compilation-display-error |
The following keybindings are recommended to support consistent behavior between compilation-mode-map
and casual-compile-tmenu
.
(keymap-set compilation-mode-map "k" #'compilation-previous-error) (keymap-set compilation-mode-map "j" #'compilation-next-error) (keymap-set compilation-mode-map "o" #'compilation-display-error) (keymap-set compilation-mode-map "[" #'compilation-previous-file) (keymap-set compilation-mode-map "]" #'compilation-next-file)
Similar treatment for grep-mode-map
can be done.
(keymap-set grep-mode-map "k" #'compilation-previous-error) (keymap-set grep-mode-map "j" #'compilation-next-error) (keymap-set grep-mode-map "o" #'compilation-display-error) (keymap-set grep-mode-map "[" #'compilation-previous-file) (keymap-set grep-mode-map "]" #'compilation-next-file)