Vim を使用してチュートリアル/本を書いています。テキスト ブロック (本の通常のテキスト) の構文強調表示をオフにして、コード例のために再度有効にしたいと考えています。
私は最後までグーグルで検索しましたが、簡単な解決策が見つかりません。何か不足していますか?それとも、これは Vim では達成できませんか?
Vim を使用してチュートリアル/本を書いています。テキスト ブロック (本の通常のテキスト) の構文強調表示をオフにして、コード例のために再度有効にしたいと考えています。
私は最後までグーグルで検索しましたが、簡単な解決策が見つかりません。何か不足していますか?それとも、これは Vim では達成できませんか?
ブックの構文ファイルを作成できます。
たとえば、スクリプトを作成できます。~/.vim/syntax/tutor.vim
"
" tutor.vim -- syntax file for my book/tutor
"
syn include @PY $VIMRUNTIME/syntax/python.vim
syn region pyBlock start="{{{" end="}}}" contains=@PY
これはサンプル ファイルです。
# File: intro.txt
# Date: 2012-08-19
blah, blah ...
So, I will show you some code:
{{{
def hello():
print "world"
}}}
# vim: set syn=tutor :
そのためのSyntaxRange プラグインを作成しました (私の主な使用例は、"diff" 構文のように電子メール内のパッチを強調表示することです)。これを使用すると、バッファーの特定のセクションを作成し:[range]SyntaxIgnore
たり:[range]SyntaxInclude {filetype}
、セクションが特定のマーカーで開始および終了するときに、行数が変化したときに適応する動的セクションを定義したりできます。
斜めに考えて…
再構築されたテキストやマークダウンを Vim 内で使用し、github でレンダリングするのはどうでしょうか。これにより、無料でバージョン管理が可能になります。コードブロックを持つことができます。