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)