Copyright © 2004–2025 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being "A GNU Manual," and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled "GNU Free Documentation License." in the full Org manual, which is distributed together with this compact guide.
(a) The FSF’s Back-Cover Text is: "You have the freedom to copy and modify this GNU manual."
以下は本日本語訳に関する追記です。
本日本語訳は一部Org-jaリポジトリの成果物を参考にしています。
このリポジトリの master
ブランチの最終コミット日時は2018年10月27日です。
Org-jaの参加メンバーのTwitterのアカウント名は ‘@cola_zero’, ‘@f_frhs’, ‘@khiker’, ‘@kikukawatei’, ‘@knb2’, ‘@myuhe’, ‘@peccul’, ‘@seikoubon’, ‘@shoichit’, ‘@takaxp’, ‘@takeshi_o’, ‘@tsuyoshiinoue’, ‘@r_takaishi’, ‘@yehl431’ です。
本日本語訳もまた、原文と同様に上記GNU自由文書使用許諾の下に配布されます。 本日本語訳の著作情報は以下です。
Copyright © 2024, 2025 gemmaro <gemmaro.dev@gmail.com>.
Orgとは、メモを取ったり、やることの一覧を管理したり、企画の計画を練ったりするためのメジャーモードであり、高速で効果的なプレーンテキストのシステムを備えています。 執筆と発行のシステムでもあり、文芸的プログラミングや再現性のある研究のためのソースコードの作業を支援します。
本文書は網羅的なOrgモードの取扱説明書の圧縮版です。 基本的な機能やコマンドを全て含んでおり、カスタマイズのための重要な手掛かりもあります。 その分量の多さから200ページもの取扱説明書にたじろぐ初心者を想定しています。
Important: Emacsの配布物の一部に含まれているOrgのバージョンを使っているのであれば、この節は飛ばしてActivationへ進んでください。
‘.zip’ ファイルや ‘.tar’ ファイル、あるいはGitのアーカイブとして配布物を入手することもあるでしょう。 そのようにwebからOrgをダウンロードした場合、一番なのは直接、配布物のディレクトリから起動することです。 ‘lisp’ 副ディレクトリをEmacsの読込パスに追加する必要があります。 そのためには以下の行をEmacsの初期化ファイルに追加してください。
(add-to-list 'load-path "~/path/to/orgdir/lisp")
gitを使ったりtarの圧縮ファイルの形でOrgを入手した場合は、以下のコマンドを走らせて自動読み込み情報を生成する必要があります。
make autoloads
以下の行をEmacsの初期化ファイルに追加し、Orgバッファのみならず、あらゆるEmacsのバッファで役に立つ、3つのコマンドのための 大域 キーを定義してください。 キーは自分に合ったものを選んでください。
(global-set-key (kbd "C-c l") #'org-store-link) (global-set-key (kbd "C-c a") #'org-agenda) (global-set-key (kbd "C-c c") #'org-capture)
拡張子 ‘.org’ の付いたファイルは自動的にOrgモードになります。
Orgに問題を見付けたり、質問、お便り、アイディアをお持ちでしたら、Orgのメーリングリスト mailto:emacs-orgmode@@gnu.org にメールしてください。 不具合報告の提出方法の情報については取扱説明書を参照してください。
Orgにより、文書の輪郭が分かりやすくなります。
輪郭があると、文書は階層的な構造に集約されることとなり、少なくとも筆者にとっては、こうするのがメモや考えを表現する上で一番です。
この構造を俯瞰するには、折り畳み、つまり文書の大部分を隠し、全体的な文書の構造と現在手を動かしているところのみを表示します。
Orgは正にこの表示を切り替える機能を、コマンド1つに集約することで、非常に簡単に輪郭を引けるようにしています。
それが org-cycle
であり、TABキーに束縛されています。
見出しは輪郭木を定義します。 Org中の見出し行は左の余白1、星印、空白から始まります。 例えば以下です。
* 最上位の見出し行 ** 2番目の水準 *** 3番目の水準 ナントカ *** 3番目の水準 カントカ * 別の最上位の見出し行
なお、 org-footnote-section
の名前が付いた見出しは特別なものとして見做されます。
既定では ‘Footnotes’ です。
この見出し行の部分木はエクスポート機能でしれっと無視されます。
沢山の星印があると煩わしく感じる人もいるでしょう。 見出し行の始まりに関して、行頭の空白で輪郭を引き、星印の数を1つとするのはどうでしょうか。 これを実現する設定についてはMiscellaneousを参照してください。
輪郭があることで、バッファ内のテキストの一部を隠すことができます。
Orgがバッファ内の可視性を変えるコマンドは2つだけで、TABとS-TAB( org-cycle
と
org-shifttab
)に束縛されています。
org-cycle
)部分木の循環 :現部分木の状態を順繰りに変えます。
,-> FOLDED -> CHILDREN -> SUBTREE --. '-----------------------------------'
前置引数(C-u TAB)やシフトキーで呼ばれたときは大域循環が呼び出されます。
org-global-cycle
), C-u TAB (org-cycle
)大域循環 :バッファ全体の状態を順繰りに変えます。
,-> OVERVIEW -> CONTENTS -> SHOW ALL --. '--------------------------------------'
org-show-all
)引き出しを含めて全て表示。
EmacsでOrgファイルを最初に開いたとき、大域状態は showeverything
に設定されます。
つまり、全てのファイル内容が見えています。
これは変数 org-startup-folded
を使ったり、ファイル毎に ‘STARTUP’ キーワードを加えたりして構成できます。
後者のキーワードには ‘overview’ や ‘content’ や ‘showall’ や ‘showeverything’ や
‘show<n>levels’ (n = 2..5) を入れます。
以下のような感じです。
#+STARTUP: content
以下のコマンドを使うと、バッファ内の他の見出しに飛びます。
org-next-visible-heading
)次の見出し。
org-previous-visible-heading
)前の見出し。
org-backward-heading-same-level
)同じ水準の次の見出し。
outline-backward-same-level
)同じ水準の前の見出し。
outline-up-heading
)上位水準の見出しに戻る。
org-meta-return
)現在と同じ水準で新しい見出しを挿入します。 現地点がプレーンリストの項目にあるとき、新項目が作られます(Plain Listsを参照)。 このコマンドが行の途中で使われた場合、行は分割されて残りは新しく見出し行になります2。
org-insert-todo-heading
)現見出しと同じ水準の新しいやること項目を挿入します。
org-cycle
)まだテキストのない新項目でTABとすると、考えられる水準で状態が循環します。
org-metaleft
), M-RIGHT (org-metaright
)現見出しを1水準分、昇格したり降格したりします。
org-move-subtree-up
), M-DOWN (org-move-subtree-down
)部分木を上げ下げして動かします。 つまり同水準の前後の部分木と入れ替えます。
org-refile
)項目や領域を別のファイルの違う場所に移します。 Refile and Copyを参照してください。
org-narrow-to-subtree
), C-x n w (widen
)バッファを現部分木に狭めたり、元通りに広げたりします。
活性な領域があるとき(Transient Markモード)、昇降は領域内の全見出しにはたらきます。
輪郭木から、選択された情報のための 散生木 を構築する機能は、Orgモードでは重要です。 文書全体はできるだけ折り畳みつつ、選択された情報とそれより上位の見出しの構造が見えるようにするのです3。 試してみれば、すぐにどういうものなのか分かるでしょう。
Orgモードには、そのような木を作るためのコマンドが幾つか含まれています。 こうした全コマンドは、以下の割り当てを通じて使えます。
org-sparse-tree
)散生木を作るコマンドを選択するための、追加のキーを尋ねます。
org-occur
)出現させます。 正規表現を尋ね、照合する全てからなる散生木を表示します。 各照合には色も付きます。 C-c C-cを押すと色が消えます。
その他の散生木のコマンドでは、TODOキーワード、タグ、特性に基づいて見出しを選択します。 この説明書で後ほど説明します。
輪郭木の項目内には、リストを手書きすることで更なる構造を与えられます。 確認欄付きのリスト(Checkboxesを参照)を作る方法でもあります。 Orgはそのようなリストの編集に対応しており、全エクスポート器(Exportingを参照)で構文解析と書式化が可能です。
Orgは序列リスト、順不同リスト、説明リストを認識します。
同じリストに属する項目は最初の行と同じ字下げでなければなりません。 項目の終わりは、次の行がその項目の点や数字と同じかそれより低い字下げがされているようなところの手前です。 リストの終わりは、項目が閉じていたり、空の2行の手前です。 一例は以下の通り。
* ロード・オブ・ザ・リング お気に入りのシーン(上から順に): 1. Rohirrimの攻撃 2. Eowynが魔法使いの王と戦うところ + もともと本を読んだときからお気に入りのシーンだった + マジでMiranda Ottoはいい。 この映画の立役者: - Elijah Wood :: Frodo役 - Sean Astin :: Sam役。Frodoの友人
以下のコマンドは、項目の上且つ現地点が項目の(点や番号がある)最初の行にあるときに機能します。
org-cycle
)項目を見出しの水準と同じように折り畳めます。
org-insert-heading
)現水準に新項目を挿入します。 前置引数があると、新しい見出しに決め打ちします(Structure Editingを参照)。
org-insert-todo-heading
)確認欄付きの項目を挿入します(Checkboxesを参照)。
org-move-item-up
), M-DOWN (org-move-item-down
)副項目を含む項目を上げ下げします(同じ字下げにある前後の項目と入れ替えます)。 リストに序列がある場合、自動で採番し直します。
org-do-promote
), M-RIGHT (org-do-demote
)子の項目は置き去りに、項目の字下げを増減します。
org-promote-subtree
), M-S-RIGHT (org-demote-subtree
)副項目も含めて、項目の字下げを増減します。
org-toggle-checkbox
)項目の行に確認欄(Checkboxesを参照)がある場合、確認欄の状態を切り替えます。 また、リスト全体で見たときの点と字下げの一貫性を検証します。
org-cycle-list-bullet
)リスト全体の水準について、箇条書や数え上げのそれぞれ(例えば ‘-’ や ‘+’ や ‘*’ や ‘1.’ や ‘1)’ です)で巡回させます。
Orgには高速で直感的な表の編集器が付いています。 スプレッドシートに似た計算に対応しており、Emacs Calcパッケージと繋がっています(GNU Emacs Calculator取扱説明書を参照)。
Orgでは、プレーンなASCIIの表を、簡単に整えられます。 最初の空白でない文字が ‘|’ になっている行は、何であれ表の一部と見做されます。 ‘|’ は列の区切りでもあります。 表は以下のような見た目をしています。
| 名前 | 電話 | 年齢 | |-------+-------+-----| | Peter | 1234 | 17 | | Anna | 4321 | 25 |
表の中でTABやRETやC-c C-cを押す度に、表は自動的に整列されます。 また、TABは次のフィールドに移動し(RETだと次の行)、表の末尾や水平線の手前では新しい表の行が作られます。 表の字下げは最初の行と同じ位置に設定されます。 ‘|-’ で始まる行は、何であれ水平な区切り線と見做されます。 次に整列し直すと表の幅全体にわたって展開されます。 というわけで、上の表を作るには次のように入力するだけです。
|年齢|電話|年齢| |-
それからTABを押すと表が整列されるため、後はフィールドを埋めていけば良いです。 ‘|名前|電話|年齢’ に続けてC-c RETを入力するともっと速いです。
フィールドにテキストを入力するとき、OrgはDELやBackspaceや全文字キーを特別に扱うため、挿入や削除で他のフィールドがずれません。 また、 地点がTABやS-TABやRETで新しいフィールドに移動してきた直後 に入力したときは、フィールドが自動的に空になります。
org-table-create-or-convert-from-region
)活性な領域を表に変換します。 全行に少なくとも1つのTAB文字が含まれている場合、この関数は対象をタブ区切りと仮定します。 全行にコンマが含まれる場合、コンマ区切り値(Comma Separated Values; CSV)と仮定します。 そうでなければ、行は空白のところでフィールドに分割されます。
活性な領域が無ければ、このコマンドにより空のOrgの表が作られます。 しかし単に| N a m e | P h o n e | A g e RET | - TABのように入力して始める方が簡単です。
org-table-align
)現地点を動かすことなく、表を再整列します。
org-table-next-field
)表を再整列し、次のフィールドに移動します。 必要であれば新しい行を作ります。
org-table-previous-field
)再整列し、前のフィールドに移動します。
org-table-next-row
)表を再整列し、下の次の行に移動します。 必要であれば新しい行を作ります。
org-table-move-cell-up
), S-DOWN (org-table-move-cell-down
), S-LEFT (org-table-move-cell-left
), S-RIGHT (org-table-move-cell-right
)上下左右に移動し、隣合うセルと入れ替えます。
org-table-move-column-left
), M-RIGHT (org-table-move-column-right
)現在の行を左右に移動します。
org-table-delete-column
)現在の行を消します。
org-table-insert-column
)現地点の左に新しい列を挿入します。
org-table-move-row-up
), M-DOWN (org-table-move-row-down
)現在の行を上げ下げします。
org-table-kill-row
)現在の行ないし水平線を消します。
org-table-insert-row
)現在の行の上に新しい行を挿入します。 前置引数付きで、現在の行との間に線を引きます。
org-table-insert-hline
)現在の行の下に水平線を挿入します。 前置引数付きで、現在の行の上に線を引きます。
org-table-hline-and-move
)現在の行の下に水平線を挿入します。 また、現地点をその線の下に移動させます。
org-table-sort-lines
)領域内の表の行を並び換えます。 現地点の場所は、整列に使う列を示します。 また、対象の行の範囲は最も近い水平区切り線の間か、表全体です。
HTMLと同様に、Orgでは色々なリンクが提供されています。 ファイル内もそうですし、他のファイルやUsenetの記事やEメールへの外部リンクなど沢山あります。
OrgではURIがそのまま認識されますが、山括弧に包んでも大丈夫です。 そうすれば活性化してクリックできるリンクになります。 しかし一般的なリンクの書式は次のような見た目をしています。
[[リンク][説明]]
またはその代わりに以下とします。
[[リンク]]
全角括弧が揃ってバッファ内のリンクが完成すると、Orgは ‘[[リンク][説明]]’ の代わりに ‘説明’ が、 ‘[[リンク]]’ の代わりに ‘リンク’ が表示されるようにします。 見えなくなったリンクの部分を編集するには、現地点をリンク上に置いてC-c C-lを使ってください。
リンクがURLのようでなければ、現ファイル内のものと見做されます。 一番重要なのは ‘[[#独自のID]]’ のようなリンクで、これは ‘CUSTOM_ID’ 特性が ‘独自のID’ を持つ項目へのリンクです。
‘[[対象]]’ や ‘[[対象][対象を見つける]]’ のようなリンクは現ファイルのテキストを検索して一致する対象に導きます。 検索対象は ‘<<対象>>’ のような見た目です。
Orgはファイル、webサイト、Usenet、Eメールのメッセージ、BBDBデータベース項目、IRCの会話とログの両方へのリンクに対応しています。 外部リンクはURLのような位置を示すもので、短い識別用の文字列とコロンから始まります。 コロンの後に空白を入れてはなりません。 以下に数例を挙げます。
‘http://www.astro.uva.nl/=dominik’ | web上のリンク |
‘file:/home/dominik/images/jupiter.jpg’ | 絶対パスのファイル |
‘/home/dominik/images/jupiter.jpg’ | 同上 |
‘file:papers/last.pdf’ | 相対パスのファイル |
‘./papers/last.pdf’ | 同上 |
‘file:projects.org’ | 別のOrgファイル |
‘docview:papers/last.pdf::NNN’ | DocViewモードでNNNページを開く |
‘id:B7423F4D-2E8A-471B-8810-C40F074717E9’ | 識別子による見出しへのリンク |
‘news:comp.emacs’ | Usenetのリンク |
‘mailto:adent@galaxy.net’ | メールへのリンク |
‘mhe:folder#id’ | MH-Eメッセージへのリンク |
‘rmail:folder#id’ | Rmailのメッセージへのリンク |
‘gnus:group#id’ | Gnusの記事へのリンク |
‘bbdb:R.*Stallman’ | (正規表現による)BBDBのリンク |
‘irc:/irc.com/#emacs/bob’ | IRCのリンク |
‘info:org#Hyperlinks’ | Infoノードへのリンク |
ファイルへのリンクには、リンクに飛んだときにEmacsが特定の位置に移動するよう、追加の情報を含められます。 二重コロンの後に行番号や検索オプションを取り得ます。 以下に説明付きで数例示します。
‘file:~/code/main.c::255’ | 255行目を探索 |
‘file:~/xx.org::My Target’ | ‘<<My Target>>’ を検索 |
‘[[file:~/xx.org::#my-custom-id]]’ | 独自の識別子を持つ項目を検索 |
Orgでは、正しい構文でリンクを作ったり、Orgファイルに挿入したり、リンクを辿ったりする方法が提供されています。
主眼の関数は org-store-link
であり、M-x org-store-linkで呼ばれます。
重要なので広く使えるキーに束縛することをお勧めします(Activationを参照)。
これを使うと、現地点へのリンクが保管され、後述するように、後でOrgのバッファに挿入できます。
Orgのバッファで以下のコマンドを使うと、作成や遷移、より一般的にはリンクを扱えます。
org-insert-link
)リンクを挿入します。 バッファに挿入するリンクを尋ねます。 単にリンクを入力することもできますし、UPやDOWNの履歴のキーで、保管されたリンクを使うこともできます。 リンクの説明部分についても尋ねられます。
C-u前置引数と共に呼ばれると、ファイルへのリンクにファイル名の補完が使われます。
org-insert-link
)現地点が既存のリンク上にある場合、C-c C-lとするとリンクを構成するリンク自体と説明を編集できます。
open-link-at-point
)現地点のリンクを開きます。
org-mark-ring-goto
)記録された位置に戻ります。 内部リンクを辿るコマンドとC-c %により位置が記録されます。 このコマンドを、続けて何回か使うと、以前記録された位置を巡回します。
Orgモードでは文書と分離したやること一覧を必要としません。 その代わり、やること項目はメモのファイルの一部になっています。 なぜなら大抵、やること項目はメモを取っているときに思い浮かぶものですからね。 Orgモードでは木構造中のあらゆる項目に、やること項目であるという印を付けるだけです。 こうすると、情報が重複することなく、やること項目はそれが生じた文脈に残ることになります。
Orgモードは、沢山のファイルから集めてきたやらなければいけないこと、その全部を見渡す方法を提供しています。
‘TODO’ という言葉から始めると、あらゆる見出しがTODO項目になります。 例えば以下の通りです。
*** TODO Sam Fortuneに手紙を書く
やること項目を扱う上で一番大事なコマンドは以下です。
org-todo
)現項目のやることの状態を以下で循環させます。
,-> (unmarked) -> TODO -> DONE --. '--------------------------------'
同じ循環は、予定表バッファで「遠隔」からできます。 コマンドキーtを打ちます(Commands in the Agenda Bufferを参照)。
org-shiftright
), S-LEFT (org-shiftleft
)循環させる操作に似ており、前後のやることの状態を選びます。
org-show-todo-tree
)やること項目を 散生木 で表示します(Sparse Treesを参照)。 バッファ全体を折り畳みますが、完了の状態でない全やること項目と、その上位の見出しは表示されます。
org-todo-list
)大域的なやること一覧を表示します。 全予定表ファイル(Agenda Viewsを参照)から(完了の状態でない)やること項目を1バッファに集めます。 より詳細な情報についてはThe Global TODO Listを参照してください。
org-insert-todo-heading
)現項目の下に新しいやること項目を挿入します。
やることの状態を変えると、タグの変更を生じることがあります。
詳細については org-todo-state-tags-triggers
オプションのドキュメント文字列を参照してください。
TODOキーワードを使うと、作業の 一連の 進捗状態を示せます。
(setq org-todo-keywords '((sequence "TODO" "FEEDBACK" "VERIFY" "|" "DONE" "DELEGATED")))
縦線は ‘TODO’ (つまり 行動が必要な 状態である)キーワードと ‘DONE’ (つまり これ以上行動が不要 な)状態を分離します。 分離のための線を与えない場合、最後の状態が ‘DONE’ の状態として使われます。 この設定下では、コマンドC-c C-tは項目を ‘TODO’ と ‘FEEDBACK’ と ‘VERIFY’ と ‘DONE’ と ‘DELEGATED’ に循環させます。
時には複数の組のTODOキーワードを場合によって使い分けたいこともあるでしょう。 例えば基本的な ‘TODO’ / ‘DONE’ だけでなく、不具合修正のための作業工程も欲しいとします。 その場合、以下のような感じの設定になります。
(setq org-todo-keywords '((sequence "TODO(t)" "|" "DONE(d)") (sequence "REPORT(r)" "BUG(b)" "KNOWNCAUSE(k)" "|" "FIXED(f)")))
キーワードは全て異なるようにします。 これにより、Orgモードは与えられた項目に対して、どの部分列を使えば良いかを把握できます。 また、この例では特定の状態を簡単に使うための、キーの定義法も示しています。 各キーワードの後の括弧内に文字を追加するのです。 こうするとC-c C-tの後にキーを尋ねられます。
1ファイルでのみ有効なTODOキーワードを定義するには、以下のテキストを使います。 ファイルのどこであっても大丈夫です。
#+TODO: TODO(t) | DONE(d) #+TODO: REPORT(r) BUG(b) KNOWNCAUSE(k) | FIXED(f) #+TODO: | CANCELED(c)
これらの行を変更した後、その行の上にカーソルを置いたままC-c C-cを使うと、Orgモードに変更したことが伝わります。
やることの状態が変わるときに時刻やメモを記録するには、前置引数付きでコマンド org-todo
を呼びます。
org-todo
)メモを求められるため、答えます。 やることの状態が変わったときの時間が記録されます。
またOrgモードでは、自動的に時刻を記録することも、やること項目をDONEに印を付けるときに任意でメモを取ることも、やること項目の状態が変わる度に記録することも可能です。 このシステムはかなり構成が効くため、設定はキーワード単位にもできますし、ファイルや部分木の範囲に局所化することもできます。 やることに掛けた作業時間を計測する方法についての詳しい情報については、Clocking Work Timeを参照してください。
一番基本的な記録は、やること項目が完了になった その時 を形に残すことです。 これは以下で実現できます4。
(setq org-log-done 'time)
項目をTODO(未完了)から何らかの完了の状態に切り替える度に、見出しのすぐ後に ‘CLOSED: [時刻]’ の行が挿入されます。
時刻と一緒にメモも取りたければ、以下を使います5。
(setq org-log-done 'note)
そうするとメモについて尋ねられるようになり、そのメモは項目の配下の ‘Closing Note’ の見出しに保管されます。
やることの状態の変化を記録し続けたいことがあるかもしれません。
変更には、時刻だけ、または時刻付きでメモを記録できます。
これらの記録は見出し行の後に箇条書きとして挿入されます。
沢山のメモを取るとき、このメモを引き出しに仕舞いたいことがあるでしょう。
この挙動にするには、変数 org-log-into-drawer
をカスタマイズします。
状態の記録に関し、Orgモードはキーワード毎の単位で構成を受け付けられます。 このようにするには、各キーワードの後の括弧内に ‘?’ (時刻用)や ‘@’ (メモ用)の特別な印を加えます。 例えば以下の通りです。
#+TODO: TODO(t) WAIT(w@/!) | DONE(d!) CANCELED(c@)
TODOキーワードと高速利用キーを定義し、また項目が ‘DONE’ に設定されたときに時刻を記録するよう頼んでいます。
また、 ‘WAIT’ や ‘CANCELED’ に切り替えたときに、メモが記録されるようにもしています。
同じ構文は org-todo-keywords
を設定したときにも機能します。
Orgモードを使い込むと、優先度を付け始める位にはやること項目が出てくるようになるでしょう。 優先度付けはやること項目の見出し行に 優先度添加物 を付けるとできます。 以下のような感じです。
*** TODO [#A] Sam Fortuneに手紙を書く
Orgモードは ‘A’ と ‘B’ と ‘C’ の3つの優先度に対応しています。 ‘A’ は最高で、何も無ければ ‘B’ が既定です。 優先度の違いが出てくるのは予定表の中だけです。
org-priority
)現見出し行の優先度を付けます。 A、B、Cを押して優先度を選ぶか、SPCで添加物を削除します。
org-priority-up
)org-priority-down
)現見出し行の優先度を増減します。
やることが大きいときは、より小さく管理できることに分解するのがお勧めです。 このようにするには、やること項目の下に輪郭木を生やし、その木に詳しいことを書きます。 既に完了の印が付いたことの割合を俯瞰するためには、見出し行のどこかに ‘[/]’ または ‘[%]’ を入れてください。 この添え物は、子のやること状態が変化したり、添え物の上でC-c C-cを押したりしたときに、都度更新されます。 例えば以下の通り。
* パーティーを開く [33%] ** TODO みんなに連絡 [1/2] *** TODO Peter *** DONE Sarah ** TODO 食べ物を買う ** DONE 近所の人に話しておく
プレーンリスト(Plain Listsを参照)中の全項目は、文字列 ‘[ ]’ で始めることによって確認欄を付けられます。 確認欄は大域的なやること一覧には含まれません。 そのため、やることを沢山の単純な工程に分割するとき、しばしばとても役立ちます。
以下は確認欄リストの例です。
* TODO パーティを開く [2/4] - [-] みんなに連絡 [1/2] - [ ] Peter - [X] Sarah - [X] 食べ物を注文
確認欄は階層的に動作します。 そのため、確認欄の項目に確認欄付きの子の項目があるなら、子の項目の確認欄のうち、1つを切り替えると、親の確認欄に反映されます。 子の確認欄は、全部の印が外れているか、幾つか印が付いているか、全部に付いているかの何れかです。
確認欄では、以下のコマンドが使えます。
org-toggle-checkbox
)確認欄の状態を切り替えます。 もしくは前置引数を付けると、現地点にある確認欄の有無を切り替えます。
org-insert-todo-heading
)確認欄付きで新項目を挿入します。 現地点が既にプレーンリスト(Plain Listsを参照)の項目にあるときにのみ動作します。
相互参照する情報にラベルや文脈を付与する上で、見出しに タグ を割り当てるのは素晴らしい方法です。 Orgモードには幅広くタグに対応しています。
全見出しにタグのリストを含められます。 タグは見出しの末尾に現れます。 いろはの文字、数字、 ‘_’ や ‘@’ を含む、普通の単語です。 タグはコロン1個が前後に無ければなりません。 例えば :work: です。 複数のタグを ‘:work:urgent:’ のように指定できます。 既定では、タグは見出しと同じ色で太字の見た目です。
タグは輪郭木の階層的な構造を利用します。 ある見出しに特定のタグがあるとき、全小見出しもまた、そのタグを継承します。 例えばリストに、以下のようにタグがあるとします。
* フランス語のグループと会議 :work: ** Frankによる総括 :boss:notes: *** TODO スライドを準備 :action:
明示的に付けられてないものもありますが、最後の見出しにはタグ ‘work’ と ‘boss’ と ‘notes’ と ‘action’ があります。
あたかもファイル全体を取り巻く仮想的な水準ゼロに定義されているかのようにタグを設定し、ファイル中の全項目が継承するようにもできます6。
#+FILETAGS: :Peter:Boss:Secret:
タグは単に見出しの末尾に打ち込めば大丈夫です。 コロンの後でM-TABとするとタグの補完が提供されます。 タグの挿入用の特別なコマンドもあります。
org-set-tags-command
)現見出しに新規タグを入力します。 Orgモードは補完を提供しますし、後述するように、タグを設定する単一キーの特別なインターフェースもあります。
org-set-tags-command
)現地点が見出し行にあるとき、C-c C-qと同じことをします。
Orgは タグのリスト に基づくタグの挿入に対応しています。
既定では、リストは動的に構築され、バッファで現在使われている全タグが含まれます。
変数 org-tag-alist
で固定のタグのリストを指定しても良いでしょう。
最後に、以下のように ‘TAGS’ キーワードを使い、与えられたファイルに既定のタグを設定できます。
#+TAGS: @work @home @tennisclub #+TAGS: laptop car pc sailboat
既定では、Orgモードはタグの入力に標準的なミニバッファ補完の機能を使います。
しかし他にも 高速タグ選択 という名前の、より手早いタグ選択方法が実装されています。
この方法では、単に1つキーを押すだけで、タグを選択したり解除したりできます。
これを使いこなすには、よく使うタグのほとんどに、一意の文字を割り当てます。
Emacsの初期化ファイル中で変数 org-tag-alist
を構成することで、大域的にこの設定をします。
例えば複数のファイル中の沢山の項目に、タグ ‘@home’ を付ける必要があるとしましょう。
この場合、以下のように設定できます。
(setq org-tag-alist '(("@work" . ?w) ("@home" . ?h) ("laptop" . ?l)))
タグが作業しているファイルにのみ関係するのであれば、代わりに以下のように ‘TAGS’ キーワードを設定できます。
#+TAGS: @work(w) @home(h) @tennisclub(t) laptop(l) pc(p)
タグは、あるタグの集まりに対する 集合タグ として定義できます。 集合タグはそのタグの集まりの「広義の用語」と見做せます。
集合タグを設定するには、角括弧を使い、集合タグと関係するタグの間にコロンを挟みます。
#+TAGS: [ GTD : Control Persp ]
または、集合の中のタグが相互排他であれば、以下のようにします。
#+TAGS: { Context : @Home @Work }
集合タグで検索するとき、集合とその部分集合の全構成要素に照合するものが返ります。 予定表の表示では、集合タグで絞り込むと、集合または部分集合の何れかの中にある、少なくとも1つの構成要素の見出し行にタグが付いているものが、表示されたり隠されたりします。
一時的に集合タグを無視したければ、 org-toggle-tags-groups
で集合タグの切り替えに対応しています。
これはC-c C-x qに束縛されています。
org-match-sparse-tree
)タグ検索に合致する、全見出し行を持つ散生木を作ります。 C-u前置引数付きで、やることの行でない見出し行が無視されます。
org-tags-view
)全予定表ファイルから、タグが合致する大域的な一覧を作ります。 Matching Tags and Propertiesを参照してください。
org-tags-view
)全予定表ファイルから、タグに合致する大域的な一覧を作ります。 ただしやること項目のみが確認されます。
これらのコマンドは全て、照合用の文字列を尋ねます。 この文字列では ‘+boss+urgent-project1’ といった基本的な真偽値の論理が使えます。 この例では ‘boss’ と ‘urgent’ のタグを持つものの、 ‘project1’ のタグは持たない項目を見付けてきます。 また、 ‘Kathy|Sally’ とすると ‘Kathy’ または ‘Sally’ とタグ付けされた項目となります。 検索の文字列の完全な構文は豊富にあり、TODOキーワード、項目の水準、特性に対して合致できます。 沢山の例を含むより詳細な説明については、Matching Tags and Propertiesを参照してください。
特性は項目に関連するキーバリューの対です。 名前が ‘PROPERTIES’ の特別な引き出しに仕舞われます。 各特性は1行で指定され、(コロンで囲まれた)キーが最初に来て、その後に値が続きます。
* CDの収集 ** クラシック *** Goldberg Variations :PROPERTIES: :Title: Goldberg Variations :Composer: J.S. Bach :Publisher: Deutsche Grammophon :NDisks: 1 :END:
特性 ‘Xyz_ALL’ を設定することで、特性 ‘Xyz’ で使える値を定義できます。 この特別な特性は 継承される ため、水準が1の項目に設定するとその木全体に適用されます。 使える値が定義されていると、対応する特性の設定が簡単になり、入力し間違うことが減ります。 CDの収集の例で行くと、発行者や箱の中のディスクの枚数を予め定義しておけます。
* CDの収集 :PROPERTIES: :NDisks_ALL: 1 2 3 4 :Publisher_ALL: "Deutsche Grammophon" Philips EMI :END:
ファイルのどの項目にも継承される特性を設定したいときは、次のような行を使ってください。
#+PROPERTY: NDisks_ALL 1 2 3 4
以下のコマンドは特性を扱う操作を補助するものです。
org-set-property
)特性を設定します。 特性の名前と値を尋ねます。
org-delete-property
)特性を現項目から削除します。
特性に基づいて選択された散生木や特別な一覧を作るのには、タグ検索と同じコマンドが使えます(Tagsを参照)。 検索文字列の構文はMatching Tags and Propertiesで説明されています。
企画の計画が立てやすくなるよう、やること項目には日付と時間を付けられます。 日付と時間の情報を持つこの特別な書式文字列のことをOrgモードでは 時刻記録 と言います。 この言葉はちょっと紛らわしいかもしれません。 というのも、時刻記録は何かが作られたり最後に変更されたりしたときを指すのによく使われるからです。 しかしOrgモードでは、この用語はより広い意味で使われます。
時刻記録は、計画の予約を入れたり、やることの日程を立てたり、期日を設定したり、時間を計測したりなど、色々なことに使えます。 以降の節では時刻記録とOrgモードで提供される道具について解説します。 この道具は時刻と時間幅を扱うような、よくある用途で活躍します。
時刻記録は特別な形式で書かれた日付の指定であり、時間や時間の範囲も付けられます。 ‘<2003-09-16 Tue>’ や、 ‘<2003-09-16 Tue 09:39>’ や、 ‘<2003-09-16 Tue 12:00-12:30>’ がそうです。 時刻記録は見出し行またはOrgの木項目の本文のどこにあっても大丈夫です。 時刻記録があると、予定表で該当の日付に項目が現れるようになります(The Weekly/Daily Agendaを参照)。 以下の区分があります。
単純な時刻記録は、項目に日付や時間を割り当てるだけです。 ちょうど、紙の予定表に予約やイベントを書き下す感じです。 項目に複数の時刻記録があっても大丈夫です。
* Peterと映画館で待ち合わせ <2006-11-01 Wed 19:15> * 気候変動についての討論 <2006-11-02 Thu 20:00-22:00> * 休日 <2006-11-03 Fri> <2006-11-06 Mon>
時刻記録には 繰り返す間隔 を含められます。 この間隔があると、与えられた日付だけではなく、N時間 (h)、N日間 (d)、N週間 (w)、Nヶ月間 (m)、N年間 (y) の、特定の間隔を空けて繰り返しその日付に適用されることを示します。 以下は毎週水曜日に予定表へ現れます。
* 学校までSamを迎えに行く <2007-05-16 Wed 12:30 +1w>
より複雑な日付の指定として、Orgモードでは特別な式を持つ日記の項目を使えます。 この式はEmacsのCalendarパッケージで実装されているものです。 例えば以下の通りです。 このように任意で時刻を付けられます。
* 22:00-23:00 毎月第2木曜日のオタクの集い <%%(diary-float t 4 2)>
時間の範囲では、時刻記録に ‘-’ で連結された2つの時間があります。
* 気候変動についての討論 <2006-11-02 Thu 10:00-12:00>
‘--’ で連結された2つの時刻記録は範囲を表します。 予定表では、見出し行がその範囲の最初と最後の日と、その範囲内にある全ての日で表示されます。 1つ目の例は単に日付の範囲を指定したものですが、2つ目の例では各日付に時間の範囲を指定しています。
** アムステルダムで会議 <2004-08-23 Mon>--<2004-08-26 Thu> ** 今週の委員会会議 <2004-08-23 Mon 10:00-11:00>--<2004-08-26 Thu 10:00-11:00>
普通の時刻記録と似ていますが、山括弧ではなく角括弧のものです。 この時刻記録は、予定表で項目が現れ ない ようにするという意味で、非活性になります。
* Gillianが5回目の遅刻 [2006-11-01 Wed]
Orgモードに時刻記録を認識させるには、所定の形式で書く必要があります。 以下に列挙されている全コマンドでは、正しい形式で時刻記録が作られます。
org-timestamp
)日付を尋ねて、対応する時刻記録を挿入します。 現地点がバッファ内の既存の時刻記録上にあるときは、新しく挿入するのではなく、その時刻記録を変更します。 連続して2回使われたときは、時間の範囲が挿入されます。 前置引数付きでは現時刻も追加します。
org-timestamp-inactive
)C-c .と似ていますが、予定表の項目に現れないようにする、非活性な時刻記録を挿入します。
org-timestamp-down-day
), S-RIGHT (org-timestamp-up-day
)現地点にある日付を1日分変更します。
org-timestamp-up
), S-DOWN (org-timestamp-down
)時刻記録の括弧の開閉部分のところでは、時刻記録の種類を変更します。 時刻記録の内部では現地点に該当する項目を変更します。 現地点の場所が年、月、日、時、分の何れかにあるとき、その部分が変わるということです。 時刻記録に ‘15:30-16:30’ といった時間の範囲が含まれるとき、1つ目の時間を変更すると、2つ目の時間もずれます。 このとき、一定の時間の長さが保たれるよう、時間の塊がずれます。 時間の長さを変更するには、2つ目の時間を変更します。
Orgモードが日付や時間を尋ねるとき、何らかの日付や時間の情報を含む任意の文字列を受け付けます。 そして賢くその文字列を解釈し、指定されていない情報については現日時を既定のものとして導出します。 ポップアップする暦で日付を選択することもできます。 日付や時刻のプロンプトの正確な仕組みについて、より詳しくはマニュアルを参照してください。
時刻の前に特別なキーワードを書くと、計画を立てやすくなります。
org-deadline
)見出しの後に、 ‘DEADLINE’ キーワードを時刻と共に挿入します。
その意味するところは、その日付にやるべきことを終わらせるということです。 大方やるべきことを書きますが、そうする必要まではありません。
期日になると、やることが予定表に載ります。
加えて その日 の予定表には、近付いていたり、過ぎてしまったりした期日の警告もあります。
前者は期日の org-deadline-warning-days
前から始まり、後者はその項目が完了したと印が付けられるまで残り続けます。
一例は次の通り。
*** TODO 『地球を案内するときに読む本』の記事を書く DEADLINE: <2004-02-29 Sun> 担当編集者は[[bbdb:Ford Prefect]]
org-schedule
)見出しの後の行に、 ‘SCHEDULED’ キーワードを時刻付きで挿入します。
その意味するところは、与えられた日付から、やることに取り掛かるつもりだということです7。
見出しは与えられた日付の下に並びます8。 加えて、予定の日付が過ぎたことの催促は その日 に纏めて表示されます。 これはその項目に済みの印が付くまで残ります。 つまり、やることは完了するまで自動的に繰り延べられます。
*** TODO Trillianに大晦日に会う連絡をする SCHEDULED: <2004-12-25 Sat>
何度も繰り返さなければいけないこともあります。 Orgモードでは、いわゆる繰り返し機能を使って、やることを整理できます。 ‘DEADLINE’ や ‘SCHEDULED’ やそのままの時間記録に書けます。 以下の例を見てください。
** TODO 家賃の支払い DEADLINE: <2005-10-01 Sat +1m>
‘+1m’ が繰り返し機能です。 意図を説明すると、やることの期限は ‘<2005-10-01>’ であり、毎月(1ヶ月毎)の繰り返しがその日から開始される、となります。
Orgモードでは企画に於いて特定のやることに費やした時間を計測できます。
org-clock-in
)現項目で計測を始めます(これをclock-inと言います)。 こうすると ‘CLOCK’ キーワードが時刻と共に挿入されます。 C-u前置引数と共に呼ばれると、最近計測したやることの一覧からやることを選べます。
org-clock-out
)計測を終了します(clock-outと言います)。 こうすると計測が最後に開始されたところと同じ場所に別の時刻が挿入されます。 また、結果として掛かった時間を計算して ‘=>HH:MM’ として時間幅を直後に挿入します。
org-clock-modify-effort-estimate
)現在計測中のやることの工数見積もりを更新します。
org-clock-cancel
)現計測を取り消します。 計測を間違って始めてしまったときや、別のことをしていたときに便利です。
org-clock-goto
)現在計測している、やることの見出し行に向かいます。 C-u前置引数を付けると、最近計測したやることの一覧から対象のものを選べます。
予定表(The Weekly/Daily Agenda)でlキーを使うと、一日の内に作業したり閉じたりしたやることが表示されます。
集約システムで大事なのは、新しい考えややることを素早く捕えて、参照した資料と関連付ける機能です。 Orgでは 確保 と呼ばれる処理を使います。 特別なディレクトリにやることに関係するファイル(これを 添付物 と言います)を保管することもできます。 一旦システムに取り込んだら、やることや企画を移動する必要が出てきます。 完了した企画の木は収容ファイルに移動させるようにすると、システムが簡潔で高速な状態が保たれます。
確保では、作業の流れをほぼ中断することなく、手早くメモを保管できます。 新項目用に雛形を定義したり、保管するメモの各行き先に関連付けたりできます。
以下のカスタマイズはメモ用の既定の行き先9ファイルを設定します。
(setq org-default-notes-file (concat org-directory "/notes.org"))
新しい題材を確保するための、大域的なキーを定義しておくこともできます(Activationを参照)。
org-capture
)確保処理を開始します。 編集のための狭まった間接的なバッファに移動します。
org-capture-finalize
)確保バッファに情報を入力し終わったら、C-c C-cとすると確保処理の前に構成されていた窓に戻ります。 そのため、それ以上気が散ることなく作業を再開できます。
org-capture-refile
)メモを違う場所に再編し、確保を終了します(Refile and Copyを参照)。
org-capture-kill
)確保処理を中断し、以前の状態に戻ります。
確保する物の種類や行き先の場所によって、様々な雛形を使えます。 一般的なやること項目を作るのに、ある雛形を使いたいとしましょう。 また、この項目をファイル ‘~/org/gtd.org’ 内の見出し ‘Tasks’ 配下に置きたいとします。 また、ファイル ‘journal.org’ 内の日付による木構造では、日誌の項目が確保されるものとします。 考えられる構成は次のようになります。
(setq org-capture-templates '(("t" "Todo" entry (file+headline "~/org/gtd.org" "Tasks") "* TODO %?\n %i\n %a") ("j" "Journal" entry (file+datetree "~/org/journal.org") "* %?\nEntered on %U\n %i\n %a")))
そうしておいて確保のメニューからtを押すと、Orgは次のように雛形を準備します。
* TODO [[file:確保を開始したところへのリンク]]
雛形の展開時に、特別な%によるエスケープ要素10を使うと、内容を動的に挿入できます。 以下は取り得る要素から少し選んできたものです。 詳しくは取扱説明書をあたってください。
‘%a’ | 註釈。通常は org-store-link で作られるリンク |
‘%i’ | 初期状態の内容で、C-u付きで確保が呼び出されたときの領域 |
‘%t’, ‘%T’ | 時間記録、日付のみ、または日付と時間 |
‘%u’, ‘%U’ | 上と似ていますが、非活性な時間記録です |
‘%?’ | 雛形を完成させた後、ここに地点の位置が来ます |
確保したデータを見返すと、項目を別のリストに再配置したり複製したくなることがあるでしょう。 宛先は例えば何らかの企画です。 メモを切り取り、正しい場所を見付け、貼り付ける、というのは億劫なものです。 この工程を単純にするため、以下の特別なコマンドが使えます。
org-agenda-refile
)現地点にある項目や領域を再編します。 このコマンドでは、項目を再編する上で考えられる場所を提示し、補完付きで選べるようにします。 項目(または領域内の全項目)は対象の見出しの下に副項目として配置されます。
既定では、現バッファの水準が1の全見出しが対象と見做されます。
しかし複数のファイルにわたる、もっと複雑な定義にできます。
詳細については org-refile-targets
変数を参照してください。
org-agenda-refile
)再編のインターフェースを使い、見出しに飛びます。
org-refile-goto-last-stored
)org-refile
が最後に移動させた木の場所に飛びます。
org-refile-copy
)複製は再編と同じような感じですが、元のメモは削除されません。
(部分)木で表現される企画が終了したとき、木を退かして予定表へ載らないようにしたいことでしょう。 作業ファイルを簡潔に、そして予定表の表示の構築といった大域的な探索を高速に保つために、収容は重要です。
一番よくある収容の操作は、企画の木を別のファイルに移すことです。 このファイルを収容ファイルと呼びます。
org-archive-subtree-default
)変数 org-archive-default-command
で指定されたコマンドを使い、現項目を収容します。
org-archive-subtree
)現地点の位置から始まる部分木を org-archive-location
で与えられる位置に収容します。
既定の収容場所は、現ファイルと同じディレクトリ内のファイルで、現ファイル名に ‘_archive’ を付けて導出した名前を持つものです。
収容された項目が収まる行き先のファイルを選ぶこともできます。
更にファイル内のデータ木に加えることも可能です。
ファイルと見出しの指定方法についての詳細と例については、変数 org-archive-location
のドキュメント文字列を参照してください。
この変数を設定するバッファ内オプションもあります。 例えば次の通り。
#+ARCHIVE: %s_done::
Orgモードの仕組み上、やること項目や時間が付いた項目や、タグ付けされた見出し行は、ファイル中、更には数多くのファイルに散らばってしまうことがあります。 行動が必要な項目や、特定の日付で重要なイベントの概観を取るべく、情報を集めて整列し、集約した上で表示しなければなりません。
抽出された情報は特別な 予定表バッファ に表示されます。 このバッファは読み取り専用ですが、元のOrgファイルの対応する位置に飛んだり、更には遠隔でこれらのファイルを編集するためのコマンドが提供されています。 予定表バッファでの遠隔での編集というのは、例えば、予定表バッファから期日や予約の日付を変更できるということです。 予定表バッファで使えるコマンドについては、Commands in the Agenda Bufferを参照してください。
表示される情報は通常、全 予定表ファイル から収集されます。
これらのファイルは変数 org-agenda-files
に挙げられているものです。
org-agenda-file-to-front
)現ファイルを予定表ファイルの一覧に追加します。 ファイルは一覧の先頭に追加されます。 既に一覧にあったときは、先頭に移動します。 前置引数があるときは、ファイルは末尾に追加または移動します。
org-remove-file
)現ファイルを予定表ファイルのリストから削除します。
org-cycle-agenda-files
)予定表ファイルのリストを循環させ、順番に開いていきます。
予定表の表示は、コマンド選択画面を経由して作られます。 M-x org-agendaとするとその画面になりますが、大域的なキーを束縛するともっと良くなります(Activationを参照)。 メニューが表示され、そこで更に文字を打つとコマンドが実行されます。 コマンド選択画面では、以下の既定のコマンドが提供されます。
暦のような予定表を作ります(The Weekly/Daily Agendaを参照)。
全やること項目の一覧を作ります(The Global TODO Listを参照)。
与える式に合致する見出し行の一覧を作ります(Matching Tags and Propertiesを参照)。
キーワードの真偽値の式や正規表現で選択される項目の一覧を作ります。 項目の表示に必要な条件のみならず、その条件があると項目が表示されないようにもできます。
週次または日次の 予定表 の用途は、紙の予定表の1ページのようなものです。 今週または今日の、全てのやることが表示されます。
org-agenda-list
)Orgファイルのリストから、今週の予定表に盛り込みます。 予定表では項目が日毎に表示されます。
Orgモードは日記の構文を認識します。 そのためOrgファイルで直接、日記式の項目を使えます。
* Holidays :PROPERTIES: :CATEGORY: Holiday :END: %%(org-calendar-holiday) ; 祝日名の特別な関数 * Birthdays :PROPERTIES: :CATEGORY: Ann :END: %%(org-anniversary 1956 5 14) Arthur Dentは %d 歳 %%(org-anniversary 1869 10 2) Mahatma Gandhiが生きていたら %d 歳
OrgはEmacsの予約通知機能と連携できます。
予定表ファイルの予約を追加するには、コマンド org-agenda-to-appt
を使います。
大域的なやることの一覧には、未完の全やること項目が書式化され、一箇所に集められます。 やること項目を遠隔で編集することにより、1つキーを押すだけでやること項目の状態を変えられます。 やることの一覧で使えるコマンドについては、Commands in the Agenda Bufferを参照してください。
org-todo-list
)大域的なやることの一覧を表示します。 こうすると全予定表ファイル(Agenda Viewsを参照)からやること項目が1つのバッファに集まります。
org-todo-list
)上のものと似ていますが、特定のやることキーワードの選択ができます。
予定表ファイルの見出し行に タグ で印が付いていたり、特性を持っていたりするとき、このメタ情報に基づいて見出し行を選択し、1つの予定表バッファに集められます。 ここで記述される照合の構文はC-c / mで作られる散生木にも当て嵌ります。
org-tags-view
)与えられたタグの集まりに合致する全見出し行を一覧にします。 コマンドでは選択の条件が尋ねられます。 この条件は、 ‘+work+urgent-withboss’ や ‘work|home’ のような、タグを伴う真偽値の論理式です(Tagsを参照)。 特定の検索がしばしば必要であれば、独自のコマンドを定義できます(The Agenda Dispatcherを参照)。
org-tags-view
)mと似ていますが、やること項目であることも見出し行の選択の条件に加味します。
検索文字列では真偽値演算子を使うことができ、連言は ‘&’ と、選言は ‘|’ とします。 ‘&’ の束縛は ‘|’ よりも強いです。 括弧は現時点で実装されていません。 検索の各要素は、タグ、タグに合致する正規表現、比較演算子を伴って特性値を得る ‘特性 演算子 値’ のような式、の何れかです。 選択を外す要素には ‘-’ を前に付けられます。 また、 ‘+’ は陽に選択するための糖衣構文です。 ‘+’ や ‘-’ があるとき、連言演算子 ‘&’ は省略できます。 以下に例を示します。 何れもタグのみを使っています。
‘work’ とタグ付けされた見出し行を選択しますが、更に ‘boss’ までタグ付けされているものは無視します。
‘work’ または ‘laptop’ とタグが付いた行を選択します。
前のものと似ていますが、 ‘laptop’ の付いた行には ‘night’ もタグ付けされている必要があります。
タグの照合と共に特性についての検査も含められます。 詳しくは取扱説明書を参照してください。
この予定表の表示は、Orgモードの項目に対する一般的なテキストによる検索機能です。 特にメモを見付けるのに便利です。
org-search-view
) ¶部分文字列や真偽値の論理を使った特定の単語に合致する項目を選択できる、特別な検索です。
例えば、検索文字列 ‘computer equipment’ は ‘computer equipment’ を部分文字列として含む項目に合致します。
検索表示では真偽値の論理を使い、項目内の特定のキーワードを検索することもできます。 検索文字列 ‘+computer +wifi -ethernet -{8\.11[bg]}’ に合致するメモの項目は、キーワード ‘computer’ と ‘wifi’ を含んでいるが、キーワード ‘ethernet’ は含んでおらず、更に正規表現 ‘8\\.11[bg]’ に合致しないものです。 正規表現の意味は、 ‘8.11b’ と ‘8.11g’ を両方とも除くということです。
なおこのコマンドは、予定表ファイルに加えて org-agenda-text-search-extra-files
に挙がっているファイルも検索します。
予定表バッファ中の項目は、その出所であるOrgファイルや日記ファイルにリンクを逆に辿れます。 予定表バッファそのものを編集することはできませんが、元の項目の場所を表示したりそこへ飛んだりするコマンドは提供されており、予定表バッファから「遠隔」でOrgファイルを編集することもできます。 ここでは沢山のコマンドから掻い摘んで説明しますが、完全な一覧については予定表のメニューや取扱説明書を探ってみてください。
org-agenda-next-line
)次の行に移ります(DOWNやC-nと同じです)。
org-agenda-previous-line
)前の行へ移ります(UPやC-pと同じです)。
org-agenda-show-and-scroll-up
)別の窓で項目の元の場所を表示します。 前置引数付きのときは引き出しが必ず閉じた状態になります。
org-agenda-goto
)別の窓で項目の元の位置に移動します。
org-agenda-switch-to
)項目の元の場所に移動し、その他の窓を削除します。
delete-other-windows
)他の窓を削除します。
org-agenda-day-view
)日毎の表示に切り替えます。
org-agenda-week-view
)週毎の表示に切り替えます。
org-agenda-later
)現時刻より先の表示に移動します。 例えば1週間にわたる表示であれば、翌週に切り替えます。
org-agenda-earlier
)遡って、現在より前の日付を表示します。
org-agenda-goto-today
)今日に移動します。
org-agenda-goto-date
)日付を尋ね、その日に移動します。
org-agenda-log-mode
)記帳モードを切り替えます。
記帳モードでは、完了の印が付いている一方でログ記録が有効な項目(変数 org-log-done
を参照)が予定表に表示されます。
その日に計測された項目ということです。
C-u前置引数付きで、状態の変化を含む、できる限り全記帳項目が表示されます。
org-agenda-redo
)予定表バッファを再作成します。 項目の時刻記録の変更後、変更を反映させるときなどに使います。
org-save-all-org-buffers
) ¶Emacsの現セッションでの全OrgバッファとIDの位置を保存します。
数字の引数です。
org-agenda-todo
)項目のやること状態を変更します。 予定表と元のOrgファイルの両方を変えます。
org-agenda-kill
)予定表の現項目を、元のOrgファイル内のその項目が属する部分木もろとも削除します。
org-agenda-refile
)現地点にある項目を再編します。
org-agenda-archive-default-with-confirmation
)org-archive-default-command
に設定された既定の収容コマンドを使って、現地点の項目に対応する部分木を収容します。
org-agenda-archive
)現見出しに対応する部分木を収容します。
org-agenda-schedule
)この項目の日程を定めます。 前置引数付きで日程の時刻記録を削除します。
org-agenda-deadline
)この項目の期日を設定します。 前置引数付きで期日を削除します。
org-agenda-do-date-later
)現在の行に紐付く時刻記録を1日分未来にします。
org-agenda-do-date-earlier
)現在の行に紐付く時刻記録を1日分過去にします。
org-agenda-clock-in
)現項目の計測を開始します。
org-agenda-clock-out
)以前開始した計測を止めます。
org-agenda-clock-cancel
)現計測を取り消します。
org-agenda-clock-goto
)別の窓で計測中の項目に飛びます。
org-agenda-quit
)予定表を中止し、予定表バッファを削除します。
org-agenda-exit
)予定表を終了し、予定表バッファと予定表を組み上げるためにEmacsで読み込まれた全てのバッファが削除されます。
独自の検索で初めにする応用としては、頻繁に使う検索のためのキーボードショートカットの定義があります。 これを定義すると、予定表や散生木のバッファを作れます(もちろん後者は現バッファに限定されます)。
独自のコマンドは変数 org-agenda-custom-commands
で構成されます。
この変数をカスタマイズするには、例えば予定表のコマンド選択画面からCと押します(The Agenda Dispatcherを参照)。
Emacsの初期化ファイルで、Emacs Lispで直接設定することもできます。
以下の例は全て妥当な予定表の表示です。
(setq org-agenda-custom-commands '(("w" todo "WAITING") ("u" tags "+boss-urgent") ("v" tags-todo "+boss-urgent")))
各項目の1つ目の文字列は、そのコマンドに至るために、コマンド選択画面を開くコマンドの後に押さなければいけないキーを定義しています。 大抵は単に1文字です。 2つ目の引数は検索の種類です。 3つ目は照合に使われる文字列または正規表現です。 したがって上の例は次のことを定義しています。
‘WAITING’ をTODOキーワードとして持つやること項目を大域的に検索します。
‘boss’ とタグ付けされているが、 ‘urgent’ とはタグ付けされていない見出し行を大域的にタグ検索します。
同じ検索ですが、やること項目でもある見出し行に制限しています。
Orgは元々、プレーンテキストのメモを整理したり検索したりするものでした。 しかし、リッチなテキストの書式やそれ以上のことをする、軽量ながら頑健なマークアップ言語も提供しています。 エクスポートの枠組み(Exportingを参照)と組み合わせて使うと、Orgで美しい文書を執筆できます。
段落は1つ以上の空行で区切られます。 段落内で改行する必要があるときは、行末で ‘\\’ を使います。
改行や領域内の字下げと改行を保持しつつ、通常の書式を使いたいときは、以下の構築物が使えます。 詩歌を書式化するときにも使えます。
#+BEGIN_VERSE 大きな雲が広がって 小さく黒い鳥達は飛び交い Emacsは雪をまとう ---AlexSchroeder #+END_VERSE
別の文書から一節を引用するときは、その部分を左右の余白を取った段落に書式化するのがお決まりです。 Org文書に引用を含めるには、以下を使えます。
#+BEGIN_QUOTE 全てはできる限り単純であるべきです。 単純であれば良いというものでもありませんが ---Albert Einstein #+END_QUOTE
中央揃えにしたいときは、以下のようにします。
#+BEGIN_CENTER 全てはできる限り単純であるべきです。 単純であれば良いというものでもありませんが #+END_CENTER
言葉は、 ‘*太字*’ や ‘/イタリック/’ にしたり ‘_下線を引い_’ たり ‘=そのまま=’ にしたり ‘~コード~’ にしたり、そしてどうしてもというのであれば、 ‘+打ち消し線+’ も引いたりできます。 コードとそのままの文字列はOrg特有の構文で処理されません。 見たままにエクスポートされます。
数学記号や時に数式を含める必要のある、科学に関するメモについて、OrgはLaTeXコードのファイルへの埋め込みに対応しています。 特別なシンボルや数式の入力や完全なLaTeXの環境については、TeXと同様の構文を直接使えます。
太陽の半径は R_sun = 6.96 x 10^8 m です。 一方でアルファ・ケンタウリ星の半径は R_{Alpha Centauri} = 1.28 x R_{sun} です。 \begin{equation} % 任意の環境が書けます。 x=\sqrt{b} % 表も図も、 \end{equation} % その他諸々 もし $a^2=b$ 且つ \( b=2 \) ならば、解は $$ a=+\sqrt{2} $$ または \[ a=-\sqrt{2} \] の何れかである。
マークアップの対象にならない、書いたままの例示を含められます。 そのような例示は等幅で組版されます。 そのため、ソースコードやそれと似た例に向いています。
#+BEGIN_EXAMPLE テキストファイルからの例。 #+END_EXAMPLE
小さい例を使うときは、簡単のため、コロンと空白で始まる例示の行もあります。 コロンの前に余分に空白があっても構いません。
: テキストファイルからの例。 上のは例です。
例示がプログラミング言語に由来するソースコードであるときや、テキストがEmacsのフォントロックでマークアップできるときがあります。 その場合はフォントの効果付きのEmacsのバッファのような例示にできます。
#+BEGIN_SRC emacs-lisp (defun org-xor (a b) "Exclusive or." (if a (not b) b)) #+END_SRC
この言語に対応する特別なバッファで例示を編集するには、C-c 'を使います。 このキーで編集のバッファに出入りできます。
画像は説明の部分のない画像ファイルへのリンクです。 例えば以下の通り。
./img/cat.jpg
画像に題名を付けたり、内部相互参照のためにラベルを付けたりしたい場合も(Hyperlinksを参照)、1行にリンクだけがあるようにしてください。 そして ‘CAPTION’ キーワードと ‘NAME’ キーワードを前に付けます。
#+CAPTION: 次の画像(または表)へのリンクの題名 #+NAME: fig:SED-HR4049 [[./img/a.jpg]]
脚註は、0列目から角括弧内に脚註の印を書いたもので始まる段落で定義されます。 字下げはできません。 脚註の参照は、単にテキスト内にある角括弧で囲んだ印です。 例えば以下の通りです。
Orgのwebサイト[fn:1]は以前と比べてかなり見た目が良くなりました。 ... [fn:1] The link is: https://orgmode.org
次のコマンドで脚註を扱います。
org-footnote-action
)脚註を操作するコマンドです。 脚註の参照の上に現地点があるときは、定義に飛びます。 定義にあるときは、(最初の)参照へ飛びます。 そうでなければ新しく脚註を作ります。 このコマンドが前置引数付きで呼ばれると、採番の仕直しを含む、追加の選択肢の品書きが現れます。
org-ctrl-c-ctrl-c
)定義と参照を行ったり来たりします。
Orgでは構造(Document Structureを参照)やマークアップ(Markup for Rich Contentsを参照)の多くをできる限り保ちつつ、他の様々な形式に文書を変換してエクスポートできます。
エクスポートのコマンド選択画面は、Orgのエクスポートにおける主なインターフェースです。 階層的なメニューには、現在構成されているエクスポートの形式が載ります。 同画面には、簡単な切り替えスイッチも表示されています。
org-export-dispatch
)エクスポートのコマンド選択画面のインターフェースを呼び出します。
Orgは既定でバッファ全体をエクスポートします。 Orgのバッファに活性な領域があるとき、Orgはその領域だけをエクスポートします。
エクスポート器はバッファ内で追加情報を与える特別な行を認識します。 こうした行は、ファイルのどこにあっても構いません。
#+TITLE: そうだ Org、しよう。
とりわけ大事なエクスポートのオプションに以下があります。
‘TITLE’ | 表示される題名 |
‘AUTHOR’ | 著者(既定では user-full-name です) |
‘DATE’ | 日付で、固定されているかOrgの時間記録であるもの |
‘EMAIL’ | Eメールアドレス(既定では user-mail-address です) |
‘LANGUAGE’ | 言語コードで、例えば ‘en’ |
オプションのキーワード設定はエクスポートのコマンド選択画面から挿入できます(The Export Dispatcherを参照)。 これには#を押し、コマンド ‘Insert template’ を使います。
目次には文書中の全見出し行が含まれます。
したがって、深さはファイル内の見出しの水準と同じです。
違う深さを使ったり完全に無効にしたりする場合は、状況に応じて org-export-with-toc
変数を設定します。
以下の ‘toc’ 項目を ‘OPTIONS’ キーワード中で使うと、ファイル毎に同じことができます。
#+OPTIONS: toc:2 (目次に第2水準までのみ含める) #+OPTIONS: toc:nil (既定の目次を全く表示しない)
Orgは通常、ファイルの最初の見出し行の直前に目次を挿入します。
エクスポートの際、別のファイルの内容を含められます。 例えば ‘.emacs’ ファイルを含めるには、以下を使えます。
#+INCLUDE: "~/.emacs" src emacs-lisp
最初の引数は含めるファイルの名前です。 省略可能な2つ目の引数は塊の種類を指定します。 この種類には ‘example’ や ‘export’ や ‘src’ があります。 省略可能な3つ目の引数には、内容を書式化するソースコードの言語を指定します。 これは ‘export’ と ‘src’ の塊の種類に関係します。
含まれたファイルはC-c 'で開けます。
0以上の空白と ‘#’ の1文字と空白から始まる行は、コメントとして扱われます。 そのため、その行はエクスポートされません。
同様に、 ‘#+BEGIN_COMMENT’ … ‘#+END_COMMENT’ で囲まれた領域もエクスポートされません。
最後に、項目の最初に ‘COMMENT’ キーワードがあり、後に他のキーワードや優先度の添加物が続くとき、部分木全体をコメントにします。 以下のコマンドは見出し行のコメントの状態を変えるのに使えます。
org-toggle-comment
)項目の始めの ‘COMMENT’ キーワードを切り替えます。
ASCIIのエクスポートでは、プレーンなASCII文字のみを含む出力ファイルが生成されます。 これが最も単純で直接的なテキストの出力です。 Orgのマークアップは何も含みません。 UTF-8のエクスポートでは、この符号化標準で使える追加の文字と記号を使います。
org-ascii-export-to-ascii
)‘.txt’ 拡張子付きのASCIIファイルをエクスポートします。 ‘myfile.org’ については、Orgは ‘myfile.txt’ にエクスポートします。 エクスポートの際は警告せずに上書きします。 ‘myfile.txt’ については、データの損失を避けるため、Orgは ‘myfile.txt.txt’ にエクスポートします。
OrgモードにはHTMLエクスポート器が含まれます。 XHTML 1.0厳密標準と互換性のある、網羅的なHTML形式を扱います。
org-html-export-to-html
)‘.html’ 拡張子付きでHTMLファイルをエクスポートします。 ‘myfile.org’ については、Orgは ‘myfile.html’ にエクスポートします。 警告することなく上書きします。 C-c C-e h oはHTMLにエクスポートし、webブラウザで開きます。
HTMLエクスポートバックエンドは ‘<’ と ‘>’ を ‘<’ と ‘>’ に変換します。 HTMLエクスポートバックエンドが出力にHTMLコードを挿入できるよう、Orgファイルに生のHTMLコードを含めるには、 ‘@@html:...@@’ のような行内の構文を使います。 例えば次の通りです。
@@html:<b>@@bold text@@html:</b>@@
より大きな生のHTMLコードの塊であれば、以下のようなHTMLエクスポートのコードの塊を使います。
#+HTML: そのままエクスポートされるHTMLコード #+BEGIN_EXPORT html これらの印の間の全行はそのままエクスポートされます #+END_EXPORT
LaTeXエクスポートバックエンドでは色々なことができます。 複雑な文書を扱ったり、標準的ないし独自のLaTeX文書クラスと組み合わせたり、別のLaTeXエンジンを使って文書を生成したり、索引や参考文献や目次を含んだりする、充分にリンクが張られたPDFファイルを生み出したりできます。 こうした様々な要素があるため、対話的にオンラインで見ることも、高品位な印刷された刊行物にもできるのです。
既定でLaTeX出力では article クラスを使います。
ファイルに ‘#+LATEX_CLASS: 自分のクラス’ のようにオプションを加えるとこれを変えられます。
クラスは org-latex-classes
に挙がっている必要があります。
org-latex-export-to-latex
)‘.tex’ 拡張子付きのLaTeXファイルにエクスポートします。 ‘myfile.org’ については、Orgは ‘myfile.tex’ にエクスポートします。 警告を出さずに上書きします。
org-latex-export-to-pdf
)LaTeXファイルとしてエクスポートし、PDFファイルに変換します。
対応する名前付きのコマンド
がありません)LaTeXファイルとしてエクスポートし、PDFに変換します。 それから既定の閲覧器を使ってPDFを開きます。
LaTeXエクスポートのバックエンドは、任意のLaTeXコードを挿入できます。 Embedded LaTeXを参照してください。 Orgファイルにそうしたコードを埋め込むには3つの方法があります。 それぞれ、全て引用の構文を使います。
@記号を使って行内の引用を挿入します。
段落内の行内に埋め込まれたコード @@latex:任意のLaTeXのコード@@
Orgファイルに1つ以上のキーワード行を挿入します。
#+LATEX: 任意のLaTeXのコード
Orgファイル内にエクスポートの塊を挿入します。 この塊の開始と終了の印の間のコードをバックエンドがエクスポートします。
#+BEGIN_EXPORT latex 任意のLaTeXコード #+END_EXPORT
Orgモードの相互運用性が成功しているのは大方、簡単に外部アプリケーションにエクスポートしたりインポートしたりする機能のお陰です。 iCalendarエクスポートバックエンドは、Orgファイルから暦のデータを取って、標準的なiCalendar形式にエクスポートします。
org-icalendar-export-to-ics
)現OrgバッファからiCalendarの項目を作成し、ファイル拡張子 ‘.ics’ を使って同じディレクトリに保存します。
org-icalendar-combine-agenda-files
)org-agenda-files
中のOrgファイルを組み合わせてiCalendarファイルを作成し、
org-icalendar-combined-agenda-file
ファイル名に書き出します。
Orgには公開管理システムが含まれます。 これは、内部的にリンクされたOrgファイルの組み合わせによる 企画 を自動的にHTMLに変換するよう構成できるものです。 Orgを構成し、エクスポートしたHTMLページと画像やソースコードファイルのような関連する添付物をwebサーバーに自動的にアップロードすることもできます。
Orgを使うと、ファイルをPDFに変換したり、HTMLとPDFの変換を組み合わせて、両方の形式でファイルがサーバーで使えるようにしたりもできます。
準備する詳細な手順については取扱説明書を参照してください。 以下は一例です。
(setq org-publish-project-alist '(("org" :base-directory "~/org/" :publishing-function org-html-publish-to-html :publishing-directory "~/public_html" :section-numbers nil :with-toc nil :html-head "<link rel=\"stylesheet\" href=\"../other/mystyle.css\" type=\"text/css\"/>")))
org-publish
)指定する企画を尋ね、属する全ファイルを公開します。
org-publish-current-project
)現ファイルを含む企画を公開します。
org-publish-current-file
)現ファイルのみを公開します。
org-publish-all
)全企画を公開します。
Orgは時刻記録を使い、いつファイルが変更されたかを調べます。 上の関数は通常、変更されたファイルのみを公開します。 この動作を上塗りし、上記のコマンドに前置引数を渡すことで、全ファイルを公開させることができます。
Orgモードはソースコードを扱う数多くの機能を提供しています。 これには、その塊に固有のメジャーモードでコードの塊の編集をしたり、コードの塊の評価をしたり、コードの塊を巻き取ったり、コードの塊とその結果を幾つかの形式にエクスポートしたりする機能が含まれます。
ソースコードの塊は以下の構造にしたがいます。
#+NAME: <名前> #+BEGIN_SRC <言語> <スイッチ> <ヘッダ引数> <本文> #+END_SRC
ここで、各部分は以下の意味です。
C-c 'を使うと現コードの塊を編集できます。 ソースコードの塊の本文を含むバッファを編集する、新規メジャーモードを開きます。 そこでは内容を自由に編集できます。 もう一度C-c 'を使うとバッファを閉じ、Orgバッファに戻ります。
ヘッダ引数には、コロンと小文字の引数名を指定します。
ヘッダ引数は幾つかの方法で設定できます。 重複したり競合したりする場合に、Orgは局所的な設定がより高い優先度を持つようにします。
この引数は org-babel-default-header-args
変数をカスタマイズすることで指定します。
もしくは、特定の言語LANGについて org-babel-default-header-args: LANG
とします。
‘header-args’ 特性(Propertiesを参照)を使って設定できます。 もしくは、言語LANGについて ‘header-args:LANG’ とします。 ヘッダ引数は現水準か部分木以下に対し、特性の引き出しを通じて設定されます。
ヘッダ引数が一番使われるのは、 ‘BEGIN_SRC’ 行でソースコードコードの塊の水準を設定するときです。
#+NAME: factorial #+BEGIN_SRC haskell :results silent :exports code :var n=0 fac 0 = 1 fac n = n * fac (n-1) #+END_SRC
‘HEADER’ キーワードを使うと、コードの塊のヘッダ引数を複数行にわたるようにもできます。
C-c C-cを使うと、現コードの塊を評価し、結果をOrg文書に挿入します。 既定で、評価は ‘emacs-lisp’ コードの塊に対してのみ有効ですが、多くの言語で塊の評価への対応を備えています。 対応している言語の完全な一覧については取扱説明書を参照してください。 以下はコードの塊と結果を表示します。
#+BEGIN_SRC emacs-lisp (+ 1 2 3 4) #+END_SRC : 10 #+RESULTS:
以下の構文では、 ‘var’ ヘッダ引数を使ってコードの塊に引数を渡しています。
:var NAME=ASSIGN
NAMEはコードの塊の本文で束縛される変数名です。 ASSIGNは直値です。 例えば文字列、数字、表への参照、リスト、リテラル例、別のコードの塊などがあります。 コードの塊に引数はあってもなくても構いません。 どれでもなければコードの塊を評価した結果となります。
Orgのコードの塊の実行結果の扱い方は多くのヘッダ引数の協調の仕方に依ります。 しかし、決め手となるのは ‘results’ ヘッダ引数です。 コードの塊の結果の 集め方 や 種類 や 形式 や 扱い方 を制御します。
結果がコードの塊からどのように集められるかについてです。 ‘output’ または ‘value’ (既定)の何れかを選べます。
コードの塊の実行で期待される結果の種類です。 ‘table’ や ‘list’ や ‘scalar’ や ‘file’ から選べます。 これを与えていない場合、Orgは推測しようとします。
Orgが結果を処理する方法です。 取り得る値は ‘code’ と ‘drawer’ と ‘html’ と ‘latex’ と ‘link’ と ‘raw’ です。
適切に書式化された後に結果を挿入する方法です。 指定できる値は ‘silent’ と ‘replace’ (既定)と ‘append’ と ‘prepend’ です。
出力の結果をファイルに向けるコードの塊は、 ‘:file ファイル名’ ヘッダ引数を受け付けます。 例えばグラフや図表です。 その場合、結果は名前付きのファイルに保存され、そのファイルへのリンクがバッファに挿入されます。
コードの塊の コード をエクスポートする他に、コードの塊の実行の 結果 や、コードとコードの塊の実行の結果の 両方 や、 どちらも無し にすることもできます。 Orgは既定で、ほとんどの言語に対して コード をエクスポートします。
‘exports’ ヘッダ引数は、Orgファイルの一部をエクスポートするかを指定するものです。 エクスポート先は、例えばHTMLやLaTeXの形式です。 ‘code’ や ‘result’ や ‘both’ や ‘none’ の何れかに設定できます。
C-c C-v tを使うと、現バッファ内のソースの塊からコードを抽出して、純粋なソースコードのファイルを作ります。
これは「巻き取り」と呼ばれることがあります。
この用語は文芸的プログラミングコミュニティから移植したものです。
コードの塊の巻き取りの際、本文は org-babel-expand-src-block
を使って展開されます。
この関数は変数と「Noweb」形式の参照の両方を展開できます。
コードの塊を巻き取るためには、 ‘tangle’ ヘッダ引数を持たせなければなりません。
詳細についてはmanualを参照してください。
Orgにはバッファ内補完があり、M-TABとします。 ミニバッファは使われません。 1文字以上打ってホットキーで呼び出すと、テキストがその場で補完されます。
このコマンドで補完されるものの例は、 ‘\’ の後のTeXのシンボル、見出しの始めのTODOキーワード、見出し内の ‘:’ 後のタグです。
‘#+BEGIN_SRC’ から ‘#+END_SRC’ までの空の構造的な塊を手早く挿入したり、既存のテキストを塊で包んだりするには、次を使ってください。
org-insert-structure-template
)塊構造の種類を答えると、現地点に塊が挿入されます。 領域が活性であるなら、塊で包まれます。
Orgで既定の星による字下げのない輪郭は、短い文書では散らかることがあります。 書籍のように 長い文書については、影響はそこまでではありません。 Orgは星の代わりを使ったり別の字下げの仕組みにしたりする方法を提供しており、以下の表の右側に示されます。 1つの星のみを使い、見出しのある行でテキストを字下げします。
* Top level headline | * Top level headline ** Second level | * Second level *** Third level | * Third level some text | some text *** Third level | * Third level more text | more text * Another top level headline | * Another top level headline
この見た目の種類へは、Orgの字下げモード(M-x org-indent-mode RET)を使って表示時に動的に移行できます。
こうすると、各行が見えない空白から始まるようになります。
変数 org-startup-indented
をカスタマイズすると、全ファイルについてOrgの字下げモードを有効にできます。
もしくは以下を使ってファイル毎に有効にすることもできます。
#+STARTUP: indent
字下げを固定の空白文字にし、プレーンテキストファイルがEmacsでの表示に可能な限り似た見た目になるようにするため、Orgは各見出し行の下でテキストを(ABで)字下げする補助機能に対応しています。 その場合、先頭の星を隠し、水準1、3以降のみを使い、各水準で2文字分の字下げをするようにします。 ファイルでこの対応がされるようにするには、以下を使います。
#+STARTUP: hidestars odd
見出し行でC-aとC-eとしたときの特別な挙動を構成するには、変数
org-special-ctrl-a/e
を参照してください。
行が分割されないようにするには、変数 org-M-RET-may-split-line
をカスタマイズします。
各一致の周囲にどの程度文脈を表示するかを決めるには、変数 org-show-context-detail
も参照してください。
対応するバッファ内での設定は ‘#+STARTUP: logdone’ です。
対応するバッファ内設定は ‘#+STARTUP: logenotedone’ です。
全バッファ内設定に関して、 C-c C-cを押すと行内に変更を施します。
これは 会議を予定する ことで通常思い浮かべるものとはかなり異なります。 Orgではキーワード無しで時刻記録を挿入するだけでできます。
完了の印が付いた後にもその日付に挙がったままです。これが望ましくなければ、変数
org-agenda-skip-scheduled-if-done
を設定してください。
確保の雛形を使うと、確保の位置を細かく制御できます。Capture templatesを参照してください。
If you need one of these sequences literally, escape the ‘%’ with a backslash.