Jazzと読書の日々

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

Obsidian:次の見出しにジャンプする

書き方が固まってきた。

Zoom

ObsidianはZoomを使ってカードにする。

この方針で書くとMarkdownの見出しが結節点になります。 「すべての見出しとリストをフォールド」でテキストを俯瞰し「アウトライン」で並べ替える。 ブロック単位で推敲できる。 このインタラクティブな柔軟さがObsidianの魅力を輝かせます。

そこでもう一歩。

nextHead.md

見出しを折り畳むとazooKeyのカーソルでは移動できなくなります。 不可視部分があるからです。 かといってタップで選ぶのもまどろっこしい。

そこで、次の見出しにジャンプするスクリプトを作りました。

<%*
e = app.workspace.activeLeaf.view.editor
p = e.getCursor().line
d = tp.file.content.split("\n")
for(i=p+1;i<d.length;i++) if(/^#+ /.test(d[i])) break
e.setCursor(i, 0)
%>

Templaterに登録してお使いください。

Obsidian Templaterスクリプトを登録する方法 - Jazzと読書の日々

prevHead.md

上方向に移動するスクリプトも。

<%*
e = app.workspace.activeLeaf.view.editor
p = e.getCursor().line
d = tp.file.content.split("\n")
for(i=p-1;i>0;i--) if(/^#+ /.test(d[i])) break
e.setCursor(i, 0)
%>

previousは長いのでprevと省略。

使い方

ツールバーに二つとも登録し、カーソルを飛ばすことができます。

ブロック単位

Zoom中に他の見出しに飛ぶことを期待したのですが、そうした動作にはなりませんでした。 カードを切り替える感じにできると面白かったのに。

折り畳んだ状態でもカーソル移動できるので、右サイドパネルのアウトラインを開くことが減ります。 それが収穫かな。 移動に関してはツールバーで完結する。

「見出し+内容」の塊を「ブロック」と勝手に呼んでいますが、この単位での操作は必須ですね。 アウトライナーっぽい使い方になります。 下位項目の並べ替えができないけれど、ここは下位項目に下位見出しをつけてハンドル(取っ手)にすれば解決しそう。

内容が固まってきたらハンドルを取り除けばいいわけで。

まとめ

ブロックとアウトライナーの差異も考えないとなぁ。