5.5.1 Compile Install

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 BindingCasual BindingCommand
M-pkcompilation-previous-error
M-njcompilation-next-error
M-{[compilation-previous-file
M-}]compilation-next-file
C-oocompilation-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)