Saturday, September 28, 2013

Re: Delete from search history

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: