Loading ...
Sorry, an error occurred while loading the content.

139373Re: Delete from search history

Expand Messages
  • Dimitar DIMITROV
    Sep 28, 2013
      >> 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
      >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" ?

      Yes that would be perfect. In fact I spent quite a lot of time searching the
      help thinking there would be something like that.
      Also the help at line 67 in cmdline.txt might need changing as it implies only
      one search pattern would be remembered if coming from a mapping. Not all of them
      as it happens in this example.

      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@....
      For more options, visit https://groups.google.com/groups/opt_out.
    • Show all 3 messages in this topic