是否可以修改python.vim (和相应的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-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

===============>>#1 票数:18 已采纳

您可以添加以下行:

syn region Comment start=/"""/ end=/"""/

到您的〜/ .vim / after / syntax / python.vim。 您可以创建此文件(如果不存在)。

===============>>#2 票数:6

以下为我工作:

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。

===============>>#3 票数:0

PEP 257规定对文档字符串使用““”三重双引号“”“。 不必在文档字符串中包含“三重单引号”或“单双引号”。 我们有一个类文档字符串,函数文档字符串,模块文档字符串,属性文档字符串和其他文档字符串,这是一个难题。 这就是为什么我认为更容易考虑docstring的原因:

syn region pythonDocString start=+^\s*"""+ end=+"""+ keepend contains=...

接着:

HiLink pythonDocString        Comment

您可能会在此脚本(搜索pythonDocString)中看到示例: https : //github.com/andbar-ru/python-syntax/blob/master/syntax/python.vim

  ask by silvernightstar translate from so

未解决问题?本站智能推荐:

1回复

用三重单引号突出显示字符串作为注释?

由此 ,我想用三重单引号将字符串突出显示为注释(或者,对于那些不是类/函数/模块中第一位的其他注释,更好)。 我正在使用jedi-vim 。 这是after/syntax/python.vim的文件的内容: 我试图删除pythonString行中的三重单引号,并添加以下内容之一:
1回复

在vim中的javascript字符串中突出显示HTML语法

我不知道这是否可行/合理,但我很想知道我是否可以在javascript文件中使用html突出显示我的字符串。 我发现php中的字符串可能有SQL语法高亮,所以我相信它是可能的。 但是,我不知道vim脚本,所以对此的任何帮助表示赞赏。 我正在使用Better Javascript语法
5回复

在vim中为python突出显示语法

我该如何在Vim 7中为python设置语法高亮? 我想为一种代码文件设置我自己的colorschemes和语法高亮。
3回复

Vim语法突出显示

我在Debian 6中安装了vim。我正在尝试更改颜色方案并启用语法突出显示。 但它不起作用。 我在.vimrc文件中添加了set background=dark 。 但是白色背景正在显示。 我想知道出了什么问题? 这是我的.vimrc文件: http : //pastebin.c
6回复

Vim语法突出显示Python的'else:'

我对Vim中默认的python语法高亮感到恼火。 它没有正确突出显示else:语句。 Vim仅在else和冒号之间有空白时突出显示else语句: ,所以else :有效,而else:没有。 它必须易于修复。 我正在使用Vim 7.2
2回复

Vim语法突出显示隐藏字符

我想为vim实现一个隐藏文件中某些字符的语法文件。 具体来说,我想编写一个改进的荧光笔来读取没有显示某些格式化字符的Markdown文件,而是倾向于隐式地指示它们。 例如,我希望将*bold*渲染为简单bold和粗体文本,或者标题为 不显示下划线,但只是出现不同的颜色。 到目前为止
6回复

在vim中突出显示语法

当我打开vim中的语法颜色时,我在黑色上读深蓝色时遇到了麻烦。 如何更改某些默认颜色或模式的颜色,如: http://www.vim.org/scripts/script.php?script_id=1571
2回复

Vim Maths语法突出显示

我正在尝试改善降价文档中数学的语法突出显示。 Multimarkdown使用方括号\\\\[ .. \\\\]和\\\\( .. \\\\)分别表示显示和内联数学。 我想用TeX突出这些内容。 到目前为止,这是我得到的: 问题是tex.vim没有将括号内的内容作为数学运算,
1回复

Vim:动态语法突出显示

我想动态地(即,取决于当前文件的内容)适应语法突出显示。 虽然这通常可能很有用,但我的具体设置如下: 我考虑的文件类型可能包含( (VAR ...)形式的(任意多个)块,其中此类“ VAR-blocks”包含以空格分隔的标识符列表,应将其视为变量(而标识符应视为变量) VAR块中的``'
1回复

如何使Vim突出显示语法?

我一直使用Vim作为文本编辑器,但是现在我正在使用它来编写Python代码,我希望它着重强调如下语法: 如何在Vim中打开语法突出显示? 我如何使其默认保持为编程文件状态?