Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here


Quickly follow links in Emacs

Subscribe to updates I use ace-link

Statistics on ace-link

Number of watchers on Github 86
Number of open issues 1
Average time to close an issue 7 days
Main language Emacs Lisp
Average time to merge a PR about 11 hours
Open pull requests 0+
Closed pull requests 5+
Last commit over 1 year ago
Repo Created over 5 years ago
Repo Last Updated over 1 year ago
Size 1.1 MB
Organization / Authorabo-abo
Latest Release0.2.0
Page Updated
Do you use ace-link? Leave a review!
View ace-link activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating ace-link for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)


GNU Emacs package for selecting a link to jump to

What and why

Currently, to jump to a link in an Info-mode or help-mode or woman-mode or org-mode or eww-mode or compilation-mode or goto-address-mode buffer, you can tab through the links to select the one you want. This is an O(N) operation, where the N is the amount of links. This package turns this into an O(1) operation, or at least O(log(N)) if you manage to squeeze thousands of links in one screen. It does so by assigning a letter to each link using avy.


Either clone from here or install from MELPA (recommended).


Put this in your ~/.emacs:


This will bind o to:

  • ace-link-info in Info-mode
  • ace-link-help in help-mode
  • ace-link-woman in woman-mode
  • ace-link-eww in eww-mode
  • ace-link-compilation in compilation-mode
  • ace-link-custom in custom-mode-map

This shortcut is usually unbound and is very close to l which is the default shortcut to go back.

To bind ace-link-org, you can use something like this:

(define-key org-mode-map (kbd "M-o") 'ace-link-org)

To bind ace-link-gnus, you can use something like this:

(define-key gnus-summary-mode-map (kbd "M-o") 'ace-link-gnus)
(define-key gnus-article-mode-map (kbd "M-o") 'ace-link-gnus)

If you use ert, ace-link-help also works on ert results:

(require 'ert)
(define-key ert-results-mode-map "o" 'ace-link-help)

To bind 'ace-link-addr' in all modes (useful when using goto-address-mode or goto-address-prog-mode):

(global-set-key (kbd "M-o") 'ace-link-addr)


Just press o when you're in Info-mode or help-mode or woman-mode or eww-mode or compilation-mode.

Here's a screencast of browsing Info using ace-link-info:


ace-link list of languages used
ace-link latest release notes
0.2.0 ace-link 0.2.0

New features

ace-link-eww is now available for eww-mode. With ace-link-setup-default it's bound to o, just like in other modes.


  • All commands will now gray out only the selected window, not all windows.
  • ace-link-setup-default will now use eval-after-load instead of require, so that no new code needs to be loaded.
Other projects in Emacs Lisp