     :config
     (spacemacs|diminish aggressive-indent-mode " Ⓘ" " I")))
 
-(defun spacemacs/init-anzu ()
-  (use-package anzu
+(defun spacemacs/init-evil-anzu ()
+  (use-package evil-anzu
     :init
     (global-anzu-mode t)
     :config
     (progn
       (spacemacs|hide-lighter anzu-mode)
-
-      (defun spacemacs/anzu-update-mode-line (here total)
-        "Custom update function which does not propertize the status."
-        (when anzu--state
-          (let ((status (cl-case anzu--state
-                          (search (format "(%s/%d%s)"
-                                          (anzu--format-here-position here total)
-                                          total (if anzu--overflow-p "+" "")))
-                          (replace-query (format "(%d replace)" total))
-                          (replace (format "(%d/%d)" here total)))))
-            status)))
-
-      (defvar spacemacs-anzu-timer nil
-        "The current timer for ephemeral anzu display.")
-      (defun spacemacs/anzu-ephemeral-display ()
-        "Show anzu status for a limited amount of time."
-        (interactive)
-        (setq spacemacs-anzu-timer nil)
-        (anzu--reset-mode-line))
-      (defun spacemacs/anzu-evil-search (arg func)
-        "Show anzu status when pressing `n` or `N`"
-        (anzu--cons-mode-line-search)
-        (funcall func arg)
-        (let ((query (if evil-regexp-search
-                         (car-safe regexp-search-ring)
-                       (car-safe search-ring))))
-          (anzu--update query))
-        (if spacemacs-anzu-timer (cancel-timer spacemacs-anzu-timer))
-        (setq spacemacs-anzu-timer
-              (run-at-time "2 sec" nil 'spacemacs/anzu-ephemeral-display)))
-      (evil-define-command spacemacs/anzu-evil-search-next (arg)
-        "Show anzu status when executing evil-search-next"
-        :repeat ignore
-        (interactive "P")
-        (spacemacs/anzu-evil-search arg 'evil-search-next))
-      (evil-define-command spacemacs/anzu-evil-search-previous (arg)
-        "Show anzu status when executing evil-search-previous"
-        :repeat ignore
-        (interactive "P")
-        (spacemacs/anzu-evil-search arg 'evil-search-previous))
-      ;; (define-key evil-normal-state-map "n" 'spacemacs/anzu-evil-search-next)
-      ;; (define-key evil-normal-state-map "N" 'spacemacs/anzu-evil-search-previous)
-      (define-key evil-motion-state-map "n" 'spacemacs/anzu-evil-search-next)
-      (define-key evil-motion-state-map "N" 'spacemacs/anzu-evil-search-previous)
-
       (setq anzu-search-threshold 1000
-            anzu-cons-mode-line-p nil
-            anzu-mode-line-update-function 'spacemacs/anzu-update-mode-line))))
+            anzu-cons-mode-line-p nil)
+      ;; powerline integration
+      (when (configuration-layer/package-declaredp 'powerline)
+        (defun spacemacs/anzu-update-mode-line (here total)
+          "Custom update function which does not propertize the status."
+          (when anzu--state
+            (let ((status (cl-case anzu--state
+                            (search (format "(%s/%d%s)"
+                                            (anzu--format-here-position here total)
+                                            total (if anzu--overflow-p "+" "")))
+                            (replace-query (format "(%d replace)" total))
+                            (replace (format "(%d/%d)" here total)))))
+              status)))
+        (setq anzu-mode-line-update-function 'spacemacs/anzu-update-mode-line)))))
 
 (defun spacemacs/init-auto-complete ()
   (use-package auto-complete

    elisp-slime-nav
    eldoc
    evil
    evil-args
    evil-exchange
    evil-iedit-state

    ace-jump-mode
    ag
    aggressive-indent
    async
    auto-complete
    auto-complete-clang
