用于python变量和函数的vim语法高亮?

时间:2012-05-10 07:43:27

标签: python vim syntax-highlighting

我正在使用vim 7.3,在python 2.7中编写脚本。我有一些语法高亮,但主要只是数字,字符串,注释,以及一些核心功能和关键字。我已经尝试了核心vim python.vim语法文件和the one from vim.org

有没有办法获得(单独的颜色)突出显示变量函数名称

1 个答案:

答案 0 :(得分:6)

python中的变量和函数之间没有真正的区别(两者都是python中的第一类对象)。如果没有实际运行代码并测试callable(var)是否为真,那几乎是不可能的。

并且总会出现这种行为令人困惑的情况:

class Dummy(object):
    pass
foo = Dummy()
if False:
    foo()
foo.__call__ = lambda self: 'meow'
foo.x = 'y'
foo()

您现在何时会将foo作为一项功能突出显示?在__call__赋值之后才能调用它,但对同一个对象使用不同的语法突出显示会非常混乱。当然这个例子很愚蠢。但它很容易说明为什么在python中不可能做你想做的事情。使用继承和元类可以使它变得更加复杂。