Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Neovim
  3. precognition.nvim

precognition.nvim

MITLuav1.3.0

A Neovim plugin that displays available cursor motions using virtual text and gutter signs for enhanced navigation.

GitHubGitHub
1.4k stars16 forks0 contributors

What is precognition.nvim?

precognition.nvim is a Neovim plugin that visually displays available cursor motions using virtual text and gutter signs. It helps users navigate buffers more efficiently by showing where motions like word jumps, line ends, and paragraph moves will take them, reducing the need to recall exact keybindings.

Target Audience

Neovim users who want to improve their navigation workflow, especially those learning Vim motions or seeking to reduce reliance on memorization.

Value Proposition

It provides real-time visual feedback for navigation options, making Vim's powerful motion system more discoverable and intuitive without altering core behavior.

Overview

💭👀precognition.nvim - Precognition uses virtual text and gutter signs to show available motions.

Use Cases

Best For

  • Learning Vim motions without constant reference to documentation
  • Reducing keystroke errors when navigating complex codebases
  • Enhancing productivity by visualizing jump targets before executing motions
  • Customizing motion hints to match personal workflow preferences
  • Temporarily previewing navigation options with peek mode
  • Disabling hints for specific filetypes to maintain clean interfaces

Not Ideal For

  • Vim power users who have already internalized motions and prefer a distraction-free, minimalist interface
  • Environments with strict performance constraints where virtual text rendering could impact smoothness in large files
  • Teams relying heavily on custom motion plugins or keybindings that might conflict with hint priorities
  • Projects using older Neovim versions (<0.9) or Vim without Neovim's virtual text capabilities

Pros & Cons

Pros

Motion Visualization Clarity

The plugin displays both vertical and horizontal motions with virtual text and gutter signs, making navigation targets visible as shown in the README's screenshot, reducing reliance on memorization.

Flexible Toggle Modes

Offers persistent toggle and temporary peek modes via :Precognition commands or Lua API, allowing users to control hint visibility based on workflow needs.

Customizable Hint Priorities

Configurable priorities for hints in the opts table enable users to hide or prioritize specific motions like w or G, preventing clutter.

Filetype-Specific Disabling

The disabled_fts option lets users disable hints for filetypes like 'startify', maintaining clean interfaces where visual noise is unwanted.

Cons

Configuration Complexity

Setting up hint priorities and highlight colors requires Lua knowledge, as seen in the opts example, which may intimidate users new to Neovim configuration.

Limited Motion Coverage

The plugin only covers built-in motions listed in hints and gutterHints; custom or plugin-based motions aren't supported out-of-the-box, requiring manual integration per the interface.lua file.

Potential Performance Overhead

Rendering virtual text and gutter signs for every motion hint could add computational load in large buffers, though the README doesn't address optimization or benchmarks.

Frequently Asked Questions

Quick Stats

Stars1,380
Forks16
Contributors0
Open Issues0
Last commit26 days ago
CreatedSince 2023

Tags

#productivity#cursor-movement#vim-motions#neovim-plugin#editor-enhancement#virtual-text#navigation

Built With

N
Neovim
L
Lua

Included in

Neovim20.6k
Auto-fetched 1 day ago

Related Projects

leap.nvimleap.nvim

Neovim's answer to the mouse 🦘

Stars5,029
Forks53
Last commit5 days ago
flash.nvimflash.nvim

Navigate your code with search labels, enhanced character motions and Treesitter integration

Stars4,210
Forks89
Last commit1 month ago
lightspeed.nvimlightspeed.nvim

deprecated in favor of leap.nvim

Stars1,553
Forks27
Last commit2 years ago
nvim-spidernvim-spider

Use the w, e, b motions like a spider. Move by subwords and skip insignificant punctuation.

Stars899
Forks18
Last commit18 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub