   (general-define-key :keymaps 'parinfer-mode-map
                       "C-c <tab>" 'parinfer-toggle-mode)
   (general-define-key :keymaps 'emacs-lisp-mode-map
-                      "<f9> p"  'parinfer-mode
-                      "<f9> P"  'enable-paredit-mode
-                      "<f9> l"  'lispy-mode
-                      "<f9> r"  'rainbow-delimiters-mode
-                      "<f9> t"  'litable-mode
-                      "M-."     'find-function-at-point
-                      "M-&"     'complete-symbol
-                      "C-c e"   'macrostep-expand
+                      "<f9> p"    'parinfer-mode
+                      "<f9> P"    'enable-paredit-mode
+                      "<f9> l"    'lispy-mode
+                      "<f9> r"    'rainbow-delimiters-mode
+                      "<f9> t"    'litable-mode
+                      "M-."       'find-function-at-point
+                      "M-&"       'complete-symbol
+                      "C-c e"     'macrostep-expand
+                      "C-c C-r"   '(:ignore t :which-key "refactor")
+                      "C-c C-r v" '(:ignore t :which-key "erefactor")
                       "C-c C-r e" 'emr-show-refactor-menu)
   (general-define-key :keymaps 'racket-mode-map
                       "<f9> p"   'parinfer-mode

   "s-."           'mc/mark-all-dwim
   "s-,"           'mc/mark-all-in-region-regexp
   "s-:"           'avy-goto-char-timer
   "s-p"           'projectile-command-map
   "s-P"           'projectile-speedbar-toggle
   "s-s"           'hydra-embrace/body

;;; License: Unlicense

;;; Commentary:
;; Atalhos do ambiente Emacs.

;;; Code:
(use-package general
  :ensure t
  :config
  ;; Super-key laucher
  (general-define-key :prefix "<C-M-return>"
                      "a"     '(:which-key "applications")
                      "a c"   'calc
                      "a e"   'esup
                      "a r"   'R
                      "a s"   'symon-mode
                      "a w"   'wttrin
                      "b"     '(:which-key "buffer")
                      "b b"   'ivy-switch-buffer
                      "b f"   'counsel-find-file
                      "b k"   'kill-this-buffer
                      "b r"   'counsel-recentf
                      "b s"   'save-buffer
                      "B"     '(:which-key "browser")
                      "B e"   'eww
                      "B a"   'engine/search-amazon
                      "B G"   'engine/search-github
                      "B g"   'engine/search-google
                      "B s"   'engine/search-stack-overflow
                      "B t"   'engine/search-twitter
                      "B w"   'engine/search-wikipedia
                      "B W"   'engine/search-wikipedia-pt
                      "B d"   'engine/search-wiktionary
                      "B D"   'engine/search-wiktionary-pt
                      "e"     'eshell
                      "g"     '(:which-key "magit")
                      "g S"   'magit-stage-file
                      "g g"   'magit-dispatch-popup
                      "g s"   'magit-status
                      "g t"   'git-timemachine-toggle
                      "n"     '(:which-key "news")
                      "n f"   'elfeed
                      "n t"   'twit
                      "p"     '(projectile-command-map :which-key "projectile")
                      "p 4"   '(projectile-command-map :which-key "find")
                      "p s"   '(projectile-command-map :which-key "search")
                      "p x"   '(projectile-command-map :which-key "execute")
                      "p s r" 'projectile-ripgrep
                      "u"     '(:which-key "package-utils")
                      "u a"   'package-utils-install-async
                      "u u"   'package-utils-upgrade-all
                      "q"     '(:which-key "quit")
                      "q q"   'save-buffers-kill-terminal
                      "q r"   'restart-emacs
                      "t"     '(:which-key "tabs")
                      "t t"   'tabify
                      "t u"   'untabify)
  ;; C-x
  (general-define-key :prefix "C-x"
                      "a"     '(:ignore t :which-key "abbrev")
                      "/"     'rg
                      "C-/"   'ripgrep-regexp
                      "C-f"   'counsel-find-file
                      "C-r"   'counsel-recentf
                      "F"     'find-file-at-point
                      "Q"     '(:which-key "quit/restart")
                      "Q q"   'save-buffers-kill-terminal
                      "Q r"   'restart-emacs
                      "S"     'embrace-commander
                      "V"     'hydra-expand-region/body
                      "\\"    'align-regexp
                      "g"     'magit-status
                      "t"     'tabbar-ruler-move
                      "x"     '(:which-key "text")
                      "x a"   '(:which-key "align")
                      "x a a" '(align                 :which-key "align")
                      "x a c" '(align-current         :which-key "align current")
                      "x a r" '(align-regexp          :which-key "align regexp")
                      "x c"   '(capitalize-region     :which-key "capitalize")
                      "x l"   '(downcase-region       :which-key "downcase")
                      "x r"   'ciel-copy-to-register
                      "x s"   '(:which-key "sorts")
                      "x s P" '(sort-pages            :which-key "sort pages")
                      "x s c" '(sort-columns          :which-key "sort columns")
                      "x s f" '(sort-fields           :which-key "sort fields")
                      "x s n" '(sort-numeric-fields   :which-key "sort numeric fields")
                      "x s p" '(sort-paragraphs       :which-key "sort paragraphs")
                      "x s r" '(reverse-region        :which-key "reverse lines")
                      "x s r" '(sort-regexp-fields    :which-key "sort regexp fields")
                      "x s s" '(sort-lines            :which-key "sort lines")
                      "x t"   '(:which-key "transpose")
                      "x t c" '(transpose-chars       :which-key "chars")
                      "x t l" '(transpose-lines       :which-key "lines")
                      "x t p" '(transpose-paragraphs  :which-key "paragraphs")
                      "x t s" '(transpose-sentences   :which-key "sentences")
                      "x t w" '(transpose-words       :which-key "words")
                      "x u"   '(upcase-region         :which-key "upcase")
                      "x w"   '(:which-key "words")
                      "x w c" '(mds/capitalized-words :which-key "capitalized")
                      "x w d" '(mds/dashed-words      :which-key "dashed")
                      "x w i" '(mds/word-initials     :which-key "initials")
                      "x w l" '(mds/lower-camel-case  :which-key "lower")
                      "x w s" '(mds/snake-case        :which-key "snake")
                      "x w t" '(mds/titleized-words   :which-key "titleized")
                      "x w u" '(mds/upper-camel-case  :which-key "upper")
                      "x w w" '(mds/split-words       :which-key "split"))
  (general-define-key
   "C-c /"         '(:which-key "google")
   "C-c !"         '(:which-key "flycheck")
   "C-c &"         '(:which-key "yasnippet")
   "C-c p"         '(:which-key "projectile")
   "C-c p 4"       '(:which-key "find")
   "C-c p s"       '(:which-key "search")
   "C-c p x"       '(:which-key "execute")
   "M-s h"         '(:which-key "highlight")
   "<f10>"         'lacarte-execute-command
   "<f12>"         'ivy-switch-buffer
