Emacs Org mode : アウトラインツリーのレベルをサブツリーごと変更する方法

Org modeでのアウトラインツリー

Org modeで例えば料理のレシピ集をまとめている場合にアウトラインが次のようになったとします。

* カレーのレシピ
** 材料** 手順
*** 炒める
*** 煮る
** 参考レシピ集

* ぶり大根のレシピ
** 材料
** 手順
*** ぶりの臭み抜き
*** 大根の下茹で
**** 下茹でする方法
**** 下茹でしない方法
** 参考レシピ集


これをトップレベルのヘッドラインだけ表示すると
* カレーのレシピ
* ぶり大根のレシピ

となります。

今回の話としては、ヘッドラインをサブツリーまで含めて一括でレベル変更をしようという内容になっています。例えば上の「* カレーのレシピ」というヘッドラインを、「** カレーのレシピ」というように1つレベルを落とす、かつサブツリーもそれに合わせて1つレベルを下げるのを一括で行うといった内容です。

レベルの変更

Org modeでは「*」の数がヘッドラインのレベルとなっていて、直接「*」をテキスト入力すればレベルを任意に変更出来ます。また、ヘッドライン上でキーバインド
Alt + →(もしくは←)
を用いることでもレベルの変更が可能です。

サブツリーごとまとめてレベルを変更するには

では、サブツリーを含むヘッドラインのレベルをまとめて変更するにはどうしたらいいでしょう?上で出した料理のレシピを例にすると、各レシピそれぞれを「魚のレシピ」「肉のレシピ」「鍋料理のレベル」などを新しくトップレベルとしてまとめ直したくなる場合にそのような操作が必要になってきます。
単純にはサブツリーまで全表示した状態で個別にレベルを変更します。ただこれでは一つずつ操作する必要があるため手間と時間がかかってしまいます。
そして上記の「Alt + →(もしくは←)」のキーバインドは、サブツリーがある場合には使うことが出来ません(下のツリーを非表示にしている場合)。

ではどうすればいいかというと、サブツリーまで含めてレベル操作するキーバインドを用いることで解決出来ます。そのキーバインドは
Alt + Shift + →(もしくは←)
です。

このキーバインドによりトップレベル「*」のレベルを「**」と1つ下げると、その下、さらに下のサブツリーのレベルもそれに合わせて1つ下げることが出来ます。
また、これはヘッドラインだけ表示してる状態以外でも使用出来ます。

余談

まぁそういった操作を「Alt + →(もしくは←)」のキーバインドで行おうとすると、ミニバッファに「Alt + Shift + →(もしくは←)を使って下さい」みたいな表示がされるんで、それ見て操作すればいいんですけどね😜


参考およびまとめリンク

Emacs関連のブログ記事


スポンサーリンク
Amazon Emacs関連書籍



コメント

スポンサーリンク


このブログの人気の投稿

Ubuntu Softwareが起動しないのでいろいろと調べてみる(Ubuntu 20.04.1 LTS)

gnuplotでプロットなどの色をcolornameの指定で変更する

gnuplot : プロット画像のサイズ指定について(set sizeとの違い)

gnuplot : グラフにグリッド線を描く方法(set grid)

Pythonのformat()を使って1桁の16進数でも2桁で出力する方法