Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vjump.el — Visual Jump Tree

Overview

vjump.el is a single-file Emacs package that maintains a session-scoped jump history as a tree and visualises it with the same horizontal UI as vundo.

Going back and then jumping elsewhere creates a branch — the discarded “future” is preserved, never lost.

○──○──○──○
│     └──●  ← current position (bar.py:93)
└──○──○

Features

  • Tree-shaped jump history (never discards old branches)
  • vundo-style horizontal visualizer with Unicode glyphs
  • Live jumping: the originating window follows you as you navigate the tree
  • Three detection layers: push-mark advice, large cursor movements (>10 lines), buffer switches
  • Session-only (no persistence by design)
  • Single file, no external dependencies

Requirements

  • Emacs 28.1+

Installation

With use-package and package-vc (Emacs 29+)

(use-package vjump
  :vc (:url "https://github.com/JNSFilipe/vjump" :rev :newest)
  :config
  (vjump-mode 1)
  :bind (("C-x j" . vjump-visualize)))

Manual

Clone the repo and add it to your load path:

(add-to-list 'load-path "/path/to/vjump")
(require 'vjump)
(vjump-mode 1)
(global-set-key (kbd "C-x j") #'vjump-visualize)

Usage

Enable tracking globally:

(vjump-mode 1)

Then call M-x vjump-visualize (or your keybinding) to open the tree.

Tree buffer keys

KeyAction
f / Forward to first child
b / Backward to parent
n / Next sibling
p / Previous sibling
aBack to nearest branch point
eForward to tip of branch
q / C-gQuit (roll back to entry point)
RETConfirm and close

Public commands

CommandDescription
vjump-visualizeOpen the *vjump-tree* side window
vjump-go-backTree-aware C-o (move to parent node)
vjump-go-forwardTree-aware C-i (move to newest child)

Customization

VariableDefaultDescription
vjump-distance-threshold10Lines of movement counted as a jump
vjump-window-max-height3Maximum height of the side window
vjump-window-side'bottomSide where the window appears
vjump-roll-back-on-quittRoll back on q (vs. stay)
vjump-glyph-alistUnicodeTree drawing characters

License

GPL-3.0-or-later. The draw engine is a port of vundo by Yuan Fu (casouri), used under the same license.

About

Single-file Emacs package that maintains a session-scoped jump history as a tree and visualises it with the same horizontal UI as vundo.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages