

[Sphinx](http://sphinx-doc.org/) を用いて文章作成をしています。 Emacs で以下のような
reStructuredText フォーマットのファイルを編集している際に、 コードブロック (code-block) の中身だけ rst-mode
とは別のメジャーモードでシンタックスハイライトしたいのですが、どうすれば上手くできるでしょうか。

[code]

    こんにちは世界
    ==============
    
    - ほげほげ
    
      .. code-block:: python
    
         # このブロックは rst-mode ではなく python-mode で
         # シンタックスハイライト + インデントしたいという話です
    
         def hello():
             print("Hello, world!")
    
         hello()
    
[/code]


CC BY-SA 3.0
2014-11-26T04:15:07.940
194
2014-12-02T02:08:40.840
84
question
emacs sphinx
Emacs で reStructuredText を編集中する際に、コードブロックを別途シンタックスハイライトしたい


自分で試せていないのでうまくいくか分からないのですが、mumamoやmmm-
modeを使うとひとつのバッファの中で、複数のモードをコードの種類によって切り替えて使うことができます（他にも[EmacsWikiのMultipleModes](http://www.emacswiki.org/emacs/MultipleModes)を参考にしてみてください）。

mmm-
modeであれば、やっていることは逆（Pythonコード中のrstを編集する）なのですが、[この回答](https://stackoverflow.com/questions/15493342/have-
emacs-edit-python-docstrings-using-rst-
mode)や[このコード](https://github.com/mangalam-research/software-
standards/blob/master/emacs/mmm-rst-python.el)が設定の参考になるかもしれません。


CC BY-SA 3.0
2014-12-02T02:08:40.840
218
2014-12-02T02:08:40.840
2017-05-23T12:38:55.250
-1
308
194
answer