我希望在我的Python文檔中看到一些很好的語法突出顯示和着色(當然是有效的RESt)。例如:在Python文檔中嵌入reStructuredText文檔
'''
A section
=========
an example::
some code
'''
rest of python code
我得到的最接近是這在我.vim/after/syntax/python.vim
:
syn include syntax/rst.vim
syn region pythonDocstring start=+^\s*'''+ end=+'''+ contained
根據the documentation of syntax-include應該足以。還要注意的是rst.vim
重新定義了一堆蟒蛇實體所以我不得不註釋掉相關代碼的所有部分:
" syn region rstCodeBlock contained matchgroup=rstDirective
" \ start=+\%(sourcecode\|code\%(-block\)\=\)::\_s*\n\ze\z(\s\+\)+
" \ skip=+^$+
" \ end=+^\z1\@!+
" \ [email protected]
" syn cluster rstDirectives add=rstCodeBlock
" if !exists('g:rst_syntax_code_list')
[...]
最後,我不能使用!runtime
因爲rst.vim
什麼也不做,如果b:current_syntax
變量已經定義:
if exists("b:current_syntax")
finish
endif
儘管我努力,我的文檔字符串保持顏色相同的其他意見,沒有語法高亮。
我試過也是這個:
syn region pythonDocstring start=+^\s*'''+ end=+'''+ contains=CONTAINED
但我只設法改變塊的顏色是Special
而非Comment
。
也許我應該定義pythonDocstring不要有任何默認的着色?
進一步注意:如果我在python.vim中刪除了對python原始字符串的引用,着色就消失了,但我只獲得突出顯示的python關鍵字。
更新
嘗試下面我後/語法/ python.vim文件的解決方案之一:
syn include @pythonRst syntax/rst.vim
syn region pythonDocstring start=+^\s*'''+ end=+'''+ [email protected]
在其餘的文件,導致與.py
打開文件時被變灰擴展名:
同時打開與.rst
相同的文件。擴展似乎做工精細(只是爲了顯示我有一個休息的語法文件):
請注意,我既沒有colorscheme
在我的.vimrc
我已經試過了,但它似乎並沒有這樣的伎倆。我會張貼幾張照片作爲更新。 – lorenzog