Emacsで折りたたみを行う
なんか悔しいので、ちょっと便利かも知れない Emacs Lisp の紹介。上のURLから folding.el をダウンロードしてきて、load-path の通ったところにおいておく。.emacs には
(autoload 'folding-mode "folding-mode" nil t)
とでも書いておいて、適当なファイルで M-x folding-mode とやると。
すると、
// {{{ includes #include <iostream> // }}} // {{{ constants #define MESSAGE "Hello World" // }}} // {{{ main() int main(int argc, char** argv) { std::cout << MESSAGE << std::endl; return 0; } // }}}
と書いてあるファイルが折りたたまれて、
// {{{ includes... // {{{ constants... // {{{ main()...
見たいになる。あとは C-c @ C-x で折り畳み、 C-c @ C-s で折り畳みを展開。
vim の set fdm=marker したときの zc zo の挙動に近いかな。というか vim の fold が Emacs にもないかな、と探して見つけたのがこの Emacs Lisp なんだけど。
どうでもいいけど、このマークの付け方はどこから来てるんだろ。