2

我正在使用 vim 7.3,在 python 2.7 中编写脚本。我有一些语法突出显示,但主要是针对数字、字符串、注释以及一些核心函数和关键字。我已经尝试过核心 vim python.vim 语法文件,以及来自 vim.org 的文件

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

4

1 回答 1

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 中做你想做的事是不可能的。您可以通过使用继承和元类使其更加复杂。

于 2012-05-10T07:46:15.037 回答