All Projects → haya14busa → Incsearch.vim

haya14busa / Incsearch.vim

Licence: mit
🔦 Improved incremental searching for Vim

Projects that are alternatives of or similar to Incsearch.vim

Vim Diff Toggle
🛠 Vim plugin to speed up editing diff files
Stars: ✭ 17 (-98.32%)
Mutual labels:  vim-plugin
Vim Bootstrap Updater
vim-bootstrap plugin to upgrade
Stars: ✭ 9 (-99.11%)
Mutual labels:  vim-plugin
Tskeleton vim
File Templates and Code Skeletons/Snippets for VIM
Stars: ✭ 33 (-96.73%)
Mutual labels:  vim-plugin
Git Messenger.vim
Vim and Neovim plugin to reveal the commit messages under the cursor
Stars: ✭ 904 (-10.41%)
Mutual labels:  vim-plugin
Vim Clang Format
Vim plugin for clang-format, a formatter for C, C++, Obj-C, Java, JavaScript, TypeScript and ProtoBuf.
Stars: ✭ 837 (-17.05%)
Mutual labels:  vim-plugin
Quick Scope
Lightning fast left-right movement in Vim
Stars: ✭ 876 (-13.18%)
Mutual labels:  vim-plugin
Vim Grammarous
A powerful grammar checker for Vim using LanguageTool.
Stars: ✭ 780 (-22.7%)
Mutual labels:  vim-plugin
Zepl.vim
Lightweight and easy REPL integration for Vim and Neovim.
Stars: ✭ 39 (-96.13%)
Mutual labels:  vim-plugin
Briofita vim
colorful Vim colorscheme for both GUI and 256-color terminals
Stars: ✭ 9 (-99.11%)
Mutual labels:  vim-plugin
Vimrc
📝 Vim Configuration for nerds with vim-plug
Stars: ✭ 33 (-96.73%)
Mutual labels:  vim-plugin
Tmux Navigate
🥂 Seamless tmux/vim navigation (over SSH too!)
Stars: ✭ 23 (-97.72%)
Mutual labels:  vim-plugin
Vim Healthcheck
Polyfill of Neovim's health-check for Vim
Stars: ✭ 26 (-97.42%)
Mutual labels:  vim-plugin
Vim Foldfocus
✂️ A vim plugin for isolating a particular piece of text into its own separated context.
Stars: ✭ 30 (-97.03%)
Mutual labels:  vim-plugin
Crease.vim
Easy foldtext customization for [neo]vim.
Stars: ✭ 19 (-98.12%)
Mutual labels:  vim-plugin
Notational Fzf Vim
Notational velocity for vim.
Stars: ✭ 975 (-3.37%)
Mutual labels:  vim-plugin
Vim Quickrepl
The Simplest Faster way to open your REPL for filetypes.
Stars: ✭ 17 (-98.32%)
Mutual labels:  vim-plugin
Vim Gofmt
Formats Go source code asynchronously with multiple Go formatters.
Stars: ✭ 11 (-98.91%)
Mutual labels:  vim-plugin
Plugpac.vim
Thin wrapper of minpac, provides vim-plug-like experience
Stars: ✭ 40 (-96.04%)
Mutual labels:  vim-plugin
Vim Strand
A barebones Vim plugin manger written in Rust
Stars: ✭ 38 (-96.23%)
Mutual labels:  vim-plugin
Hot Reload.vim
A (Neo)vim plugin for Flutter to automatically hot reload the project every time a file is saved
Stars: ✭ 33 (-96.73%)
Mutual labels:  vim-plugin

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.

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

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].