A Neovim plugin that enhances search results with customizable virtual text and floating window lenses.
nvim-hlslens is a Neovim plugin that enhances the built-in search experience by providing dynamic visual feedback for matched text. It overlays search results with customizable virtual text or floating windows, making it easier to navigate and understand search contexts within a file. The plugin solves the problem of unclear search result positioning and navigation in Neovim's default search highlighting.
Neovim users, particularly developers and power users who frequently perform text searches within files and want improved visual navigation aids. It is especially valuable for those using Neovim 0.7.2 or later and who customize their editor with plugins.
Developers choose nvim-hlslens for its unobtrusive yet highly informative visual aids, seamless integration with existing Neovim workflows and plugins, and extensive customization options for virtual text and floating windows. Its unique selling point is the dynamic display of search results in real-time as the cursor moves or during incremental search, which is not provided by default in Neovim.
Hlsearch Lens for Neovim
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Updates search results instantly during cursor movement or incremental search, providing immediate visual context for navigation, as highlighted in the Features section.
Offers full control over virtual text style and positioning, with an override_lens function for advanced hacking, allowing tailored search displays.
Automatically switches between virtual text and floating windows based on screen space, ensuring search lenses remain visible even in cramped layouts.
Integrates smoothly with plugins like vim-asterisk and nvim-ufo, enhancing multi-cursor and fold-aware search without conflicts, as shown in the Advanced Configuration section.
Requires Neovim 0.7.2 or later, with features like built-in command support needing 0.8.0+, limiting use for those on older or stable distributions.
Setup involves Lua scripting for key mappings and lens customization, which can be daunting for users unfamiliar with Neovim's API or plugin ecosystems.
The override_lens function is explicitly labeled as hackable with no backward compatibility guarantee, risking breakage in future updates and requiring maintenance.