如何更改Emacs的Python文档字符串的字体?
问题内容:
我刚刚开始学习Python,并使用Emacs作为编辑器。当前,Emacs对普通字符串(单引号)和文档字符串(三重引号)使用相同的颜色。我希望文档字符串使用不同的颜色,因此我使用了“选项->自定义Emacs”菜单选项将“字体-
锁-文档-外观”更改为新颜色并保存了更改。但是,Emacs继续使文档字符串的颜色与普通字符串相同。更改普通字符串的颜色也会将更改也应用于文档字符串。
似乎Emacs将docstring和普通字符串视为相同。有没有办法让Emacs与普通字符串分开正确地查找和着色Python文档字符串?
编辑:我使用默认的Python模式设置的Emacs 23.1.1(Kubuntu 10.10软件包)。我还使用带有午夜主题的颜色主题包。
问题答案:
有趣。我 会 说,由于道路emacs的语法表的作品,emacs的认为"""
和'''
代表了一个新的字符串的开始folowed一个空字符串。
您可以通过将以下代码粘贴到python缓冲区中,轻松地在emacs副本中验证这一点:
class MrsRobinson(object):
'''
What's that you say?
'''
pass
在emacs 23.1.1 _[ 更新: 显然是stackoveflow!]中,_这完全破坏了文件其余部分的语法突出显示。
我总是"""
专门用来避免docstring中的撇号问题,所以直到这一分钟我才注意到在emacs 23.2.1中,这终于可以解决了。
(是的python-quote-syntax
,python.el中有一个新函数)
因此:在您的emacs版本中,这是不可能的,因为未正确解析字符串。如果您升级到最新的emacs, 则
可以通过在python.el中修改该函数以区别对待它们来实现这一目标。