Jazzと読書の日々

iPadを筆記具として使う方法を模索します

ObsidianはOrg modeエディタである

やっと気づいた。

アウトライナーではない

今までObsidianのことを「Markdownのままで使うアウトライナー」みたいな定義をしていましたが、バカでした。 「ローカルに作るWikipedia」というのもバカでした。

先行するコンセプトがある。 それに気づけば、情報がネット上にたくさんあります。 宝の山です。 宝を持ってきてObsidianに適用すればいい。

Org mode

名前は知ってましたよ。 よく見かけますから。 Emacsプラグインですよね。 でも最近はLinux、使ってないんです。 もっぱらiPadになっていて。 iPad用のEmacsもあるみたいですけど、キーボード操作が中心になるから難しいじゃないですか。 あ、結構です。 うちは宗教、足りてますんで。

と、敬遠しがちだったOrg mode。 本屋さんで雑誌を立ち読みしてたら載っていて、おやおや。 ほんのり既視感がある。 ほかでもない、これはObsidianじゃないですか。 テキストのままでアウトライナー。 作表もタスク管理もこれ一本。 本体はプレーンテキストだからポータブル。 これがObsidianでなければなんだろう?

Markdownとの違い

記号が違います。 でも似てます。 見出しの#がOrgでは*になっている。

見出しは折り畳みできます。 前後の見出しにカーソル移動できるし、順序の並べ替えもできる。 ブロックの削除やコピー。 つまり、アウトライナーになっています。

あとタスクの扱いも見出しになっている。 * TODOとすることでタスク管理していますね。 * DONEで完了にするとか。 ファイルを跨いで集計できます。

どうやら*がリストも見出しも兼ねている。 アウトライナーの構造のまま、見出し付きブロックと見なす。 インデント無しでも階層構造として扱える。 柔軟な切り口を見せています。

作表もほぼMarkdownですが関数が使えます。 さすが何でもできるEmacslispプラグインが作られ、拡張の度合いが半端ない。 でもショートカットキーが多すぎて、よく記憶できるなあ。

ゴミ箱を作る

ブロックの削除で、ちょっと思いついた。

Obsidianでも# ゴミ箱という名のセクションを作っておくと、同じことができます。 # ゴミ箱の次の行に#### .と入れておく。 テンプレートにしておくかな。

「アウトライン」で見ると「ゴミ箱」がある。 不要なブロックをここにドラッグすると「削除」ができます。 もちろん、ただの移動なので復活も簡単です。

ということでスクリプトにしてみました。

<%*
t = "\n# 🗑️ ゴミ箱\n"
s = tp.file.content
e = app.workspace.activeLeaf.view.editor
if(s.search(t)>=0){
  s = s.split(t)[0]
}else{
  s+= t + "#### .\n"
}
e.setValue(s)
%>

Templaterに登録。 これを実行すればゴミ箱が作られ、もう一度実行すればゴミ箱を中身ごと消去します。 この方法が手軽。

まとめ

さて、もう少し調べてみよう。