incsearch.vim


Ⅰ. 插件描述

:flashlight: Improved incremental searching for Vim

Ⅱ. 基本信息

创建日期:  2014-08-09
使用用户:  1253
Github星:  928
插件作者:  haya14busa

Ⅲ. 安装方法

使用Vundle管理器安装

在你的.vimrc下添加:
Plugin 'haya14busa/incsearch-vim'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall

对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。

使用NeoBundle管理器安装

在你的.vimrc下添加:
NeoBundle 'haya14busa/incsearch-vim'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall

使用VimPlug管理器安装

在你的.vimrc下添加:
Plug 'haya14busa/incsearch-vim'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall

使用Pathogen管理器安装

在终端中运行以下命令:
cd ~/.vim/bundle
git clone https://github.com/haya14busa/incsearch.vim

Ⅳ. 文档说明

incsearch.vim

Build Status
Build status



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 / Vundle / vim-plug

NeoBundle 'haya14busa/incsearch.vim'
Plugin 'haya14busa/incsearch.vim'
Plug 'haya14busa/incsearch.vim'

pathogen

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.

Mappingdescription
<Over>(incsearch-next)to next match. default: <Tab>
<Over>(incsearch-prev)to prev match. default: <S-Tab>

Scroll-like feature while incremental searching

Mappingdescription
<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>

: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

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
incsearch-fuzzy.gif

Module extension

incsearch.vim x fuzzy x vim-easymotion https://github.com/haya14busa/incsearch-easymotion.vim
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

Document

:h incsearch.vim

添加新评论