Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/peterrincker/vim-searchlight

Highlights the current search match
https://github.com/peterrincker/vim-searchlight

highlighting search vim vim-plugin

Last synced: 7 days ago
JSON representation

Highlights the current search match

Awesome Lists containing this project

README

        

# vim-searchlight

Searchlight = Search + Highlight

Vim-searchlight highlights Vim's current search match.

![alt text](/example.gif)

## CurSearch

Vim 8.2.4724+ supports `CurSearch`, as well as NeoVim 0.10+. In this case the `Searchlight` highlight group is linked to `CurSearch` and the rest of the plugin is disabled.

## Requirements

Searchlight requires `'hlsearch'` to be active and Vim 8+ with timer support. It is tested on Vim 8.1.

## Experimental

Searchlight is an experiment. Your mileage my vary. Might not work with other plugins or your `vimrc`.

## Installation

Follow your favorite plugin/runtimepath manager's instructions.

If you choose manual installation, use Vim's packages. Clone into one of the following directories:

$HOME/.vim/pack/bundle/start/ on Unix-like systems
$HOME\vimfiles\pack\bundle\start\ on Windows

## Commands

Use `:Searchlight` to enable and `:Searchlight!` to disable.

## Customization

Searchlight uses the `Searchlight` highlight group. It defaults to `ErrorMsg`. Change by doing:

highlight link Searchlight Incsearch

Searchlight's highlighting can be triggered manually via `:1Searchlight`. This might be required for some mappings or plugin compatibility.

Searchlight is activated by default on startup. To prevent this set `g:searchlight_disable_on_startup`. e.g.

let g:searchlight_disable_on_startup = 1

## Background

This is an experiment to implement current search highlighting without any mappings. Thank-you to both [vim-searchhi](https://github.com/qxxxb/vim-searchhi) & [vim-searchant](https://github.com/timakro/vim-searchant) which inspired this plugin.

## Known Issues

When using any search command like: `*`, `#`, etc at the beginning of a match and it is the only match and therefore will not cause the cursor to move, will not trigger searchlight.

One solution would be to trigger an update with mappings like so:

nnoremap * *:1Searchlight
nnoremap # #:1Searchlight

However, this goes against the goal of having no mappings. Sad panda