English | 日本語
XeFM の内蔵ファイルビューアーは、通常の行番号付きテキスト表示に加えて、JSON / JSON Lines ファイルを折りたたみ可能なツリーとして、CSV / TSV ファイルを桁のそろった表として表示できます。使い方は Markdown ビューアーとまったく同じで、V でファイルを開き、M でテキスト表示とリッチ表示を切り替えます。
*.json、*.jsonl、*.ndjson)リッチ表示は折りたたみ可能なツリーです。オブジェクトと配列は展開・折りたたみのできる枝、スカラー値は葉になります。各行にはキー(オブジェクトのキーまたは配列のインデックス)と値が表示され、値は型ごとに色分けされます。文字列、数値、true / false / null にはそれぞれ専用の色が付き、アクティブなテーマに従います。折りたたまれた枝にはその大きさ(キーが 3 つのオブジェクトなら {3}、要素が 5 つの配列なら [5])が表示されるので、すべてを展開しなくてもドキュメントの形がわかります。
.jsonl / .ndjson ファイル(1 行に 1 つの JSON 値)は、そのレコードの配列として表示されます。
マウスで断片を選択する。 ツリーでの選択は構造単位です。クリックやドラッグで選択されるのは常に JSON として意味のある部分で、単語の半分や中途半端なテキスト範囲になることはありません。キーをクリックすると "name" が、値をクリックすると "str" / 123(枝の行ではそのサブドキュメント全体 {...} / [...])が、その間の : をクリックするとエントリ全体 "name": ... が選択されます。ドラッグすると選択範囲が広がります。キーと値にまたがればエントリ、2 つの行にまたがれば両方を含むコンテナー、トップレベルの 2 つのエントリにまたがればドキュメント全体になります。⌘C / Ctrl+C はハイライトされた断片を JSON テキストとしてコピーします。何もハイライトされていなければ、これまでどおり現在の行の値をコピーします。矢印キーを押すか空白部分をクリックするとハイライトが解除されます(配列のインデックスは JSON テキストではないため、クリックするとその要素の値が選択されます)。
長い値。 ウィンドウより長い文字列は 2 通りの方法で読めます。折り返さない状態(既定)では、表示が横にパンします。トラックパッドで横にスワイプするか Shift+←/→ を押します。はみ出している間は下端に横スクロールバーが表示されます。W を押すと代わりに折り返しになり、すべての値がウィンドウ幅で折り返され、続きは値の開始位置にそろえて次の行に表示されるので、文字列全体が一度に画面に収まります。折り返しが有効な間はヘッダーに WRAP と表示され、もう一度 W を押すと元に戻ります。
| キー | 動作 |
|---|---|
| ↑ / ↓ | 1 行上 / 下へ移動 |
| → | 枝を展開(または枝の中へ移動) |
| ← | 枝を折りたたむ(または親へ移動) |
| Enter / Space | 選択中の枝の展開・折りたたみを切り替え |
| PgUp / PgDn, Home / End | 1 ページ分スクロール / 先頭または末尾へ移動 |
| W | 長い値の折り返しを切り替え |
| Shift+← / Shift+→ | 長い行を横にパン(折り返しが無効のとき) |
| マウスホイール / クリック | スクロール / 行を選択(▸ ▾ マーカーをクリックすると展開・折りたたみ) |
| テキスト上でクリック / ドラッグ | JSON の断片(キー、値、エントリ、コンテナー)を選択 |
| ⌘C / Ctrl+C | 断片を(断片がなければ行の値を)JSON としてコピー |
| F | インクリメンタルサーチ |
*.csv、*.tsv)リッチ表示は罫線付きの桁のそろった表です。本体をスクロールしてもヘッダー行は上端に固定されたままで、列幅は内容に合わせて決まり(数値の列は右寄せ)、表は縦にも横にもスクロールするので、幅の広い表も読みやすく保たれます。.tsv ファイルはタブで、.csv ファイルはカンマで区切られます。
罫線は表示環境に合わせて描かれます。グラフィカルなアプリでは各セルを囲むくっきりとしたデバイス解像度の細線、ターミナルでは罫線文字(列の区切りの │ と、ヘッダーの下の ├─┼─┤ の線)になり、本体の行は区別しやすいよう 1 行おきに色が変わります。
| キー | 動作 |
|---|---|
| ↑ / ↓ / ← / → | 現在のセルを移動 |
| PgUp / PgDn | 1 ページ分スクロール |
| Home / End | 最初 / 最後の列 |
| マウスホイール | スクロール(縦方向。トラックパッドでは横方向も) |
| クリック + ドラッグ | セルの矩形範囲を選択 |
| ⌘C / Ctrl+C | 選択したセルを TSV としてコピー |
| ⌘A / Ctrl+A | 表全体を選択 |
| F | インクリメンタルサーチ |
.json ファイルでツリーに切り替えると、それ以降はこのセッションでも再起動後も、すべての .json がツリーで開きます。ヘッダーの右上には現在の表示の名前(JSON / Table)が、フッターには切り替えキーが表示されます。.json がパースできない場合(そのほかの理由で表示できない場合も)、M はエラーにならず、テキスト表示のままになります。テキスト表示でもシンタックスハイライト付きでファイルを表示できます。