Org-modeの長いファイルを編集するときはインダイレクトバッファーが便利

インダイレクトバッファーというのはファイルはひとつだけれども、編集中の状態(カーソルの位置やモードなど)は独立したバッファーのことです。バッファ選択画面でそのバッファーを選べばすぐにその箇所の編集を再開できます。

org-modeでタスク管理を行っていると一つのファイルのサイズが大きくなりがちで、また、ファイル内を行ったり来たりすることが多くなります。インクリメンタルサーチとかツリーの移動やマーク位置を遡るとかいった方法で対処していましたが、ふとインダイレクトバッファーのことを思い出して使ってみたところ、ようやくその便利さに気付いたという次第です。

“Org-modeの長いファイルを編集するときはインダイレクトバッファーが便利” の続きを読む

ブラウザで開いているURLのorg-mode用のリンクを生成するブックマークレット

org-modeでたまにURLを記載したいときがあります。その場合URLだけでなくページタイトルも簡単に記載できたら便利です。

そんなときは、以下のコードをブックマークレットとして保存しておいて、対象ページで実行します。

javascript:prompt('','[['+document.title+':'+location.href+']]');

ブックマークレット。ご存知でしょうか?

まず上記のjavascript: で始まるコードをコピーします。

適当なURLを開いて(このページでもいいです)、そのURLをお気に入り(ブックマーク)に追加します。

ブックマークを編集する機能を使って今追加したURLの名前を適当なものにします。「Orgブックマーク」とかです。

そして、そのURL欄に先程コピーしたコードを貼り付けます。

以上でブックマークレット登録完了です。

あとはorg-modeに保存したいサイトがあれば、そこでお気に入りのメニューから選べばorg-mode用のリンク([[ URL ][ページタイトル]])がポップアップするので、コピーしてorg-modeのバッファに貼り付けて下さい。

あと、ブラウザをC-c C-oで開くには browse-url-browser-function の設定が必要です。

;; for mac

(setq browse-url-browser-function ‘browse-url-default-macosx-browser)

;; for windows

(setq browse-url-browser-function ‘browse-url-default-windows-browser)

;; linux

(setq browse-url-generic-program (executable-find “firefox”)
browse-url-browser-function ‘browse-url-generic)

ブックマークレット便利ですよね。

org-mode 私の使い方

他の人がどういう風にorg-modeを使っているのかorg-modeを使い初めたときは気になりました。なにせ機能が多いので、ひとまず誰かの使い方を真似てみようと思い、org-modeによるGTDの実践方法などを読みました。海外の方が書かれたものの翻訳が以前あったのですが、探してみたところ、残念ながら見つけられませんでした。

今回はこれからorg-modeを始める人の為に私のやっている方法を紹介してみようと思います。ただし、全体を俯瞰できるよう、細かな説明は省いています。詳しくはマニュアルなどを参照して下さい。

OrgMode マニュアル

“org-mode 私の使い方” の続きを読む

ORG-MODEでカードのようにテキストを並べて編集する

目標

(2019/7/15追記:ファイルを分割するより、インダイレクトバッファーを使った方が便利ですね)

以下のようにカードを並べるようにして編集する方法を紹介します。

やり方 – ファイルを分割してINCLUDEする

カードとして扱うセクションをそれぞれ別ファイルにしてメインのテキストに以下のように書いていきます。

#+TITLE: メモ
#+INCLUDE: “./001.org” :minlevel 1
#+INCLUDE: “./002.org” :minlevel 1
#+INCLUDE: “./003.org” :minlevel 1

TEXやマイクロソフトワードでも同じような機能はあったと思います。

以下では周辺のこまごました説明を行います。

“ORG-MODEでカードのようにテキストを並べて編集する” の続きを読む

org-mode期間別の作業時間集計

org-modeで計測をするとタスクの集計が分かるのだが、週毎、月毎に振り返ってみるにはどうすれば良いか分からなかったので、タスクの子階層に日毎のアイテムを「アイテム(1)」、「アイテム(2)」といった感じやっていたが、ちょっと面倒。なんとかならないかと調べてみた。

社内で他にタスク管理ツールを使っていてそれにも記録しないといけないといったケースもあるかもしれない。その場合1日の作業毎の時間がすぐに分かれば転記しやすい。

アジェンダモードで C-c C-x C-c とやると時間がカラム表示されるのであるが、ひとつのアイテムを複数の日に渡ってやっている場合はその合計が表示されてしまう。

解決策としては、「C-c C-x C-r (org-clock-report)」を使えば良いことが判明。

当たり前の答えで、読み始めから違和感を感じていた人も多いに違いないとは思うが、ひょっとしたら私と同じようにorg-modeは沢山機能があり過ぎるので、とりあえず知っいる範囲でなんとかやりくりしていて同じ悩みを持っている人がいるかも知れないということで。

やり方は、
C-c C-x C-r を実行したあと、clocktableの属性を以下のような感じに変える。「step day」が一日毎の表示指定。stepを使うときは、:blockもしくは、期間指定(:tstart、:tend)を使う必要がある。

#+BEGIN: clocktable :maxlevel 3 :scope subtree :step day :block 2015-09 :stepskip0

1日分を見たいときは、

#+BEGIN: clocktable :maxlevel 5 :scope agenda :step day :stepskip0 :fileskip0 :block today

のtodayのところで、「shift + 矢印キーの左右」で1日分を確認できる。

とても便利なので「C-c C-x C-r (org-clock-report)」のマニュアルを読んでみてはどうだろう。