Skip to content

Releases: haya14busa/incsearch.vim

Bug fix release

31 Oct 22:48
Compare
Choose a tag to compare

2.0.1 2015-10-31

  1. Fix can't turn off |g:incsearch#consistent_n_direction|. ref: #95
  2. Fix ? pattern handling for backward search. ref: #92

Version 2.0

05 Jul 21:59
Compare
Choose a tag to compare

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

v1.2.1

28 Jun 12:25
Compare
Choose a tag to compare

1.2.1 2015-06-26

  1. Add |incsearch-config-keymap| option to |incsearch-config|
  2. Some refactoring

Example

function! s:config() abort
  return {
  \   'keymap': {
  \      "\<Tab>": {
  \        'key': '<Over>(buffer-complete)',
  \        'noremap': 1
  \      },
  \      "\<C-j>": "\<CR>"
  \   }
  \ }
endfunction

noremap <expr> z/ incsearch#go(<SID>config())

v1.2.0: Steady Improvement

07 Jun 13:42
Compare
Choose a tag to compare

1.2.0 2015-06-06

  1. Now, fix unexpected key input with |feedkeys()| by auto-nohlsearch
    feature (|incsearch-additional-usage|) #82
  2. Avoid Unneeded loading for mappings like |(incsearch-nohl)|
    related with #81
  3. Fix |nowrapscan| handling #83
  4. Add |incsearch-config-prompt| option
  5. auto-nohlsearch on |CursorMoved| after |InsertLeave| related with #80
  6. Some refactoring

v1.1.0: Experimenal API

03 May 09:41
Compare
Choose a tag to compare

1.1.0 2015-05-03

  1. Add experimental API |incsearch-api|.
    • Now you can pass a default pattern |incsearch-config-pattern|
    • Use |incsearch#cli()| with |incsearch-autocmd| to extend
      incsearch.vim's search interface
    • vim-repeat support if needed |incsearch-config-is_expr|
    • You can pass additional vital-over module to connect
      |incsearch-config-modules|

ref: #75

noremap <expr> <Space>/ incsearch#go({'pattern': histget('/', -1)})

let s:pcount = {'name': 'PromptCount'}

function! s:pcount.on_char(cmdline) abort
  call a:cmdline.set_prompt(len(a:cmdline.getline()) . '/')
endfunction

function! s:config() abort
  return {'modules': [s:pcount]}
endfunction

noremap <expr> z/ incsearch#go(<SID>config())

out

let s:timer = {'name': 'Timer'}

function! s:timer.on_enter(cmdline) abort
  let self._start_time = reltime()
endfunction

function! s:timer.on_update(cmdline) abort
  call a:cmdline.set_suffix(reltimestr(reltime(self._start_time)))
  call a:cmdline.draw()
endfunction

function! s:config() abort
  return {'modules': [s:timer]}
endfunction

noremap <expr> z/ incsearch#go(<SID>config())

v1.0.3

03 May 05:43
Compare
Choose a tag to compare

1.0.3 2015-05-03

  1. Fix 'hlsearch' handling #74

v1.0.2

16 Apr 13:21
Compare
Choose a tag to compare

1.0.2 2015-04-16

  1. Implement experimental API (undocumented) to access vital-over
    command line object
  2. Add LiteralInsert module to insert special character literally
    • e.g. <C-v>``<Tab> now inserts literal <Tab> and search them.
  3. Add workaround pasting issue for MacVim #35
  4. Fix to redraw commandline when leaving with <Esc> #67
  5. Fix <SID> handling for <expr> mappings #51
  6. Fix flicker at entering incsearch's commands #73

v1.0.1

03 Jan 16:23
Compare
Choose a tag to compare

1.0.1 2015-01-04

  1. Fix keymapping escape
  2. Fix |last-pattern| with |g:incsearch#magic|

Version 1.0

14 Dec 13:16
Compare
Choose a tag to compare

1.0.0 2014-12-14

  1. Improve compatibility with default commandline behavior
    • Automatically apply mappings defined with |:cnoremap| and |:cmap|
      See |g:incsearch#vim_cmdline_keymap|
    • Support multi {lhs} and mappings
  2. Support incremental highlighting in other windows.
    • See |g:incsearch#no_inc_hlsearch|
  3. Add |(buffer-complete-prev)|
  4. Add |IncsearchExecute| event
  5. Implement |:digraph| feature
  6. Fix minor problems.