Dimitar Dimitrov wrote:
> Hi,
> The call to histdel below doesn't seem to be doing what I want it to do.
> It doesn't delete my 3 search patterns added by the 2 :substitute and
> the :global calls.  Not sure what it does exactly, it seems to delete
> one correct entry and 2 wrong ones.
> All I want is no trace of those patterns in my search history,
> but histdel('/', '\\s\\+\$') wouldn't be a solution since I still want
> this pattern in my history if I enter it manually at some point.
> Any help appreciated.
> 
> 
> " Squeeze empty lines
> function! s:Squeeze()
>    let save_cursor = getpos(".")
>    " empty lines at BOF|EOF
>   
>  silent  %substitute/\%^\_s*\n\|\_s*\%$//
>    " empty line clusters
>    silent   global/^\%(\s*$\n\)\{2,}/delete
>    silent! %substitute/\s\+$//e
>    for i in range(1, 3)
>       call histdel('/', -1)
>    endfor
>    call setpos('.', save_cursor)
> endfunction
> 
> nmap <silent> <leader>z :call <sid>Squeeze()<cr>
Not sure what happens there, but it might be a lot simpler if we have a
way to avoid patterns to be put in the history, instead of deleting them
afterwards.  When a pattern was typed you may want to keep it, but after
executing a :s command you don't know if the pattern was typed before
you used it with :s.  That gets complicated.
For :s we could add a flag, but for :g/pattern/ there is is no place to
put a flag.  Perhaps we should use a modifier ":keeppatterns", like
":keepjumps" and ":keepmarks" ?
-- 
            ### Hiroshima 45, Chernobyl 86, Windows 95 ###
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
-- 
-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
--- 
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
No comments:
Post a Comment