python变量和函数的vim语法突出显示?

python变量和函数的vim语法突出显示?,python,vim,syntax-highlighting,Python,Vim,Syntax Highlighting,我正在使用vim 7.3,用python 2.7编写脚本。我有一些语法突出显示,但主要是针对数字、字符串、注释和一些核心函数和关键字。我已经尝试了核心vim python.vim语法文件 有没有办法为变量和函数名获得(单独的颜色)高亮显示?python中的变量和函数之间实际上没有区别(两者都是python中的一流对象)。因此,如果不实际运行代码并测试callable(var)是否为真,这几乎是不可能的 在某些情况下,这种行为会令人困惑: class Dummy(object): pass

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


有没有办法为变量函数名获得(单独的颜色)高亮显示?

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

在某些情况下,这种行为会令人困惑:

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

您现在什么时候将突出显示
foo
作为函数?只有在
\uuuu call\uuuu
赋值之后才能调用它,但是对同一个对象使用不同的语法高亮显示会非常混乱。当然,这个例子相当愚蠢。但它很容易说明为什么在python中不可能真正实现您想要的功能。通过使用继承和元类,您可以使它变得更加复杂。

+1。但是语法高亮显示的主要原因是代码中有更好的方向。可能需要强调定义中的函数名以及调用函数的时间(即括号后面的时间)。问题是逆风小便是否是个好主意;)我明白了。好答案,只要被误导的问题允许。我想知道是否值得突出显示相同颜色的函数和变量,或者这或多或少会突出显示所有内容?也许中间点是突出显示局部定义的变量。在大多数情况下,这将区分函数和变量。作为python的新手,这种差异性的缺乏使得阅读python变得更加困难:-/将其与文档方法结合起来(“将其放在您的定义之后:”)这将方法定义从它们的实现和显著的空白中分离出来(没有大括号来帮助您确定方向),我发现python实际上根本不适合阅读。希望这只是一个适应的东西,我会习惯的,但它确实让我更难理解。类应该使用
CamelCase
命名风格,而变量、函数等使用
snake\u case
。所以,如果你遵循这些指导原则,你会立即知道某个东西(很可能)是不是一个类。无论如何,你很快就会习惯的。