GitHub - haya14busa/incsearch.vim: Improved incremental searching for Vim
source link: https://github.com/haya14busa/incsearch.vim
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
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 'haya14busa/incsearch.vim' Plugin 'haya14busa/incsearch.vim' Plug 'haya14busa/incsearch.vim'
git clone https://github.com/haya14busa/incsearch.vim ~/.vim/bundle/incsearch.vim
Basic usage
map / <Plug>(incsearch-forward) map ? <Plug>(incsearch-backward) map g/ <Plug>(incsearch-stay)
<Plug>(incsearch-stay)
doesn't move the cursor.
Additional usages
README introduces some features, but please see :h incsearch.vim for more information.
Automatic :nohlsearch
Farewell, nnoremap <Esc><Esc> :<C-u>nohlsearch<CR>
!
This feature turns 'hlsearch' off automatically after searching-related motions.
" :h g:incsearch#auto_nohlsearch set hlsearch let g:incsearch#auto_nohlsearch = 1 map n <Plug>(incsearch-nohl-n) map N <Plug>(incsearch-nohl-N) map * <Plug>(incsearch-nohl-*) map # <Plug>(incsearch-nohl-#) map g* <Plug>(incsearch-nohl-g*) map g# <Plug>(incsearch-nohl-g#)
Emacs-like incsearch: move the cursor while incremental searching
Move the cursor to next/previous matches while incremental searching like Emacs.
Mapping description<Over>(incsearch-next)
to next match. default: <Tab>
<Over>(incsearch-prev)
to prev match. default: <S-Tab>
Scroll-like feature while incremental searching
Mapping description<Over>(incsearch-scroll-f)
scroll to the next page match. default: <C-j>
<Over>(incsearch-scroll-b)
scroll to the previous page match. default: <C-k>
Version 2.0
Now, incsearch.vim provides some (experimental) API. You can implement or use very useful yet another search command
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
function! s:noregexp(pattern) abort return '\V' . escape(a:pattern, '\') endfunction function! s:config() abort return {'converters': [function('s:noregexp')]} endfunction noremap <silent><expr> z/ incsearch#go(<SID>config())
incsearch.vim x fuzzy https://github.com/haya14busa/incsearch-fuzzy.vim
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-extensions
incsearch.vim x fuzzy x vim-easymotion https://github.com/haya14busa/incsearch-easymotion.vim
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 at VimConf 2014
- I talked in Japanese but wrote slide in English ;)
Document
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK