Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/haya14busa/incsearch.vim
:flashlight: Improved incremental searching for Vim
https://github.com/haya14busa/incsearch.vim
incsearch vim vim-plugin
Last synced: 24 days ago
JSON representation
:flashlight: Improved incremental searching for Vim
- Host: GitHub
- URL: https://github.com/haya14busa/incsearch.vim
- Owner: haya14busa
- License: mit
- Created: 2014-08-09T08:55:54.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2022-05-13T15:18:39.000Z (over 2 years ago)
- Last Synced: 2024-09-29T02:05:57.864Z (about 1 month ago)
- Topics: incsearch, vim, vim-plugin
- Language: Vim script
- Homepage: https://medium.com/@haya14busa/incsearch-vim-is-dead-long-live-incsearch-2b7070d55250
- Size: 740 KB
- Stars: 1,107
- Watchers: 29
- Forks: 23
- Open Issues: 35
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- my-awesome-github-stars - haya14busa/incsearch.vim - :flashlight: Improved incremental searching for Vim (Vim Script)
README
> ⚠️ **Deprecated**
> This plugin is no longer necessary since the main functionality is now built into vim/neovim
>
> See:
> - https://medium.com/@haya14busa/incsearch-vim-is-dead-long-live-incsearch-2b7070d55250
> - https://github.com/vim/vim/pull/2198
> - Successor plugin: https://github.com/haya14busa/is.vim![incsearch.vim](https://raw.githubusercontent.com/haya14busa/i/master/incsearch.vim/incsearch_logo.png)
[![Build Status](https://travis-ci.org/haya14busa/incsearch.vim.svg?branch=master)](https://travis-ci.org/haya14busa/incsearch.vim)
[![Build status](https://ci.appveyor.com/api/projects/status/ks6gtsu46c1djoo6/branch/master)](https://ci.appveyor.com/project/haya14busa/incsearch-vim/branch/master)
[![](http://img.shields.io/github/tag/haya14busa/incsearch.vim.svg)](https://github.com/haya14busa/incsearch.vim/releases)
[![](http://img.shields.io/github/issues/haya14busa/incsearch.vim.svg)](https://github.com/haya14busa/incsearch.vim/issues)
[![](http://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[![](http://img.shields.io/badge/doc-%3Ah%20incsearch.txt-red.svg)](doc/incsearch.txt)![](https://raw.githubusercontent.com/haya14busa/i/master/incsearch.vim/incremental_regex_building.gif)
Introduction
------------
incsearch.vim incrementally highlights __ALL__ pattern matches unlike default
'incsearch'.Concepts
--------### 1. Simple
incsearch.vim provides simple improved incremental searching.### 2. Comfortable
You can use it comfortably like the default search(`/`, `?`).
It supports all modes (normal, visual, operator-pending mode), dot-repeat `.`,
`{offset}` flags, and so on.### 3. Useful
incsearch.vim aims to be simple, but at the same time, it offers useful features.#### Incremental regular expression editing
You can see all patterns that the given regular expression matches all at once
while incremental searching.Usage
-----### Installation
[Neobundle](https://github.com/Shougo/neobundle.vim) / [Vundle](https://github.com/gmarik/Vundle.vim) / [vim-plug](https://github.com/junegunn/vim-plug)
```vim
NeoBundle 'haya14busa/incsearch.vim'
Plugin 'haya14busa/incsearch.vim'
Plug 'haya14busa/incsearch.vim'
```[pathogen](https://github.com/tpope/vim-pathogen)
```
git clone https://github.com/haya14busa/incsearch.vim ~/.vim/bundle/incsearch.vim
```### Basic usage
```vim
map / (incsearch-forward)
map ? (incsearch-backward)
map g/ (incsearch-stay)
````(incsearch-stay)` doesn't move the cursor.
### Additional usages
README introduces some features, but please see [:h incsearch.vim](doc/incsearch.txt) for more information.#### Automatic :nohlsearch
![](https://raw.githubusercontent.com/haya14busa/i/master/incsearch.vim/incsearch_auto_nohlsearch.gif)
Farewell, `nnoremap :nohlsearch`!
This feature turns 'hlsearch' off automatically after searching-related motions.```vim
" :h g:incsearch#auto_nohlsearch
set hlsearch
let g:incsearch#auto_nohlsearch = 1
map n (incsearch-nohl-n)
map N (incsearch-nohl-N)
map * (incsearch-nohl-*)
map # (incsearch-nohl-#)
map g* (incsearch-nohl-g*)
map g# (incsearch-nohl-g#)
```### Emacs-like incsearch: move the cursor while incremental searching
![](https://cloud.githubusercontent.com/assets/3797062/3866152/40e11c48-1fc4-11e4-8cfd-ace452a19f90.gif)
Move the cursor to next/previous matches while incremental searching like Emacs.
| Mapping | description |
| ------------------------ | --------------------------------- |
| `(incsearch-next)` | to next match. default: `` |
| `(incsearch-prev)` | to prev match. default: `` |### Scroll-like feature while incremental searching
![](https://raw.githubusercontent.com/haya14busa/i/master/incsearch.vim/incremental_move_and_scroll.gif)
| Mapping | description |
| ------------------------ | --------------------------------- |
| `(incsearch-scroll-f)` | scroll to the next page match. default: `` |
| `(incsearch-scroll-b)` | scroll to the previous page match. default: `` |:tada: Version 2.0 :tada:
-------------------------
Now, incsearch.vim provides some (experimental) API.
You can implement or use very useful yet another search command :mag_right:### Experimental API
- `:h incsearch#go()`
- `:h incsearch-config`Starts incsearch.vim with your custom configuration. See help docs for more detail.
### Converter feature
- `:h incsearch-config-converters`
- The list of converter extensions: https://github.com/haya14busa/incsearch.vim/wiki/List-of-plugins-for-incsearch.vim#converter-extensions#### Example
```vim
function! s:noregexp(pattern) abort
return '\V' . escape(a:pattern, '\')
endfunctionfunction! s:config() abort
return {'converters': [function('s:noregexp')]}
endfunctionnoremap z/ incsearch#go(config())
```incsearch.vim x fuzzy https://github.com/haya14busa/incsearch-fuzzy.vim
![incsearch-fuzzy.gif](https://raw.githubusercontent.com/haya14busa/i/master/incsearch.vim/extensions/incsearch-fuzzy.gif)### Module extension
- `:h incsearch-config-modules`
- The list of module extentions: https://github.com/haya14busa/incsearch.vim/wiki/List-of-plugins-for-incsearch.vim#module-extensionsincsearch.vim x fuzzy x vim-easymotion https://github.com/haya14busa/incsearch-easymotion.vim
![incsearch-fuzzy-easymotion.gif](https://raw.githubusercontent.com/haya14busa/i/master/incsearch.vim/extensions/incsearch-fuzzy-easymotion.gif)Author
------
haya14busa (https://github.com/haya14busa)Special thanks
--------------
osyo-manga(https://github.com/osyo-manga), the author of
the custom command line library, https://github.com/osyo-manga/vital-over,
which incsearch.vim heavily depends on.Links
-----### VimConf2014
- [/-improved](https://docs.google.com/presentation/d/1ie2VCSt9onXmoY3v_zxJdMjYJSbAelVR-QExdUQK-Tw/pub?start=false&loop=false&delayms=3000&slide=id.g4e7add63c_05) at [VimConf 2014](http://vimconf.vim-jp.org/2014/)
- I talked in Japanese but wrote slide in English ;)Document
--------
[:h incsearch.vim](doc/incsearch.txt)