Obsidian

Obsidian終了時にRemotely Saveを実行する


はじめに

こちらに書いたが現在複数端末(PC, iPhone, iPad)でObsidianを同期して利用している。

ただし、Notionに慣れていることもあり、同期して閉じることに慣れていないので1アクションで、同期とObsidianを閉じれるようにする

利用するObsidianのプラグイン

  • Remotely Save
    • 複数端末でObsidianのVaultを同期
  • QuickAdd
    • マクロを作成してコマンドを組み合わせて実行可能

保存して閉じるマクロの作成

まず、Remotely Saveの同期コマンドとObsidianを閉じるコマンドを1アクションで実行できるマクロを作成する。

  1. Remotely SaveとQuickAddプラグインをインストールし、有効化する
  2. QuickAddプラグインの設定を開く
  3. 以下を設定して、[Add Choice]をクリックする
    • Name:(マクロ自体の名前を設定)
    • TemaplateをMacroに変更
  4. 追加したマクロの設定を開く
  5. Obsidian commandから[Remotely Save :start sync]を入力して、[Add]する
  6. [時間]アイコンを押して、[Wait for 100ms]を追加して、時間を任意の値に変更する。
    ※100ms(0.1秒)だと、同期が終わる前にObsidianが閉じてしまうので注意。今回は5000ms(5s)に設定しているが、もう少し長くてもいいかも。
  7. Obsidian commandから[ウインドウを閉じる]を選択する
  8. Quick Addの最初の設定画面に戻り、[⚡マーク]をクリックしてマクロを有効化する

マクロの設定イメージ

ホットキー(ショートカットキー)の割り当て

続いて作成したマクロに対して、ホットキーを割り当てる。

  1. 設定画面のホットキーから、今回追加したマクロをフィルターで検索
  2. 任意のキーを割り当てる。

実行手順

これにて準備が完了したのであとは、設定したホットキーを押下することで、同期が行われてObsidianを閉じることができる。
このとき、保存が間に合ってなさそうであれば、wait時間をもう少し伸ばしておく。

おわりに

これで1アクションで保存(同期)して閉じることはできるけど、まずこのマクロを使って閉じることに慣れないと。。。
あと、本当であれば同期完了したことを検知してから閉じるようにしたいけど、調べてみた限りそれは難しそう。残念