为什么从 iskeyword 中删除 @ 时语法会部分消失?

Why does syntax partially disappear when removing @ from iskeyword?

当我将它添加到我的 vimrc 时:

set iskeyword-=@

它删除了一些语法。我只在 viml 和 ruby 代码中测试过这个。这是什么原因?我在 viml 代码中包含了显示效果的图像。

编辑:我将如何在不影响语法的情况下删除它?之所以把它去掉,是为了方便 select "$@" 作为一个词。任何人都可以提供解决此问题的方法或替代方法,我们将不胜感激。

来自 'isfname''iskeyword' 指向:

If the character is '@', all characters where isalpha() returns TRUE are included. … To include '@' itself use "@-@".

@ (64) 实际上不在我的开头字符集中:

iskeyword=@,48-57,_,192-255

但如果它以某种方式出现在您那里,您可以添加一个以插入符号开头的部分来排除它:

set iskeyword+=^@-@