diff --git a/README.md b/README.md
index ce1c144..f7e5b76 100644
--- a/README.md
+++ b/README.md
@@ -279,7 +279,6 @@ Keybinding | Description
F12 | Toggle the Emacs menu bar.
C-x g | Open Magit's status buffer.
M-Z | Zap up to char.
-C-c J or Super-> | Switch between buffers with [`ace-jump-buffer`](https://github.com/waymondo/ace-jump-buffer)
C-= | Run `expand-region` (incremental text selection).
C-a | Run `prelude-move-beginning-of-line`. Read [this](http://emacsredux.com/blog/2013/05/22/smarter-navigation-to-the-beginning-of-a-line/) for details.
@@ -429,9 +428,9 @@ buffer. Passing prefix argument **BEFORE** =helm-M-x= **has no effect**.
Keybinding | Description
-------------------|----------------------------------------------
-jj | Jump to the beginning of a word(`ace-jump-word-mode`)
-jk | Jump to a character(`ace-jump-char-mode`)
-jl | Jump to the beginning of a line(`ace-jump-line-mode`)
+jj | Jump to the beginning of a word(`avy-goto-word-1`)
+jk | Jump to a character(`avy-goto-char`)
+jl | Jump to the beginning of a line(`avy-goto-line`)
JJ | Jump back to previous buffer(`prelude-switch-to-previous-buffer`)
uu | View edits as a tree(`undo-tree-visualize`)
xx | Executed extended command(`execute-extended-command`)
diff --git a/core/prelude-editor.el b/core/prelude-editor.el
index 3afe162..138d51e 100644
--- a/core/prelude-editor.el
+++ b/core/prelude-editor.el
@@ -259,6 +259,12 @@ The body of the advice is in BODY."
(setq projectile-cache-file (expand-file-name "projectile.cache" prelude-savefile-dir))
(projectile-global-mode t)
+;; avy allows us to effectively navigate to visible things
+(require 'avy-jump)
+(setq avy-background t)
+(setq avy-goto-char-style 'at)
+(setq avy-goto-word-style 'at)
+
;; anzu-mode enhances isearch & query-replace by showing total matches and current match position
(require 'anzu)
(diminish 'anzu-mode)
diff --git a/core/prelude-global-keybindings.el b/core/prelude-global-keybindings.el
index 5bfa1c3..cd71c79 100644
--- a/core/prelude-global-keybindings.el
+++ b/core/prelude-global-keybindings.el
@@ -112,10 +112,8 @@
(global-set-key (kbd "C-=") 'er/expand-region)
-(global-set-key (kbd "C-c j") 'ace-jump-mode)
-(global-set-key (kbd "s-.") 'ace-jump-mode)
-(global-set-key (kbd "C-c J") 'ace-jump-buffer)
-(global-set-key (kbd "s->") 'ace-jump-buffer)
+(global-set-key (kbd "C-c j") 'avy-goto-word-1)
+(global-set-key (kbd "s-.") 'avy-goto-word-1)
(global-set-key (kbd "s-w") 'ace-window)
(provide 'prelude-global-keybindings)
diff --git a/core/prelude-packages.el b/core/prelude-packages.el
index 6643ae0..b43b7b7 100644
--- a/core/prelude-packages.el
+++ b/core/prelude-packages.el
@@ -42,9 +42,7 @@
(package-initialize)
(defvar prelude-packages
- '(ace-jump-mode
- ace-jump-buffer
- ace-window
+ '(avy
anzu
browse-kill-ring
dash
diff --git a/modules/prelude-evil.el b/modules/prelude-evil.el
index e0d705b..1998fbc 100644
--- a/modules/prelude-evil.el
+++ b/modules/prelude-evil.el
@@ -122,8 +122,8 @@
(setq evil-shift-width 2)
-;;; enable ace-jump mode with evil-mode
-(define-key evil-normal-state-map (kbd "SPC") 'ace-jump-mode)
+;;; enable avy with evil-mode
+(define-key evil-normal-state-map (kbd "SPC") 'avy-goto-word-1)
;;; snagged from Eric S. Fraga
;;; http://lists.gnu.org/archive/html/emacs-orgmode/2012-05/msg00153.html
diff --git a/modules/prelude-key-chord.el b/modules/prelude-key-chord.el
index d329ee0..fbaf5b7 100644
--- a/modules/prelude-key-chord.el
+++ b/modules/prelude-key-chord.el
@@ -35,9 +35,9 @@
(require 'key-chord)
-(key-chord-define-global "jj" 'ace-jump-word-mode)
-(key-chord-define-global "jl" 'ace-jump-line-mode)
-(key-chord-define-global "jk" 'ace-jump-char-mode)
+(key-chord-define-global "jj" 'avy-goto-word-1)
+(key-chord-define-global "jl" 'avy-goto-line)
+(key-chord-define-global "jk" 'avy-goto-char)
(key-chord-define-global "JJ" 'prelude-switch-to-previous-buffer)
(key-chord-define-global "uu" 'undo-tree-visualize)
(key-chord-define-global "xx" 'execute-extended-command)