 
   (bind! :map evil-command-window-mode-map :n [escape] 'kill-buffer-and-window)
 
-  (defadvice evil-ex-hl-do-update-highlight (around evil-ex-hl-shut-up activate)
-    "Silence 'Error running timer `evil-ex-hl-do-update-highlight': (error
-\"Invalid use of `\\' in replacement text\") errors.
-
-See https://bitbucket.org/lyro/evil/issue/527"
-    (ignore-errors ad-do-it))
-
   ;; modes to map to different default states
   (dolist (mode-map '((cider-repl-mode   . emacs)
                       (comint-mode       . emacs)
                       (term-mode         . emacs)
-                      (fundamental-mode  . motion)
                       (help-mode         . normal)
                       (message-mode      . normal)
-                      (compilation-mode  . normal)
-                      (text-mode         . normal)))
+                      (compilation-mode  . normal)))
     (evil-set-initial-state `,(car mode-map) `,(cdr mode-map)))
 
   (progn ; evil hacks

  :functions (iedit-current-occurrence-string iedit-restrict-region)
  :commands (evil-iedit-state evil-iedit-state/iedit-mode)
  :config
  (bind! :map evil-iedit-state-map ; Don't interfere with evil-snipe
         "s"   nil
         "S"   nil
         "V"   'evil-visual-line
         "C"   'evil-iedit-state/substitute  ; instead of s/S
         "za"  'iedit-toggle-unmatched-lines-visible)
  (bind! :v "SPC" 'narf:iedit-restrict-to-region))

(use-package evil-indent-textobject
  :commands (evil-indent-i-indent

    (defadvice evil-window-vsplit (after evil-window-vsplit-jump activate)
      (evil-window-right 1))

    ;; Restore vimmish ex-mode keymaps in isearch
    ;; Hide keystroke display while isearch is active
    (add-hook! isearch-mode     (setq echo-keystrokes 0))
    (add-hook! isearch-mode-end (setq echo-keystrokes 0.02))
    (bind! :map evil-ex-search-keymap
           "C-w" 'evil-delete-backward-word
           "C-u" 'evil-delete-whole-line)))

;; evil plugins
(use-package evil-anzu)
