🎉

Obsidian タブ切り替えが簡単にできるようになるプラグインをリリース

2024/03/17に公開

はじめに

Tab Selectorというタブ切り替え操作が簡単にできるようになるObsidianプラグインをリリースしました。
開いているタブすべての中から開きたいタブへサクッと切り替えることができます。

version0.4.0: 開いているタブの中から任意のタブを閉じる機能を追加しました。
version0.5.0: 最後に開いた順にリストを表示して簡易にタブを切り替えられる機能を追加しました。
version0.6.0: モーダルを開かずに簡易にタブを切り替えられる機能を追加しました。

本記事ではTab Selectorの機能紹介、その他雑記(開発の背景、コンセプトなど)を書きます。

Tab Selectorのリンク

オススメしたい人

  1. ObsidianアプリをPCまたはタブレットで使っている人
  2. 決まったタブを開きっぱなしにすることが多い人
  3. タブをたくさん開いたままにしがちな人

機能紹介

機能: タブ切り替え

まず、Tab Selector: Open tab selectorコマンドを実行すると、開いているタブをリストアップしたモーダルが表示されます。
(コマンドはホットキーを割り当てておくことを推奨します)

次に表示されているタブの一覧から切り替えたいタブを見つけて、左側にある1文字のキーを入力するとそのタブに切り替えできます。
(矢印キーでフォーカスを移動してEnterまたはSpaceキーでタブを選択する、あるいはマウス操作やタップでタブを選択することでも同様に切り替えできます。)
※それぞれの1文字のキーは設定画面で変更できます。

機能: タブを閉じる(version0.4.0)

まず、Tab Selector: Open tab selectorコマンドを実行して、開いているタブをリストアップしたモーダルが表示します。

次に表示されているタブの一覧から閉じたいタブを見つけて、Ctrlキーを押しながら左側にある1文字のキーを入力するとそのタブを閉じることができます。
(矢印キーでフォーカスを移動してBackspaceまたはDeleteキーを入力、あるいはマウス操作やタップで右側のXボタンを選択することでも同様に閉じることができます。)

機能: タブ切り替え - 開いた順に表示(version0.5.0)

Githubでリクエストを受けて、より簡単にタブを切り替える機能を追加しました。
VS CodeやArcブラウザでも採用されている一般的な方法でより直感的にタブ切り替えできると思います。

デフォルト設定では以下のコマンドに「Ctrl + Tab」と「Ctrl + Shift + Tab」のホットキーを割り当ててください。
※後述の設定で割り当てるホットキーは変更可能ですが、プラグインで設定するキーとホットキーで設定するキーを一致させる必要があります。

  • Tab Selector: Go to previous tab: ^Tab or Ctrl + Tab
  • Tab Selector: Go to next tab: ^⇧Tab or Ctrl + Shift + Tab

その後、上記コマンドをホットキーで実行することで下記イメージのようにタブを開いた順でリストアップしたモーダルが表示します。
このモーダルはデフォルト設定ではCtrlキーを離したタイミングで閉じ、その時にフォーカスされたタブに切り替わります。
Ctrlキーを押したままTabキーを押すと1つ前の履歴のタブにフォーカスが移動します。
さらにCtrlキーとShiftキーを押したままTabキーを押すと1つ次の履歴のタブにフォーカスが移動します。

なお、OSが予約しているショートカットキーは本プラグインのホットキーとして割り当てないようにしてください。
割り当てるとOSが予約しているショートカットキーが優先されてプラグインが正しく動かない可能性があります。
例えば、MacOSの場合は「Command + Tab」や「Alt + Tab」はOSが予約しているショートカットキーであるため、プラグインが正しく動きません。
そういった場合はプラグインで設定するキーとホットキーで設定するキーを見直してください。

機能: タブ切り替え - モーダルなしで切り替え(version0.6.0)

Githubでリクエストを受けて、モーダルを表示させずにタブを切り替える機能を追加しました。
画面レイアウトの都合でPC/タブレットでのみ利用可能なコマンドです。
※スマホでは利用不可

Tab Selector: Open tab selectorコマンドの簡易版のようなイメージでこちらの方が使い勝手が良いかもしれません。

まず、Tab Selector: Show tab shortcutsコマンドを実行すると、開いているタブの下に文字が表示されます。
(コマンドはホットキーを割り当てておくことを推奨します)

次に切り替えたいタブ名の下が側にある1文字のキーを入力するとそのタブに切り替えできます。

機能: タブ検索 - タブを検索して開く(version0.7.0)

Githubでリクエストを受けて、タブを検索して開く機能を追加しました。

Tab Selector: Search tabsコマンドを実行すると、検索入力欄とタブをリストアップしたモーダルが表示されます。
(コマンドはホットキーを割り当てておくことを推奨します)

検索入力欄にキーワードを入力して開きたいタブを絞り込んで選択することでタブを開くことができます。
(矢印キーでフォーカスを移動してEnterキーで項目を選択する、あるいはマウス操作やタップで項目を選択することでも同様に切り替えできます。)

その他雑記

開発背景

開発しようと思ったキッカケは大きく2つあります。

1つは僕はビデオ通話で他の人と画面共有しながらObsidianの画面を見せることが多く、組み込みのコマンドの前のタブに移動次のタブに移動を使ってタブ移動すると見せたくないファイルの中身を表示してしまうことがあるためです。「見せたくないファイルは最初から閉じておくべき」というのはその通りですがズボラなのでビデオ通話前後で開き直すのが手間でつい開きっぱなしにしています。

もう1つは僕はいつも開いたままにする特定のファイルがいくつかあり、基本的に一番左側から配置するようにしています。どのファイルを触っている時でもその特定のファイルにすぐに移動できる方法が欲しいと思っていました。これもズボラな理由かもしれません。

開発コンセプト

少ない動作・操作で好きなファイルを開けるがコンセプトです。
少ない動作はキーボードから手を離さずにキーボード操作だけで完結できることを意識しました。
少ない操作はキーボード操作の入力回数を極力減らすことを意識しました。

10タブ開いている状態なら「Tab Selectorを起動→キーを1つ入力」の2アクションでタブを切り替えられます。
30タブ開いている状態なら「Tab Selectorを起動→左右の矢印キーでページ切り替え→キーを1つ入力」の3アクションでタブを切り替えられます。
流石に20も30も同時にタブを開いているケースは無いとは思いますが。

開発・リリースして気づいたこと

当初はキーボード操作をメインターゲットで考えて開発をしていました。
結果的にですがタブレットのタップ操作でも結構便利に使えることに開発中に気付きました。

iPhoneなどのスマホサイズでObsidianを利用する場合はタブ切り替えのUIが画面下側にデフォルトで用意されているので、スマホでのタブ切り替えはデフォルトで用意されているUIで十分と思っています。

一方、iPadなどのタブレットサイズでObsidianを利用する場合はiPhoneのようなUIがないようで、目当てのタブが探しづらく切り替えるのは少し手間に感じました。
Tab Selectorはリボンからも起動できるため、「リボンからTab Selectorをタップ→一覧の中から目当てのタブをタップ」の2タップでタブを切り替えられます。
特にiPadなどの場合、デフォルトではタブが増えるとタブに表示されるファイル名も短くなってどれがどのタブか見分けづらくなりますが、Tab Selectorは1行1タブで一覧表示するのでタブが探しやすい、というのもタブレットユーザには便利なのではないかと思っています。

さいごに

ほぼ自分向けに作ったプラグインではあったものの、少しずつダウンロード数が増えているのでちょっと需要があるのかもしれません。
次のプラグインの構想を練りながらまったり開発を続けていこうと思います。

追記:
想定よりも需要はあったようでGithubのIssuesでリクエストをいただいては改修を続けています。

Discussion