Per the help at

  :help last-pattern
  """
    Note that two patterns are remembered: One for 'normal'
  search commands and one for the substitute command ":s".
  Each time an empty pattern is given, the previously used
  pattern is used.
  """


There seems to be a peculiarly unidirectional defaulting:

Case #1:

Start Vim (-u NONE) on a document
Search for a pattern with "/"

  /pattern

perform an empty substitute:

  :%s//whatever/g

A blank :s pattern reaches for the most recent "/" pattern. Nice, I use this regularly.


Case #2:

Start Vim (-u NONE) on a document
Perform a replacement (either a null-op, or just the first-in-a-line with further matches later in the line, or a replacement that allows for the pattern to be found again)

  :%s/pattern/&

Hit "n" to find the next instance of the pattern or use "/" with an empty pattern. I get

  E35: No previous regular expression

A blank search *doesn't* reach into the most recent ":s" pattern. I reach for this occasionally and get stung by it every time.

However, if I do a

  :%s//whatever

it manages to find that pattern. Likewise if I ":echo @/" it correctly returns my :s pattern that I want to use for my n/N command (or "/" with no regexp).


It seems a little inconsistent to find the search pattern in the first case, but to not find the pattern in the second case.


Is this a Vim bug (calling for n/N to use the search register), a documentation bug (at a minimum requiring clarification), or just a "suck it up and deal with the oddity" situation?

-tim




--
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

Reply via email to