Only happens if 'indentexpr' isn't empty.
The format is identical to 'cinkeys', see |indentkeys-format|.
See |C-indenting| and |indent-expression|.
*'infercase'* *'inf'* *'noinfercase'* *'noinf'*
'infercase' 'inf' boolean (default off)
local to buffer
When doing keyword completion in insert mode |ins-completion|, and
'ignorecase' is also on, the case of the match is adjusted depending
on the typed text. If the typed text contains a lowercase letter
where the match has an upper case letter, the completed part is made
lowercase. If the typed text has no lowercase letters and the match
has a lowercase letter where the typed text has an uppercase letter,
and there is a letter before it, the completed part is made uppercase.
With 'noinfercase' the match is used as-is.
*'isexpand'* *'ise'*
'isexpand' 'ise' string (default "")
global or local to buffer |global-local|
Defines characters and patterns for completion in insert mode. Used
by the |complete_match()| function to determine the starting position
for completion. This is a comma-separated list of triggers. Each
trigger can be:
- A single character like "." or "/"
- A sequence of characters like "->", "/*", or "/**"
Note: Use "\\," to add a literal comma as trigger character, see
|option-backslash|.
Examples: >vim
set isexpand=.,->,/*,\\,
<
*'isfname'* *'isf'*
'isfname' 'isf' string (default for Windows:
"@,48-57,/,\,.,-,_,+,,,#,$,%,{,},[,],@-@,!,~,="
otherwise: "@,48-57,/,.,-,_,+,,,#,$,%,~,=")
global
The characters specified by this option are included in file names and
path names. Filenames are used for commands like "gf", "[i" and in
the tags file. It is also used for "\f" in a |pattern|.
Multi-byte characters 256 and above are always included, only the
characters up to 255 are specified with this option.
For UTF-8 the characters 0xa0 to 0xff are included as well.
Think twice before adding white space to this option. Although a
space may appear inside a file name, the effect will be that Vim
doesn't know where a file name starts or ends when doing completion.
It most likely works better without a space in 'isfname'.
Note that on systems using a backslash as path separator, Vim tries to
do its best to make it work as you would expect. That is a bit
tricky, since Vi originally used the backslash to escape special
characters. Vim will not remove a backslash in front of a normal file
name character on these systems, but it will on Unix and alikes. The
'&' and '^' are not included by default, because these are special for
cmd.exe.
The format of this option is a list of parts, separated with commas.
Each part can be a single character number or a range. A range is two
character numbers with '-' in between. A character number can be a
decimal number between 0 and 255 or the ASCII character itself (does
not work for digits). Example:
"_,-,128-140,#-43" (include '_' and '-' and the range
128 to 140 and '#' to 43)
If a part starts with '^', the following character number or range
will be excluded from the option. The option is interpreted from left
to right. Put the excluded character after the range where it is
included. To include '^' itself use it as the last character of the
option or the end of a range. Example:
"^a-z,#,^" (exclude 'a' to 'z', include '#' and '^')
If the character is '@', all characters where isalpha() returns TRUE
are included. Normally these are the characters a to z and A to Z,
plus accented characters. To include '@' itself use "@-@". Examples:
"@,^a-z" All alphabetic characters, excluding lower
case ASCII letters.
"a-z,A-Z,@-@" All letters plus the '@' character.
A comma can be included by using it where a character number is
expected. Example:
"48-57,,,_" Digits, comma and underscore.
A comma can be excluded by prepending a '^'. Example:
" -~,^,,9" All characters from space