SkillAgentSearch skills...

Hyperbole

GNU Hyperbole: The Everyday, Hypertextual Information Manager

Install / Use

/learn @rswgnu/Hyperbole
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

GNU Hyperbole 9.0.2pre - The Everyday Hypertextual Information Manager

[ If you are looking for the documentation for the stable release look here.]

[We work on Hyperbole as a gift to the Emacs community and request you send us a thank you or a testimonial describing your usage if you like Hyperbole to rsw@gnu.org].

[TOC]

Hyperbole screenshot of the Koutliner, DEMO file and HyRolo

Reference Manual

Hyperbole has many features you can explore interactively or by reading sections of the reference manual:

Videos

If you prefer video introductions, visit the videos linked to below; otherwise, skip to the next section.

Articles

Summary

GNU Hyperbole (pronounced Ga-new Hi-per-bo-lee), or just Hyperbole, is like Markdown for hypertext. Hyperbole automatically recognizes dozens of common, pre-existing patterns in any buffer regardless of mode and can instantly activate them as hyperbuttons with a single key: email addresses, URLs, grep -n outputs, programming backtraces, sequences of Emacs keys, programming identifiers, Texinfo and Info cross-references, Org links, Markdown links and on and on. All you do is load Hyperbole and then your text comes to life with no extra effort or complex formatting.

Hyperbole includes easy-to-use, powerful hypertextual button types without the need to learn a markup language. Hyperbole's button types are written in Lisp and can be wholly independent of the web, i.e. web links are one type of Hyperbole link, not fundamental to its link architecture. However, Hyperbole is a great assistant when editing HTML or Javascript or when browsing web pages and links.

Hyperbole comes pre-built with most of the implicit button types you will need but with a little extra effort and a few lines of code (or even just a few words), you can define your own implicit button types to recognize your specific buttons and then activate them anywhere in Emacs. You press a single key, {M-RET} by default, on any kind of Hyperbole button to activate it, so you can rely on your muscle memory and let the computer do the hard work of figuring out what to do. {C-u M-RET} shows you what any button will do in any context before you activate it, so you can always be sure of what you are doing when needed or if some emails you a button (you can do that too).

Hyperbole is something to be experienced and interacted with, not understood from reading alone. It installs normally as a single Emacs package with no dependencies outside of standard Emacs libraries. Most of Hyperbole is a single global minor mode that you can activate and deactivate at will. And it can be uninstalled quickly as well if need be, so there is no risk to giving it a spin.

Once you have it installed and activated {C-u M-x hyperbole-mode RET}, try the interactive demo with {C-h h d d}. In fact, if you have Hyperbole loaded, you can press {M-RET} inside any of the brace delimited series of keys you see in this document and it will execute them on-the-fly (easy keyboard-macro style buttons in any text).

Hyperbole can dramatically increase your productivity and greatly reduce the number of keyboard/mouse keys you'll need to work efficiently.

In short, Hyperbole lets you:

  1. Quickly create hyperlink buttons either from the keyboard or by dragging between a source and destination window with a mouse button depressed. Later, activate buttons by pressing/clicking on them or by giving the name of the button.

  2. Activate many kinds of implicit buttons recognized by context within text buffers, e.g. URLs, grep output lines, and git commits. A single key or mouse button automatically does the right thing in dozens of contexts; just press and go.

<img src="man/im/action-key-animation.gif" alt="Hyperbole Animation of Action Key Contexts">
  1. Build outlines with multi-level numbered outline nodes, e.g. 1.4.8.6, that all renumber automatically as any node or tree is moved in the outline. Each node also has a permanent hyperlink anchor that you can reference from any other node;

  2. Manage all your contacts or record-based, unstructured nodes quickly with hierarchical categories; each entry can have embedded hyperbuttons of any type. Or create an archive of documents with hierarchical entries and use the same search mechanism to quickly find any matching entry;

  3. Use single keys to easily manage your Emacs windows or frames and quickly retrieve saved window and frame configurations;

  4. Search for things in your current buffers, in a directory tree or across major web search engines with the touch of a few keys.

The common thread in all these features is making retrieval, management and display of information fast and easy. That is Hyperbole's purpose. It may be broad but it works amazingly well. If it is textual information, Hyperbole can work with it. In contrast to Org mode, Hyperbole works across all Emacs modes and speeds your work by turning all kinds of references into clickable hyperlinks and allowing you to create new hyperlinks by dragging between two windows. The Hyperbole wiki page explains the many ways it differs from and is complementary to Org mode. Hyperbole is designed to work with Org mode, so use them both across your tasks.

Hyperbole allows hypertext buttons to be embedded within unstructured and structured files, mail messages and news articles. It offers intuitive keyboard and mouse-based control of information display within multiple windows. It also provides point-and-click access to World-Wide Web URLs, Info manuals, ftp archives, etc.

Hyperbole works well on GNU Emacs 28 or above. It is designed and written by Bob Weiner. It is maintained by him and Mats Lidell. Its main distribution site is: https://www.gnu.org/software/hyperbole/. If any term in here is new or unfamiliar to you, you can look it up in the Hyperbole Glossary.

Hyperbole is available for download and installation through the GNU Emacs package manager.

Unlock the power of GNU Hyperbole to make your information work for you. One system. One language. One manual. One solution. Learn Hyperbole and start moving further, faster.

Installation

Once you have Emacs set up at your site, GNU Hyperbole may be installed by using the Emacs Package Manager. If you are not familiar with it, see the Packages section of the GNU Emacs Manual, Emacs Packages.

If you have Hyperbole 5.10 or higher already installed and simply want to upgrade it, invoke the Emacs Package Manager with {M-x list-packages RET}, then use the {U} key followed by the {x} key to upgrade all out-of-date packages, Hyperbole among them. Then skip the text below and move on to the next section, Invocation.

Otherwise, to download and install the Hyperbole package, you should add several lines to your personal Emacs initialization file, typically "~/.emacs". For further details, see [Emacs Init File](https://www.g

View on GitHub
GitHub Stars185
CategoryDevelopment
Updated1d ago
Forks12

Languages

Emacs Lisp

Security Score

100/100

Audited on Mar 31, 2026

No findings