haya14busa / is.vim Goto Github PK
View Code? Open in Web Editor NEWincremental search improved - successor of incsearch.vim
License: MIT License
incremental search improved - successor of incsearch.vim
License: MIT License
I'm using is.vim together with anzu. Now, is.vim automatically calls :nohlsearch after some cursor movements. Just wondered whether there is an easy way to hook into that to also clear the anzu status information?
Btw: I found this by accident after using incsearch.vim and having some problems to combine it with some plugin that shows the search index. I think it would be good to have some sort of remark at the top of the incsearch.vim repository that mentions is.vim. Otherwise: great work!
that feature was very handy in incsearch and i was wondering if it could be added to this.
Are there any plans for fuzzy searching in is.vim?
First, thank you so much!
I still use insearch.vim because of this function that uses easymotion to jump to a specific match:
" fuzzy incsearch x 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())
I was wondering if this function could be rewritten to use is.vim rather than incsearch.vim ?
If so I would be eternally grateful! plus it would close another "issue" that is open currently asking for "fuzzy" matching.
Again, thank you so much!
Should neovim users continue using incsearch.vim instead since neovim does not yet support incsearch
?
It seems that with is.vim installed, set foldopen=search
stops to function (a fold doesn't open automatically if a search result is inside that fold).
My understanding of the difference between C-j
/C-k
from this plugin and the built-in C-g
/C-t
is that the built-in ones advance the cursor from match to match, while the ones from this plugin advance screen-by-screen, moving the cursor to a suitable location as necessary. Am I understanding this correctly?
If C-j
/C-k
are supposed to scroll screen-by-screen, I don't appear to get the same kind of scrolling as in the recordings in the repo. When I hit C-j
, instead of jumping up/down a screen, the cursor starts advancing to the next match until the screen has scrolled down some amount, at which point it starts jumping to the previous match until some point. The net effect is moving screen-by-screen, but it doesn't really seem right.
An example screen recording can be found here
The .vimrc used for the example:
call plug#begin()
if has('extra_search')
Plug 'haya14busa/is.vim'
else
Plug 'haya14busa/incsearch.vim'
endif
call plug#end()
if has('extra_search')
set hlsearch
set incsearch
endif
Output of vim --version
:
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Jan 8 2018 13:58:05)
macOS version
Included patches: 1-1400
Compiled by Homebrew
Huge version without GUI. Features included (+) or not (-):
+acl +farsi +mouse_sgr -tag_any_white
+arabic +file_in_path -mouse_sysmouse -tcl
+autocmd +find_in_path +mouse_urxvt +termguicolors
-autoservername +float +mouse_xterm +terminal
-balloon_eval +folding +multi_byte +terminfo
+balloon_eval_term -footer +multi_lang +termresponse
-browse +fork() -mzscheme +textobjects
++builtin_terms -gettext +netbeans_intg +timers
+byte_offset -hangul_input +num64 +title
+channel +iconv +packages -toolbar
+cindent +insert_expand +path_extra +user_commands
-clientserver +job +perl +vertsplit
+clipboard +jumplist +persistent_undo +virtualedit
+cmdline_compl +keymap +postscript +visual
+cmdline_hist +lambda +printer +visualextra
+cmdline_info +langmap +profile +viminfo
+comments +libcall +python +vreplace
+conceal +linebreak -python3 +wildignore
+cryptv +lispindent +quickfix +wildmenu
+cscope +listcmds +reltime +windows
+cursorbind +localmap +rightleft +writebackup
+cursorshape -lua +ruby -X11
+dialog_con +menu +scrollbind -xfontset
+diff +mksession +signs -xim
+digraphs +modify_fname +smartindent -xpm
-dnd +mouse +startuptime -xsmp
-ebcdic -mouseshape +statusline -xterm_clipboard
+emacs_tags +mouse_dec -sun_workshop -xterm_save
+eval -mouse_gpm +syntax
+ex_extra -mouse_jsbterm +tag_binary
+extra_search +mouse_netterm +tag_old_static
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"
user exrc file: "$HOME/.exrc"
defaults file: "$VIMRUNTIME/defaults.vim"
fall-back for $VIM: "/usr/local/share/vim"
Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H -DMACOS_X -DMACOS_X_DARWIN -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: clang -L. -fstack-protector -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L/usr/local/lib -o vim -lncurses -liconv -framework AppKit -mmacosx-version-min=10.13 -fstack-protector-strong -L/usr/local/lib -L/usr/local/Cellar/perl/5.26.1/lib/perl5/5.26.1/darwin-thread-multi-2level/CORE -lperl -lm -lutil -lc -F/usr/local/opt/python/Frameworks -framework Python -lruby.2.5.0 -lobjc
I have set in my vimrc:
let g:is#do_default_mappings = 0
In order to avoid the conflict with <C-k>
that I use for digraph.
But when I do so I lose the main feature of the plugin: Stop highlighting after cursor move.
To restore it I had to add to my vimrc file the following section:
for s:map in ['n', 'N', '*', '#', 'g*', 'g#']
if mapcheck(s:map, 'n') ==# ''
execute printf(':nmap %s <Plug>(is-%s)', s:map, s:map)
endif
if mapcheck(s:map, 'x') ==# ''
execute printf(':xmap %s <Plug>(is-%s)', s:map, s:map)
endif
if mapcheck(s:map, 'o') ==# ''
execute printf(':omap %s <Plug>(is-%s)', s:map, s:map)
endif
endfor
unlet s:map
I'm not sure it is the intention of the g:is#do_default_mappings
setting.
Best regards,
Vivian.
Only scrolling with C-j/C-k
?
Currently I have autocenter like this
" auto center
nnoremap <silent> n nzz
nnoremap <silent> N Nzz
nnoremap <silent> * *zz
nnoremap <silent> # #zz
nnoremap <silent> g* g*zz
nnoremap <silent> g# g#zz
How to add the same behavior to is.vim?
The plugin is handy indeed and works as expected. However I can't figure out how to overload the standard Vim substitution using one of the available <Plug>
functions.
I am trying to get highlights cleared after s/
the same way as after the search with <Plug>(is-nohl)
. Is this possible?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.