什么是VIM缩写中使用的关键字

时间:2013-03-03 00:25:15

标签: vim

在vim帮助文档中,它表示full-id类型缩写完全由关键字字符组成(iskeyword选项中的字母和字符)。 iskeyword条目表示字符串:

Vim default for MS-DOS and Win32
"@,48-57,_,128-167,224-235"

否则:"@,48-57,_,192-255"

这是什么意思?什么是48-57, 128-167,224-235@是其中一个角色吗?但是我试过像@tt这样的东西,它不起作用!

vim doc在条目-1下提供示例full-id表示-是其中一个关键字。但我尝试了我的vim。并发现

-1有效

-11不起作用

似乎在我的vim中,-被视为非关键字字符。怎么了?我没有设置任何自定义iskeyword。

2 个答案:

答案 0 :(得分:3)

"@,48-57,_,128-167,224-235"是编码表中的字符和范围。查看ASCII表格,您会看到范围48-57是从09的数字。对于128以上的字符,您可能需要转到Unicode表,并使用set encoding?查看。 @是特殊的,并添加了所有字母字符。

关于不适合您的示例:有三种缩写,full-idend-idnon-id。因此,任何缩写都必须适合其中一个组。 -1有效,只有end-id。它以isKeyword的字符结尾。 -11没有,因为它在第一个关键字后面有另一个关键字,它既不是full-id,因为-不是关键字。

答案 1 :(得分:1)

让我们根据-11

的规则来检查:help abbreviation
  1. 它不是完整ID,因为它包含-iskeyword选项值中未包含该内容。
  2. 这不是结束标识,因为根据文档,除了最后一个字符之外的所有字符都不能是关键字字符,中间1是。
  3. 它不是非id,因为它以关键字字符结尾。
  4. 如果您希望短划线成为关键字字符,则必须将其包含在iskeyword中,并使用您正在使用的编码的适当值(UTF-8中的45等)。