A Neovim plugin that displays available cursor motions using virtual text and gutter signs for enhanced navigation.
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.
Neovim users who want to improve their navigation workflow, especially those learning Vim motions or seeking to reduce reliance on memorization.
It provides real-time visual feedback for navigation options, making Vim's powerful motion system more discoverable and intuitive without altering core behavior.
💭👀precognition.nvim - Precognition uses virtual text and gutter signs to show available motions.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
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.
Offers persistent toggle and temporary peek modes via :Precognition commands or Lua API, allowing users to control hint visibility based on workflow needs.
Configurable priorities for hints in the opts table enable users to hide or prioritize specific motions like w or G, preventing clutter.
The disabled_fts option lets users disable hints for filetypes like 'startify', maintaining clean interfaces where visual noise is unwanted.
Setting up hint priorities and highlight colors requires Lua knowledge, as seen in the opts example, which may intimidate users new to Neovim configuration.
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.
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.