Version 2.0
2.0.0 2015-07-06
- |incsearch#go()| and |incsearch-config| as a API
- Pattern converter feature |incsearch-config-converters|
- Injection of vital-over module |incsearch-config-modules|
- External extention plugins like fuzzy, easymotion, migemo...
Now, incsearch.vim is more extendable for better search experience!
Extensions
List of plugins for incsearch.vim · haya14busa/incsearch.vim Wiki
incsearch-fuzzy
incsearch-fuzzyspell
incsearch-easymotion
incsearch-migemo (for Japanese user)
Extensions are composable
See
:h incsearch#go()
:h incsearch-config
incremental fuzzymotion (incsearch.vim x fuzzy x vim-easymotion)
" incsearch.vim x fuzzy x vim-easymotion
function! s:config_easyfuzzymotion(...) abort
return extend(copy({
\ 'converters': [incsearch#config#fuzzy#converter()],
\ 'modules': [incsearch#config#easymotion#module()],
\ 'keymap': {"\<CR>": '<Over>(easymotion)'},
\ 'is_expr': 0,
\ 'is_stay': 1
\ }), get(a:, 1, {}))
endfunction
noremap <silent><expr> <Space>/ incsearch#go(<SID>config_easyfuzzymotion())
You can implement your own extensions
NOTE: Some details of API may change
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())
Enjoy 💓 incsearch.vim