vim-patch:9e456e5: runtime(doc): clarify the use of 'iskeyword' option value

In particular, also mention the difference between the regex atom \k and
what Vim considers for a word character.

closes: vim/vim#18688

9e456e52df

Co-authored-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
zeertzjq
2026-02-10 06:43:09 +08:00
parent 0aacc043a3
commit 32c94621ad
4 changed files with 25 additions and 5 deletions

View File

@@ -410,8 +410,10 @@ These commands move over words or WORDS.
*word*
A word consists of a sequence of letters, digits and underscores, or a
sequence of other non-blank characters, separated with white space (spaces,
tabs, <EOL>). This can be changed with the 'iskeyword' option. An empty line
is also considered to be a word.
tabs, <EOL>). This can be changed with the 'iskeyword' option. For
characters above 255, a word ends when the Unicode character class changes
(e.g., between letters, subscripts, emojis, etc). An empty line is also
considered to be a word.
*WORD*
A WORD consists of a sequence of non-blank characters, separated with white
space. An empty line is also considered to be a WORD.

View File

@@ -3803,7 +3803,13 @@ A jump table for the options with a short description can be found at |Q_op|.
"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).
that is categorized as a letter, number or emoji according to the
Unicode general category).
Note that there is a difference between the "\k" character class and
the |word| motion. The former matches any word character, while the
latter stops at a change of the character class.
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

View File

@@ -3718,7 +3718,13 @@ vim.go.isi = vim.go.isident
--- "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).
--- that is categorized as a letter, number or emoji according to the
--- Unicode general category).
---
--- Note that there is a difference between the "\k" character class and
--- the `word` motion. The former matches any word character, while the
--- latter stops at a change of the character class.
---
--- 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

View File

@@ -4895,7 +4895,13 @@ local options = {
"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).
that is categorized as a letter, number or emoji according to the
Unicode general category).
Note that there is a difference between the "\k" character class and
the |word| motion. The former matches any word character, while the
latter stops at a change of the character class.
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