Vim语法文件:向iskeyword添加某些字符无效

jsc*_*hoi 4 unicode vim

我正在制作一个Vim语法文件,我需要在iskeyword选项中添加一些字符.我无法从Vim帮助文件中找出它是如何工作的,但这是我目前所写的:

set iskeyword+=_,.,-,64,133,!,?,@,172,8743,8744,8853,8592,8593,8594,8595,8596
Run Code Online (Sandbox Code Playgroud)

#64和#133是at符号和省略号.最后几个字符是¬,∧,∨,⊕,→,←,↓,↑和↔.

在所有这些字符中,只有_,., - 和¬(#172)似乎被识别为关键字字符.

我还有别的办法吗?或者Vim根本不支持超出Unicode特定点的关键字字符(但是at符号也没有被识别,并且这肯定在ASCII中)?

谢谢你的帮助!

sid*_*yll 7

为帮助iskeyword指向帮助isfname,回答你所有的问题:

[…]
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.
[…]
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:
[…]
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.
[…]
Run Code Online (Sandbox Code Playgroud)
  1. "此选项仅指定最多255个字符."
  2. "字符数可以是0到255之间的十进制数"
  3. "包含'@'本身使用"@ - @""

包含多字节字符iskeyword已经在很多列表中讨论过了,就像这个一样.