我正在使用 vim 7.3,在 python 2.7 中编写脚本。我有一些语法突出显示,但主要是针对数字、字符串、注释以及一些核心函数和关键字。我已经尝试过核心 vim python.vim 语法文件,以及来自 vim.org 的文件
有没有办法让变量和函数名(单独的颜色)突出显示?
我正在使用 vim 7.3,在 python 2.7 中编写脚本。我有一些语法突出显示,但主要是针对数字、字符串、注释以及一些核心函数和关键字。我已经尝试过核心 vim python.vim 语法文件,以及来自 vim.org 的文件
有没有办法让变量和函数名(单独的颜色)突出显示?
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 中做你想做的事是不可能的。您可以通过使用继承和元类使其更加复杂。