突出显示python文档字符串作为注释(vim语法突出显示)
是否可以修改(以及相应的colorscheme文件),以便在vim下的python语法高亮显示期间,class和def语句下的三重引号字符串(也称为docstrings)将高亮显示为注释突出显示python文档字符串作为注释(vim语法突出显示),vim,python-2.7,vim-syntax-highlighting,Vim,Python 2.7,Vim Syntax Highlighting,是否可以修改(以及相应的colorscheme文件),以便在vim下的python语法高亮显示期间,class和def语句下的三重引号字符串(也称为docstrings)将高亮显示为注释 class URLopener: """Class to open URLs. This is a class rather than just a subroutine because we may need more than one set of global protocol-specifi
class URLopener:
"""Class to open URLs.
This is a class rather than just a subroutine because we may need
more than one set of global protocol-specific options.
Note -- this is a base class for those who don't want the
automatic handling of errors type 302 (relocated) and 401
(authorization needed)."""
def addheader(self, *args):
"""Add a header to be used by the HTTP interface only
e.g. u.addheader('Accept', 'sound/basic')"""
# sample comment
您可以添加以下行:
syn region Comment start=/"""/ end=/"""/
到~/.vim/after/syntax/python.vim。如果此文件不存在,您可以创建它。您可以添加以下行:
syn region Comment start=/"""/ end=/"""/
到~/.vim/after/syntax/python.vim。如果此文件不存在,您可以创建它。以下操作对我有效:
syn region pythonDocstring start=+^\s*[uU]\?[rR]\?"""+ end=+"""+ keepend excludenl contains=pythonEscape,@Spell,pythonDoctest,pythonDocTest2,pythonSpaceError
syn region pythonDocstring start=+^\s*[uU]\?[rR]\?'''+ end=+'''+ keepend excludenl contains=pythonEscape,@Spell,pythonDoctest,pythonDocTest2,pythonSpaceError
从修改后的python.vim中获取。以下内容对我很有用:
syn region pythonDocstring start=+^\s*[uU]\?[rR]\?"""+ end=+"""+ keepend excludenl contains=pythonEscape,@Spell,pythonDoctest,pythonDocTest2,pythonSpaceError
syn region pythonDocstring start=+^\s*[uU]\?[rR]\?'''+ end=+'''+ keepend excludenl contains=pythonEscape,@Spell,pythonDoctest,pythonDocTest2,pythonSpaceError
摘自修改后的python.vim from.PEP257规定对docstring使用“三重双引号”。在docstring中不必包含“三重单引号”或“单双引号”。有一个困难是我们有类docstrings、函数docstrings、模块docstrings、属性docstrings和其他docstrings。这就是为什么我决定将文档字符串考虑为:更容易。
syn region pythonDocString start=+^\s*"""+ end=+"""+ keepend contains=...
然后:
HiLink pythonDocString Comment
您可以在此脚本(搜索pythonDocString)中看到示例:PEP257规定对docstring使用“三重双引号”。在docstring中不必包含“三重单引号”或“单双引号”。有一个困难是我们有类docstrings、函数docstrings、模块docstrings、属性docstrings和其他docstrings。这就是为什么我决定将文档字符串考虑为:更容易。
syn region pythonDocString start=+^\s*"""+ end=+"""+ keepend contains=...
然后:
HiLink pythonDocString Comment
您可能会在这个脚本(搜索pythonDocString)中看到一些示例:谢谢,这确实有效,但它也会导致字符串赋值,例如string_var=“”blah blah”“”作为注释高亮显示。现在意识到python文档字符串“start”的定义特征是一个三引号,在行首不带非空白字符。您的回答确实让我想到了它,谢谢。它对我有用,谢谢,您能向我解释一下您的这个文件将自动包含在vim运行环境中吗?谢谢,这确实有用,但它也会导致字符串赋值,例如string_var=“”blah blah”“”作为注释突出显示。现在意识到python文档字符串“start”的定义特征是一个三引号,在行首不带非空白字符。你的回答确实让我想到了这一点,谢谢。这对我来说很有用,谢谢,你能解释一下这个文件将自动包含在vim运行环境中吗?帖子中语法文件的链接现在已断开,谢谢你捕获它。为了完整起见,您可能还希望在代码示例中包含
hi link pythondocstring Comment
。以下是指向WebArchive上此文件的链接:此答案可能需要更新,因为vim的python语法更复杂/涉及到帖子中指向语法文件的链接现在已断开,因此感谢您捕获此链接。为完整起见,您可能还希望在代码示例中包含hi link pythongDocstring注释
。以下是指向WebArchive上此文件的链接:此答案可能需要更新,因为vim的python语法更复杂/涉及最新的python.vim版本3.3.6处理了正确着色DocString的问题。最新的python.vim版本3.3.6处理了正确着色docstring的问题。