mmm-mode

私はMeadow上でhatena-modeを使ってはてなダイアリに書いている。はてな記法を認識して便宜を図ってくれるのでなかなか便利だ。だが、hatena-modeC++schemeのコードを書くのはやりづらい。文書中にそういったコードを入れる場合には別のバッファで書いてからコピペするという方法をとっていた。
ひとつのバッファの中でモードを混在させることは出来ないものか。それを解決するモードとしてmmm-modeというのがあると知った。
http://sourceforge.net/projects/mmm-mode/
導入はマニュアルに従うとして、例えばhatena-modeで記述している途中にschemeのコードを記述したい場合の設定はこうなる。

;; mmm-mode
(require 'mmm-mode)
(setq mmm-global-mode 'maybe)
(set-face-background 'mmm-default-submode-face "gainsboro")

(mmm-add-classes
 '((embedded-scheme
    :submode scheme-mode
    :front ">\|scheme\|"
    :back "\|\|<")))

(mmm-add-mode-ext-class 'hatena-mode nil 'embedded-scheme)

スクリプト中にhtmlを貼り付けたい場合や、逆にhtmlの中にJavaScriptを埋め込みたい場合等、利用できる場面はいくつか思いつく。ひとつのバッファにひとつのモードでは不足なことは案外多いのではないだろうか。mmm-modeは是非とも活用したいモードと言えるだろう。
Document ID: e7f709ac1e2ab8f55b040ae9123d154f