org-sidebar

org-modeのバッファにサイドバーを表示する

Christ Church Cathedral, Dublin

ついにorg-mode用のサイドバーが登場した.最近,精力的にredditに投稿しているalphapapa氏の作った文字通りorg-sidebarがそれである.最初1年ぐらい前に発表され,暫くは様子見をしていたのだが,今回の最新版では色々と改良されており,紹介することにした.なお,前回紹介したorg-rifleも同氏の作成したパッケージである.

References

Installation

いつものように,init.orgに下記のように書き込む.

#+begin_src emacs-lisp
(use-package ts
  :ensure t)

(use-package org-sidebar
  :ensure t
  :quelpa (org-sidebar :fetcher github :repo "alphapapa/org-sidebar")
  :bind
  ("<f1> C-s" . org-sidebar-tree))
#+end_src

ただし,まず,ご本家サイトにある通りに後半の部分のみでorg-sidebarをインストールしようとすると,tsがないと文句を言われた.そこで,後半部分はコメントアウトした上で,前半部分を追加し,まず,tsをインストールするようにした.ついで,後半部分のコメントアウトを外して,再度org-sidebarをインストールしたところ,うまくいった.キーバインディングの残りがほとんどなく,とりあえず,sidebarのsに合わせられて,かつ,空いているところということで,org-sidebar-treeをf1 C-sに割り当てた.

Usage

ご本家サイトに詳細な説明とGIF動画が掲載されている.GTD toolとしてorg-modeを全く使っていない私には, M-x org-sidebar-tree だけで十分役に立つことが分かった.同コマンドを打つ,あるいは, f1 C-s を打つと下図のような画面となる.

左側がtreeのwindowであり,このブログの原稿であるorg-mode fileのlevel2までのheadingが表示されている.5094行目のorg-sidebarにカーソルがあり,このheadingが選択されていることを示す.そして,右側には,このheading (org-sidebar)の内容を示すバッファが表示されている.左側のTree windowの中をカーソルで上下して目的のheadingに行きReturnを叩けば,右側にそのheadingの内容のみが表示され,かつ,カーソルがそちらに移る.他のheadingは表示されず,そこにだけ集中できる.なかなかよくできている.

ここで注意しないといけないのは,swiperやhelm-org-rifle-current-bufferによる検索を行った際に,どのバッファがactiveかで検索範囲が異なることである.右側のバッファでは,そのheadingの内容しか検索しない.Tree windowで行うと,そのファイルの全体を対象として検索する.ただし,結果に飛ぶところでフレームのlayoutが崩れてしまうことがある.そうなると,みやすくする調整に手間がかかる.一方,helm-org-rifleやprojectileのC-c p s gなどは,普通にどのバッファにいても,そのファイル全体を検索するので,org-sidebarを使用している時には,検索にはこちらを使うべきかもしれない.

Combination of org-sidebar and treemacs

やはり,treeとつくからには,以前に紹介したtreemacs(Treemacs and Projectile)との併用を試してみたくなり,やってみたのが,下図である.

このように併用はもちろん可能ではあるが,フレームの配列が乱れてしまい,それを調整するのに手間取ることがある.目的が違うものなので,一緒にしなくても異なるフレームで使えば良いと思う.

Avatar
taipapa
本人ではありません (^^)
Next
Previous
comments powered by Disqus