   :config
   (evil-mode 1)
   (evil-select-search-module 'evil-search-module 'evil-search)
-
-  ;; evil-anzu is strangely slow on startup. Byte compiling doesn't help.
-  ;; We use this to lazy load it instead.
-  (defun doom*evil-search (&rest _)
-    (require 'evil-anzu)
-    (advice-remove 'evil-ex-start-search 'doom*evil-search))
-  (advice-add 'evil-ex-start-search :before 'doom*evil-search)
-
-  ;; Reset evil-mode in the messages buffer, because it opens before evil
-  ;; normalizes its keymaps, so none of the custom keybindings work in it.
-  (add-hook! emacs-startup
-    (with-current-buffer "*Messages*"
-      (evil-mode -1)
-      (evil-mode +1)))
 
   (mapc (lambda (r) (evil-set-initial-state (car r) (cdr r)))
         '((compilation-mode       . normal)


  ;;; Evil hacks
  ;; Don't interfere with neotree + auto move to new split
  (advice-add 'evil-window-split :around 'doom*evil-window-split)
  (advice-add 'evil-window-vsplit :around 'doom*evil-window-vsplit)
  ;; Integrate evil's command window into shackle
  (advice-add 'evil-command-window :override 'doom*evil-command-window)

  (add-hook! isearch-mode     (setq echo-keystrokes 0))
  (add-hook! isearch-mode-end (setq echo-keystrokes 0.02))

  (def-repeat! evil-ex-search-next evil-ex-search-next evil-ex-search-previous)
  (def-repeat! evil-ex-search-previous evil-ex-search-next evil-ex-search-previous)
  (def-repeat! evil-ex-search-forward evil-ex-search-next evil-ex-search-previous)
