A (Neo)Vim plugin that automatically highlights all occurrences of the word under the cursor using LSP, Tree-sitter, or regex.
vim-illuminate is a plugin for Neovim and Vim that automatically highlights all other occurrences of the word currently under the cursor in the buffer. It solves the problem of visually tracking variables, functions, or symbols across a file, making code easier to read and navigate. The plugin supports multiple backends like LSP, Tree-sitter, and regex for accurate reference detection.
Vim and Neovim users who write code and want enhanced visual feedback and navigation within their files, particularly developers working in languages with complex symbol relationships.
Developers choose vim-illuminate for its zero-configuration setup, intelligent multi-provider support, and non-intrusive highlighting that mimics features found in IDEs like IntelliJ and VSCode, all within a lightweight Vim-native plugin.
illuminate.vim - (Neo)Vim plugin for automatically highlighting other uses of the word under the cursor using either LSP, Tree-sitter, or regex matching.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works out-of-the-box immediately after installation with no configuration needed, leveraging intelligent providers like LSP and Tree-sitter for accurate matches.
Provides default keymaps (<a-n> and <a-p>) to jump between highlighted references, enhancing code navigation efficiency without manual searching.
Offers extensive configuration for filetypes, modes, and syntax, allowing precise tailoring of highlighting behavior through Lua or Vimscript settings.
Includes a text object (<a-i>) for easy manipulation of the illuminated word, streamlining editing tasks like deletion or yanking around symbols.
Active development and newer features are focused on Neovim, with Vim support relying on a deprecated implementation that may not receive updates or optimizations.
Only highlights references within the current buffer, not across multiple files, which limits its utility for cross-file code analysis or project-wide symbol tracking.
While simple to start, deep customization requires understanding of Vim highlight groups and Lua configuration, which can be overwhelming for users unfamiliar with these systems.
Automatically disables under-cursor highlighting on files over 10,000 lines (configurable via large_file_cutoff), potentially reducing functionality in large codebases to maintain performance.