[includeme file=”inc-package-table.php” name=”lentic” where=”melpa”]
<2014-12-16 Tue>linked-bufferからlenticに改名されました。
今回はすごいマイナーなパッケージを紹介します。
というか知られてなさすぎて日本語のブログでは取り上げられてないです。
lentic.elは indirect-buffer のように 同じ内容をキープし続ける2つのバッファを使って 1つのバッファで複数のメジャーモードを実現させます。
2つのバッファを同時に表示して、カーソル位置も連動してくれるので、 単にウィンドウを切り替えるだけでメジャーモードを使い分けられます。
org-mode で文書中にソースコードを書くときに使うと便利です。
逆に、複数のファイルを1つのバッファに統合するには multifiles.el を使います。 [includeme file=”inc-package-install.php” name=”lentic” where=”melpa”]
autoloadの設定がされていないので、requireの必要があります。
(require 'lentic)
$ wget http://rubikitch.com/f/140906050929.linked-buffer.1.el $ emacs -Q -f package-initialize -l 140906050929.linked-buffer.1.el
たとえば、こんなorg文書があるとします。
==== ここから org-babelでorg文書にソースコード書けるよねー。 (setq hoge 100) けれど、毎回 C-c ' するの面倒! (defun hoge () (+ (length "abc") 999)) そこでlenticを使いましょう。 ==== ここまで
この状態で M-x lentic-split-window-right を実行すると、 右側に同じ内容のバッファが登場します。
そして、一方のカーソルを動かすと、他方のカーソルも移動し、 一方を編集すると、他方も編集されます。
ここで右側のバッファを emacs-lisp-mode にしておけば、 ソースブロックをそのまま編集できます。
ただし、保存は元のバッファで行ってください。
なお、上下分割バージョンは M-x lentic-split-window-below です。
まだ開発が始まったばかりなので、今後に期待です。
http://rubikitch.com/f/20140906051044.png Fig1: 左右のバッファを連動させて編集!! [includeme file=”inc-package-relate.php” name=”lentic”]