 (use-package which-key
   :delight
   :bind (("C-h b" . which-key-show-top-level)
-         ("C-h m" . which-key-show-major-mode)))
+         ("C-h m" . which-key-show-major-mode))
+  :config
+  (which-key-add-keymap-based-replacements ctl-x-map
+    "RET" "mule"
+    "4" "other-window"
+    "5" "other-frame"
+    "8" "unicode"
+    "@" "event-apply"
+    "X" "edebug"
+    "a" "abbrev"
+    "n" "narrow"
+    "r" "register"
+    "C-a" "edebug")
+  (with-eval-after-load 'vc
+    (which-key-add-key-based-replacements "C-x v M" "vc-merge")))
 
 ;; Visual alignment
 (use-package ialign

                 ("C-c e r" . eval-region)))
  (define-key emacs-lisp-mode-map (kbd key) command))

(add-hook 'ielm-mode-hook (lambda () (ielm-change-working-buffer (window-buffer (selected-window)))))

(use-package macrostep
  :bind (:map emacs-lisp-mode-map

  :delight yas-minor-mode
  :commands yas-minor-mode
  :hook ((prog-mode text-mode) . yas-minor-mode)
  :bind (:map yas-minor-mode-map
              ("TAB"   . nil)
              ("<tab>" . nil)
              ("C-c i" . yas-expand-from-trigger-key))
  :config
  (yas-reload-all)
  (with-eval-after-load 'which-key
    (which-key-add-key-based-replacements "C-c &" "yasnippet")))

(use-package yasnippet-snippets)

