[[Tab Stacks]]を使わなくても大きなデメリットはなく、[[Neovim]]と操作性をあわせられることや、分割の自由度が増すメリットのほうが大きい。 ## 経緯 以下の[[ADR]]で[[Obsidian]]では[[Tab Stacks]]を利用してきた。 <div class="link-card-v2"> <div class="link-card-v2-site"> <img class="link-card-v2-site-icon" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/favicon-64.png" /> <span class="link-card-v2-site-name">Minerva</span> </div> <div class="link-card-v2-title"> 💿OBS-0002 Tab Stacksを使う </div> <div class="link-card-v2-content">Obsidian v0.16でTabとTab Stacksの概念が追加された。これにより、今までとは操作性が大きく変わるため、この機会にObsidian利用時の戦略やキーバインドを見直そうと思った。</div> <img class="link-card-v2-image" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/Notes/attachments/obs-adr.webp" /> <a data-href="💿OBS-0002 Tab Stacksを使う" class="internal-link"></a> </div> %%[[💿OBS-0002 Tab Stacksを使う]]%% しかし、[[Neovim]]の習熟度が上がるにつれて、[[Tab Stacks]]によるエディタ分割に違和感を覚えるようになり、[[Neovim]]の[[ウィンドウ (Vim)|ウィンドウ]]・[[バッファ (Vim)|バッファ]]・[[タブ (Vim)|タブ]]のような戦略をとりたくなった。 [[Tab Stacks]]を当時採用したときに洗い出したメリット・デメリットが、現在においても有効化どうかを検証したうえで、そうでなければ[[タブグループ (Obsidian)|タブグループ]]を利用した戦略をとりたい。 ## 提案内容 [[Tab Stacks]]を利用したエディタの分割戦略ではなく、[[タブグループ (Obsidian)|タブグループ]]を利用した[[Neovim]]に近しい分割戦略を採用する。 ### 具体的な方針 | Neovimの概念 | Obsidianでの再現手法 | | ---------------------- | ----------------------------- | | [[バッファ (Vim)\|バッファ]] | なし[^1] | | [[ウィンドウ (Vim)\|ウィンドウ]] | [[タブグループ (Obsidian)\|タブグループ]] | [^1]: [[#バッファ (Vim) バッファ の表現は必要か?]]で補足 ## 承諾した場合の結果 ### メリット - 左右分割したときにエディタの横幅を固定できる - 好みの問題もあるが、**[[Neovim]]と同じ仕様であることはメリット** - 上下分割したときにエディタの横幅が最大にならない - 格子上にエディタを配置したいときに便利 - もちろん **[[Neovim]]と同じ仕様であることがメリット** - 分割後に各エディタのサイズを動的に変更できる - 固定の資料参照領域を並べて作業するときは便利 ### デメリット - 分割数が多くなっても、アクティブなエディタの横幅を自動で伸ばすことができない - トレードオフなのでここは仕方ない - **[[Neovim]]とは異なる仕様になるのでそれがデメリット**でもあると言える ### [[💿OBS-0002 Tab Stacksを使う]]のメリットはどうなる? [[Tab Stacks]]を使い続けることによる大きなメリットない。 以下は『当時洗い出した[[Tab Stacks]]のメリット』に対するコメント。 - **横の解像度があれば直前に開いた複数のNoteを同時閲覧できる** - ✅ [[タブグループ (Obsidian)|タブグループ]]による横方向の分割でも可能 - 加えて - ✅ 分割可否をキーで選択可能 - ✅ [[Neovim]]と同じ操作感で[[コンテキストスイッチ]]の切り替えコスト低 - **`Alt+左`と`Alt+右`と負荷の少ないキーバインドで左右に移動できる** - ❓ `<C-w>k` と `<C-w>l` なので少し大変かも - ✅ [[Neovim]]と同じ操作で[[コンテキストスイッチ]]の切り替えコスト低 - **ほとんどのケースで[[タブグループ (Obsidian)|ペイン]]を意識しなくていい (シンプル)** - ❓ [[タブグループ (Obsidian)|タブグループ]]([[タブグループ (Obsidian)|ペイン]])を意識しなくていいことは本質的なメリットではない - ✅ [[Neovim]]と同じ操作で[[コンテキストスイッチ]]の切り替えコスト低 - **カッコイイ** - ❓ これは好みの問題な気がする 全体的に[[Tab Stacks]]のメリットは[[タブグループ (Obsidian)|タブグループ]]に対しても言えることが多い、もしくはトントンである。 ### [[バッファ (Vim)|バッファ]]の表現は必要か? [[Neovim]]の[[バッファ (Vim)|バッファ]]に相当する表現を[[Obsidian]]でする必要があるか? 答えはNoだ。 [[Neovim]]で[[バッファ (Vim)|バッファ]]を意識するケースは大きく2通りあるが、[[バッファ (Vim)|バッファ]]の改善再現を頑張って実現するような大きな動機は存在しない。 - **保存されていない編集中のモノは何か?** を把握するため - **[[Obsidian]]は2秒おきにオートセーブが走るので、↑の用途では不要** - 開かれた[[バッファ (Vim)|バッファ]]を参照して素早く[[ウィンドウ (Vim)|ウィンドウ]]にアタッチしたいため - [[barbar.nvim]]で `<Space>e` + 1文字 で該当[[バッファ (Vim)|バッファ]]をアタッチできる - これはこれで便利だけど、[[🦉Another Quick Switcher]]の[[Recent search]]相当でも実現できる - 現在の[[タブ (Vim)|タブ]]に上書きされてしまうが、キーバインドや設定にて新しい[[タブ (Obsidian)|タブ]]を開くようにすれば似たようなことができる - そこまでは必要ない気がする - [[Neovim]]と少し[[コンテキストスイッチ]]の切り替えは必要だが、許容範囲 ## 参考 <div class="link-card-v2"> <div class="link-card-v2-site"> <img class="link-card-v2-site-icon" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/favicon-64.png" /> <span class="link-card-v2-site-name">Minerva</span> </div> <div class="link-card-v2-title"> 🧠Obsidianの新しいタブグループ操作戦略を考える </div> <div class="link-card-v2-content">Neovimのようなウィンドウ・バッファ管理に近いかたちを実現できないかという話。最終的にはADRに移動する可能性が高いかも。</div> <img class="link-card-v2-image" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/Notes/attachments/brain.webp" /> <a data-href="🧠Obsidianの新しいタブグループ操作戦略を考える" class="internal-link"></a> </div> %%[[🧠Obsidianの新しいタブグループ操作戦略を考える]]%%