Skip to content

Version 2.0

Compare
Choose a tag to compare
@haya14busa haya14busa released this 05 Jul 21:59
· 55 commits to master since this release

2.0.0 2015-07-06

  1. |incsearch#go()| and |incsearch-config| as a API
  2. Pattern converter feature |incsearch-config-converters|
  3. Injection of vital-over module |incsearch-config-modules|
  4. 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-fuzzy.gif

incsearch-fuzzyspell

incsearch-fuzzyspell.gif

incsearch-easymotion

incsearch-easymotion.gif

incsearch-migemo (for Japanese user)

incsearch-migemo.gif

Extensions are composable

See

  • :h incsearch#go()
  • :h incsearch-config

incremental fuzzymotion (incsearch.vim x fuzzy x vim-easymotion)

incsearch-fuzzy-easymotion.gif

" 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