(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 to '~', excluding
comma, plus <Tab>.
See |option-backslash| about including spaces and backslashes.
*'isident'* *'isi'*
'isident' 'isi' string (default for Windows:
"@,48-57,_,128-167,224-235"
otherwise: "@,48-57,_,192-255")
global
The characters given by this option are included in identifiers.
Identifiers are used in recognizing environment variables and after a
match of the 'define' option. It is also used for "\i" in a
|pattern|. See 'isfname' for a description of the format of this
option. For '@' only characters up to 255 are used.
Careful: If you change this option, it might break expanding
environment variables. E.g., when '/' is included and Vim tries to
expand "$HOME/.local/state/nvim/shada/main.shada". Maybe you should
change 'iskeyword' instead.
*'iskeyword'* *'isk'*
'iskeyword' 'isk' string (default "@,48-57,_,192-255")
local to buffer
Keywords are used in searching and recognizing with many commands:
"w", "*", "[i", etc. It is also used for "\k" in a |pattern|. See
'isfname' for a description of the format of this option. For '@'
characters above 255 check the "word" character class (any character
that is not white space or punctuation).
For C programs you could use "a-z,A-Z,48-57,_,.,-,>".
For a help file it is set to all non-blank printable characters except
"*", '"' and '|' (so that CTRL-] on a command finds the help for that
command).
When the 'lisp' option is on the '-' character is always included.
This option also influences syntax highlighting, unless the syntax
uses |:syn-iskeyword|.
*'isprint'* *'isp'*
'isprint' 'isp' string (default "@,161-255")
global
The characters given by this option are displayed directly on the
screen. It is also used for "\p" in a |pattern|. The characters from
space (ASCII 32) to '~' (ASCII 126) are always displayed directly,
even when they are not included in 'isprint' or excluded. See
'isfname' for a description of the format of this option.
Non-printable characters are displayed with two characters:
0 - 31 "^@" - "^_"
32 - 126 always single characters
127 "^?"
128 - 159 "~@" - "~_"
160 - 254 "| " - "|~"
255 "~?"
Illegal bytes from 128 to 255 (invalid UTF-8) are
displayed as <xx>, with the hexadecimal value of the byte.
When 'display' contains "uhex" all unprintable characters are
displayed as <xx>.
The SpecialKey highlighting will be used for unprintable characters.
|hl-SpecialKey|
Multi-byte characters 256 and above are always included, only the
characters up to 255 are specified with this option. When a character
is printable but it is not available in the current font, a
replacement character will be shown.
Unprintable and zero-width Unicode characters are displayed as <xxxx>.
There is no option to specify these characters.
*'joinspaces'* *'js'* *'nojoinspaces'* *'nojs'*
'joinspaces' 'js' boolean