diff --git a/autoload/sneak/search.vim b/autoload/sneak/search.vim index 9fdf09c..4270863 100644 --- a/autoload/sneak/search.vim +++ b/autoload/sneak/search.vim @@ -8,7 +8,9 @@ func! sneak#search#new() " search pattern modifiers (case-sensitivity, magic) let self.prefix = sneak#search#get_cs(a:input, g:sneak#opt.use_ic_scs).'\V' " the escaped user input to search for - let self.search = escape(a:input, '"\') + let input = escape(a:input, '"') + let self.search = g:sneak#opt.regex_input && input =~? '^\\[vm].' ? + \ input.'\V' : escape(input, '\') " example: highlight string 'ab' after line 42, column 5 " matchadd('foo', 'ab\%>42l\%5c', 1) let self.match_pattern = '' diff --git a/plugin/sneak.vim b/plugin/sneak.vim index 546cad1..5b554b4 100644 --- a/plugin/sneak.vim +++ b/plugin/sneak.vim @@ -24,6 +24,7 @@ func! sneak#init() \ ,'use_ic_scs' : get(g:, 'sneak#use_ic_scs', 0) \ ,'map_netrw' : get(g:, 'sneak#map_netrw', 1) \ ,'streak' : get(g:, 'sneak#streak', 0) && (v:version >= 703) && has("conceal") + \ ,'regex_input' : get(g:, 'sneak#regex_input', 0) \ } for k in ['f', 't'] "if user mapped f/t to Sneak, then disable f/t reset.