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

nau*_*101 2 python vim syntax-highlighting

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

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

Thi*_*ter 6

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

并且始终存在这样的行为会令人困惑的情况:

class Dummy(object):
    pass
foo = Dummy()
if False:
    foo()
foo.__call__ = lambda self: 'meow'
foo.x = 'y'
foo()
Run Code Online (Sandbox Code Playgroud)

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