   :bind ("C-c w" . er/expand-region))
 
 ;; Visual feedback for query-replace, replace, and multiple cursors.
-(use-package visual-regexp :ensure t)
-
-(use-package replace-pairs :ensure t)
-
-(use-package easy-escape :ensure t
-  :config
-  ;; TODO: Figure out why face foreground isn't displayed.
-  (set-face-attribute 'easy-escape-face nil :foreground "red")
-  (validate-setq easy-escape-character ?⑊))
+(use-package visual-regexp :ensure t
+  :commands (vr/mc-mark vr/query-replace vr/replace))
 
 (use-package yasnippet :ensure t
-  :config
+  :hook ((org-mode . yas-minor-mode)
+         (prog-mode . yas-minor-mode))
+  :config
+  (use-package yasnippet-snippets :ensure t)
   (validate-setq yas-indent-line 'fixed)
   (validate-setq yas-snippet-dirs
                  '("~/.emacs.d/yasnippets/personal"
                    "~/.emacs.d/yasnippets/yasnippet-snippets"))
-  (yas-reload-all))
-
-(use-package yasnippet-snippets :ensure t)
-
-(use-package ivy :ensure t)
-
-;; Display's yasnippet previous inline when cycling through results.
-(use-package ivy-yasnippet :ensure t)
-
-;; Use aya-create and aya-expand to
-;; Create a throw-away yasnippet for say:
-;; This is the ~rhythm of the ~night
-(use-package auto-yasnippet :ensure t)
+  (yas-reload-all)
+  (use-package ivy :ensure t)
+
+  ;; Display's yasnippet previous inline when cycling through results.
+  (use-package ivy-yasnippet :ensure t)
+
+  ;; Use aya-create and aya-expand to
+  ;; Create a throw-away yasnippet for say:
+  ;; This is the ~rhythm of the ~night
+  (use-package auto-yasnippet :ensure t))
 
 ;; Back to helm-swoop for now.
 ;; (use-package swiper :ensure t)


(use-package avy :ensure t
  :after key-chord
  :config
  (key-chord-define-global "jj" #'avy-goto-char-2)
  :bind (("M-s" . avy-goto-word-1)))

;; From http://emacsredux.com/blog/2013/04/28/switch-to-previous-buffer


;; make ELisp regular expressions more readable.
(use-package easy-escape :ensure t
  :hook (emacs-lisp-mode . easy-escape-minor-mode)
  ;; TODO: Figure out why face foreground isn't displayed.
  (set-face-attribute 'easy-escape-face nil :foreground "red")
  (validate-setq easy-escape-character ?⑊))

;; Logs commands in a separate buffer. Handy for screenscasts.
(use-package command-log-mode :ensure t)
