我正在创建一个Vim语法文件,我需要在iskeyword选项中添加一些字符。我无法从Vim帮助文件中找出它是如何工作的,但这是我目前所写的:
set iskeyword+=_,.,-,64,133,!,?,@,172,8743,8744,8853,8592,8593,8594,8595,8596
#64和#133是at符号和省略号。最后几个字符是¬,∧,∨,⊕,→,←,↓,↑和↔。
在所有这些字符中,只有_,。, - 和¬(#172)似乎被识别为关键字字符。
还有什么我需要做的吗?或者Vim根本不支持超出Unicode特定点的关键字字符(但是at符号也没有被识别,并且肯定在ASCII中)?
感谢您的帮助!
答案 0 :(得分: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.
[…]
iskeyword
中包含多字节字符已经在许多列表中进行了讨论,例如this one。