See Groundwork, for Ex address syntax. See Options, to see how to get literal (non-regular-expression) search and how to stop search from wrapping around.
Toggle case-sensitive search. With prefix argument, toggle vanilla/regular expression search.
To the <count>th occurrence of <string>.
Viper does not parse search patterns and does not expand special symbols found there (e.g., ‘~’ is not expanded to the result of the previous substitution).
After typing / or ? all the usual Emacs minibuffer commands, such as M-p and M-n are available. In addition, typing C-s will insert the last search string used by the Emacs incremental search command (which is bound to C-s everywhere except in this case).
To the <count>th previous occurrence of <string>.
Search for the text described by move. (off by default)
Repeat latest / ? (next).
Idem in opposite direction.
Find the next bracket and go to its match
Search globally [from line x to y] for <string> and execute the Ex <cmd> on each occurrence.
Execute <cmd> on the lines that don’t match.
Execute the last keyboard macro for each line in the region. See Macros and Registers, for more info.
Query Replace.
Search in the tags file where <name> is defined (file, line), and go to it.
Substitute (on lines x through y) the pattern <pat> (default the last pattern) with <repl>. Useful flags <f> are ‘g’ for ‘global’ (i.e., change every non-overlapping occurrence of <pat>) and ‘c’ for ‘confirm’ (type ‘y’ to confirm a particular substitution, else ‘n’). Instead of / any punctuation character other than <space> <tab> and <lf> can be used as delimiter.
Note: The newline character (inserted as C-qC-j) can be used in <repl>.
Repeat latest Ex substitute command, e.g., :s/wrong/right.
Execute <ex-command> on all lines that match <pattern>.
Execute <ex-command> on all lines that do not match <pattern>.