literally, only "\]", "\^", "\-" and "\\" are special.
See |/[]|
'l' included: "/[ \t]" finds <Space>, '\' and 't'
'l' excluded: "/[ \t]" finds <Space> and <Tab>
*cpo-L*
L When the 'list' option is set, 'wrapmargin',
'textwidth', 'softtabstop' and Virtual Replace mode
(see |gR|) count a <Tab> as two characters, instead of
the normal behavior of a <Tab>.
*cpo-m*
m When included, a showmatch will always wait half a
second. When not included, a showmatch will wait half
a second or until a character is typed. |'showmatch'|
*cpo-M*
M When excluded, "%" matching will take backslashes into
account. Thus in "( \( )" and "\( ( \)" the outer
parenthesis match. When included "%" ignores
backslashes, which is Vi compatible.
*cpo-n*
n When included, the column used for 'number' and
'relativenumber' will also be used for text of wrapped
lines.
*cpo-o*
o Line offset to search command is not remembered for
next search.
*cpo-O*
O Don't complain if a file is being overwritten, even
when it didn't exist when editing it. This is a
protection against a file unexpectedly created by
someone else. Vi didn't complain about this.
*cpo-P*
P When included, a ":write" command that appends to a
file will set the file name for the current buffer, if
the current buffer doesn't have a file name yet and
the 'F' flag is also included |cpo-F|.
*cpo-q*
q When joining multiple lines leave the cursor at the
position where it would be when joining two lines.
*cpo-r*
r Redo ("." command) uses "/" to repeat a search
command, instead of the actually used search string.
*cpo-R*
R Remove marks from filtered lines. Without this flag
marks are kept like |:keepmarks| was used.
*cpo-s*
s Set buffer options when entering the buffer for the
first time. This is like it is in Vim version 3.0.
And it is the default. If not present the options are
set when the buffer is created.
*cpo-S*
S Set buffer options always when entering a buffer
(except 'readonly', 'fileformat', 'filetype' and
'syntax'). This is the (most) Vi compatible setting.
The options are set to the values in the current
buffer. When you change an option and go to another
buffer, the value is copied. Effectively makes the
buffer options global to all buffers.
's' 'S' copy buffer options
no no when buffer created
yes no when buffer first entered (default)
X yes each time when buffer entered (vi comp.)
*cpo-t*
t Search pattern for the tag command is remembered for
"n" command. Otherwise Vim only puts the pattern in
the history for search pattern, but doesn't change the
last used search pattern.
*cpo-u*
u Undo is Vi compatible. See |undo-two-ways|.
*cpo-v*
v Backspaced characters remain visible on the screen in
Insert mode. Without this flag the characters are
erased from the screen right away. With this flag the
screen newly typed text overwrites backspaced
characters.
*cpo-W*
W Don't overwrite a readonly file. When omitted, ":w!"
overwrites a readonly file, if possible.
*cpo-x*
x <Esc> on the command-line executes the command-line.
The default in Vim is to abandon the command-line,
because <Esc> normally aborts a command. |c_<Esc>|
*cpo-X*
X When using a count with "R" the replaced text is
deleted only once. Also when repeating "R" with "."
and a count.
*cpo-y*
y A yank command can be redone with ".". Think twice if
you really want to use this, it may break some
plugins, since most people expect "." to only repeat a
change.
*cpo-Z*
Z When using "w!" while the 'readonly' option is set,
don't reset 'readonly'.
*cpo-!*
! When redoing a filter command, use the last used
external command, whatever it