ユーザー向け¶
Ayame Editor は巨大ファイル向けのデスクトップ・テキストエディタです。通常の編集はネイティブアプリを使い、ブラウザで開きたい場合はローカル Web エディタを使います。
インストール¶
最新リリース から、お使いの OS 向けのビルドをダウンロードしてください。
- macOS:
Ayame.app - Windows:
ayame-*.exe - Linux: 単体実行ファイル
ターミナルからインストールする場合:
Windows PowerShell:
pwsh -NoProfile -Command "irm https://raw.githubusercontent.com/hjosugi/ayame-editor/main/scripts/install.ps1 | iex"
standalone install の更新:
削除:
binary が /nix/store から動いている場合、Ayame は Nix 管理とみなします。更新や
削除は Nix 側で行うか、--install-dir を指定して store 外へ standalone release
をインストールしてください。
ネイティブアプリは、ウィンドウ表示後に standalone release の更新を確認し、更新が
ある場合はインストール前に確認します。不要な場合は 編集 -> 設定 を開き、
起動時に更新を確認 をオフにしてください。Nix、Homebrew、Scoop など package
manager 管理の install は自己変更せず、package manager 側で更新します。
更新は実行中のエディタの起動元 binary を置き換えるため、検索・ソート・置換・分割
などのファイル操作は新しい版でないと実行できません。install 完了時にアプリが再
起動を提案します。再起動するまで(別の terminal から ayame update を実行した
場合も同様)これらの操作は「Ayame の再起動が必要」と返します。開いているファイル
と未保存の編集はそのままです。
ファイルを開く¶
ファイルなしで開く:
ブラウザ版を起動:
その後 http://127.0.0.1:8777/ を開きます。
CLI コマンド¶
ayame stat huge.csv
ayame head huge.log -n 20
ayame tail huge.log -n 200
ayame line huge.log 500000
ayame lines huge.log 500000 50
ayame search huge.log 'ERROR' -i --max 50
ayame sort huge.csv --out sorted.csv
ayame replace huge.log ERROR WARN --out fixed.log
ayame case huge.csv lower --out lower.csv
ayame grep-lines huge.log 'ERROR' -i --out errors.log
ayame split huge.csv --lines 1000000
ayame group huge.csv -k 3 --value 5
ayame top huge.csv -k 2 -n 100 --numeric
ayame distinct huge.csv -k 4
ayame gen sample.csv --lines 100000
ayame cache info
ayame serve huge.csv --port 8777
この例は現在の ayame --help と一致しています。sort --out <FILE> は
並べ替え結果をファイルへ書き出します。--out を省略した sort は標準出力へ
書きます。replace と case は --out <FILE> が必須です。split は既定で
入力ファイルと同じディレクトリに <stem>.partNNNN<.ext> 形式の分割ファイルを
作ります。既存ファイルは上書きしないため、出力先がある場合は別名を指定してください。
全コマンドとオプションは CLI リファレンス または
ayame --help を参照してください。ファイル比較は姉妹プロジェクト ayame-diff が
提供します。ayame-diffを参照してください。
主な機能¶
- 巨大ファイルを全体読み込みせず、必要な範囲だけ表示します。
- UTF-8、UTF-16LE/BE(BOM あり / なし)、Shift_JIS、EUC-JP、 ISO-2022-JP、ASCII の読み込みに対応します。文字化けした場合は文字コードを 指定して開き直せます。
- LF、CRLF、旧 Mac の CR-only 改行を検出します。CR-only の UTF-16 ファイルには 対応していません。
- 検索、正規表現検索、単語単位検索、大文字小文字を無視した検索に対応します。
- 編集、元に戻す / やり直し、矩形選択、マルチカーソル、選択範囲の保存ができます。
- カーソル位置のグラフェムまたは上限付き選択範囲について、Unicode scalar、元ファイルの 生バイト、不可視文字 / Bidi の注意情報、色リテラルを検査できます。
- ソート、置換、フォルダ内検索、grep して保存 (一致行だけを別ファイルへ書き出し)、分割、ケース変換を GUI から実行できます。
- タブ、最近使ったファイル、tail -f 風の末尾追従を使えます。デスクトップ版ではタブを別の Ayame ウィンドウへドラッグしたり、外へドラッグして新しいウィンドウにできます — 未保存の編集もタブと一緒に移動します。
- テーマ、フォント、折り返し、空白表示、全角空白の下線表示、キー設定を変更できます。
- クラッシュ復旧用のログにより、未保存の編集を復元できます。
- 開いているファイルが他のプログラムに書き換えられたことを検知し、それを上書きする前に確認します (「外部からの変更」節を参照)。
外部からの変更¶
開いている間にファイルが書き換えられるのは日常です — ビルドによる再生成、ログ ローテーション、別のエディタでの保存。Ayame は最後に読み書きした時点のファイルの 状態を憶えていて、ウィンドウが再び前面に戻るたびに照合します。末尾追従の ON/OFF に関係なく働きます。
変更を検知したときは、推測せずに確認します。
- ウィンドウに戻ったとき: ディスクから読み直すか、手元のまま続けるか。
- 変更されたファイルへ上書き保存するとき: 上書きするか、先に読み直すか。答えるまで 保存は行われないので、外部の変更が黙って埋もれることはありません。
読み直すとこのタブの未保存の編集が破棄され、上書きするとディスク側の内容が失われ ます。別のパスへの保存は妨げられません — 開いているファイル自体への上書きだけが 確認の対象です。
なお、ファイルシステムのタイムスタンプの同一刻み内に、まったく同じ長さで書き換え られた場合は、この種の照合では未変更と区別できません。
置換¶
Ctrl+H で検索バーの下に置換行が開きます。
- 選択範囲内のみ置換 (
▤トグル) は「すべて置換」を選択範囲だけに限定します。 複数行の選択がある状態で置換行を開くと自動で ON になり、何も選択していないとき は使用できません。選択範囲に部分的にしかかからない一致は置換されません。 - 「すべて置換」は実行中にキャンセルできます。すでに置換された分はそのまま残り、 通常どおり元に戻せます。件数はメッセージに出ます。
- 置換欄にも履歴があります。検索欄と同じく
↑/↓でたどれます。
単語単位はすべての正規表現と組み合わせられるわけではありません。組み合わせられない
場合、単語単位が意味するより広い一致に対して実行してしまわないよう、置換は拒否され
ます — 実行するには 単語単位 をオフにしてください。
文字・生バイト検査¶
Ctrl+Alt+I または 編集 -> 文字・生バイトを検査 で開きます。カーソル位置の
グラフェム、または通常選択の上限付き範囲を対象に、Unicode 名、カテゴリ、script、
Bidi class、East Asian / terminal セル幅、UTF-8 / UTF-16、論理位置、元ファイルの
byte offset、生バイト、再エンコードした byte を表示します。未保存の編集オーバーレイを
含む場合は生バイトのコピーを無効にし、その箇所を黙って省くことはありません。
1 request で復号するのは各行 256 KiB、最大 16 行までで、返す結果も 64 grapheme、
256 scalar、検査文字列 16 KiB までです。いずれかの上限で止めた場合は panel に明示します。
Bidi 制御、ゼロ幅文字、NBSP、soft hyphen、variation selector、復号置換文字、複数
script 混在の可能性を注意表示します。注意表示は情報だけで、コピーする文字を変更しません。
U+3042、\u{3042}、\x82\xA0 の明示表現を入力すると preview と置換ができます。
現在の文字コードで表現できない置換は編集前に拒否します。受理した置換は通常の編集として
undo と crash recovery の対象になります。
カーソルが #RGB[A]、#RRGGBB[AA]、0xRRGGBB[AA] にある場合は swatch と color
picker も表示します。適用時は prefix、英字の大小、alpha の位置を保ち、選んだ RGB / alpha
の精度を短縮形で保てない場合だけ長い表記へ展開します。
外部分析アクションと選択対象の認識¶
ツール -> 外部分析アクション で設定した executable を実行できます。引数は shell
command ではなく JSON string array です。Ayame は executable を直接起動するため、path
内の空白・semicolon・quote などは 1 個の引数内に留まります。実行前の確認 dialog には
executable と完全な引数配列を必ず表示します。repository settings を暗黙に import / trust
せず、script の自動生成・自動実行もしません。script を使う場合は明示的に選び、承認します。
placeholder は {file}, {dir}, {line}, {column}, {selection_file},
{snapshot_file} です。入力には保存済み file、現在の dirty buffer の固定 generation、
selection の stdin / 非公開一時 file を選べます。出力は result、新規一時 tab、指定 path
です。stdout, stderr, exit code, duration を分けて表示します。timeout と stdout+stderr
の合計上限は server が強制し、Cancel / timeout は process tree を終了します。snapshot と
selection の private temp は実行後に削除します。child process は Ayame の environment を
継承しますが、environment value や secret を UI / log に表示しません。
上限付きの選択 token は、実在する file / folder または http / https URL としても認識
できます。editor context menu、キー設定可能な「選択したパスまたは URL を開く」、Ctrl+Click
は同じ allowlist と確認処理を使います。file には :line:column suffix も付けられます。
javascript:, data:, file: など他 scheme は拒否します。native app では folder を OS の
file manager で開きます。browser build は任意の local path を安全に reveal できないため、
解決済み folder path の表示だけを行います。
既定ショートカット¶
Ctrl は macOS では Cmd として入力できます。キー設定は 編集 -> 設定 ->
キー設定 から変更できます。ヘルプ -> キーボードショートカット から直接
開くこともできます。
ショートカットとキー設定できる操作¶
| 操作 | 既定ショートカット |
|---|---|
| 新規ファイル | Ctrl+N |
| 新規ウィンドウ | Ctrl+Shift+N |
| 開く | Ctrl+O |
| 保存 | Ctrl+S |
| 名前を付けて保存 | Ctrl+Shift+S |
| タブを閉じる | Ctrl+W |
| 閉じたタブを再度開く | Ctrl+Shift+T |
| 右側 / すべて / 保存済みのタブを閉じる | 未設定 |
| 次のタブ / 前のタブ | Ctrl+PageDown, Ctrl+PageUp |
| コマンドパレット | Ctrl+Shift+P |
| 検索 | Ctrl+F |
| 置換 | Ctrl+H |
| 次の一致 / 前の一致 | F3, Shift+F3 |
| 行へ移動 | Ctrl+G |
| 文字・生バイトを検査 | Ctrl+Alt+I |
| 元に戻す / やり直し | Ctrl+Z, Ctrl+Y または Ctrl+Shift+Z |
| すべて選択 | Ctrl+A |
| 次の一致を選択 | Ctrl+D |
| カーソルを上下に追加 | Ctrl+Alt+↑, Ctrl+Alt+↓ |
| 行を複製 | Ctrl+Shift+D |
| 行を上下に移動 | Alt+↑, Alt+↓ |
| 行を削除 | Ctrl+Shift+K |
| コピー / 切り取り / 貼り付け | Ctrl+C, Ctrl+X, Ctrl+V |
| 検索オプション: 大文字小文字 / 単語 / 正規表現 | Alt+C, Alt+W, Alt+R |
| 文書内の単語補完を明示的に開く | Ctrl+Space |
| 文字を大きく / 小さく / 既定に戻す | Ctrl++, Ctrl+-, Ctrl+0 |
| 一時ファイルへソートして新しいタブで開く | 未設定 |
| 現在のファイルを分割 | 未設定 |
| フォルダ内検索 | 未設定 |
| grep して保存 (一致行の書き出し) | 未設定 |
| 選択範囲を upper/lower/camel/Pascal/snake/kebab/constant case へ変換 | 未設定 |
| 設定 | 未設定 |
| キー設定 | 未設定 |
| 検索バーやダイアログを閉じる | Esc |
未設定の操作は 編集 -> 設定 -> キー設定 に表示されます。よく使う場合は
任意のショートカットを割り当ててください。
この表の操作はすべて再割り当てできます。文字サイズと貼り付けも含みます。貼り付けは
既定の Ctrl+V のままならシステムのクリップボード動作を使い、別のキーに割り当てた
場合はクリップボードを直接読みます (ブラウザによっては許可を求められます)。
+ や - をどの物理キーで入力するかは配列によって異なるため、文字サイズの
ショートカットは配列が要求する Shift の有無どちらでも一致します。
メニュー / ステータス操作¶
次の操作は現在の build では既定キーがありません。メニュー、ステータスバー、
または記載があるものはコマンドパレット (Ctrl+Shift+P) から開きます。
| 操作 | 開き方 |
|---|---|
末尾に追従 (tail -f) |
表示 -> 末尾に追従、ステータスバーの tail ボタン、またはコマンドパレット |
| 空白・改行を表示 | 表示 -> 空白・改行を表示 またはコマンドパレット |
| 全角空白を下線で表示 | 表示 -> 全角空白を下線で表示 またはコマンドパレット |
| 折り返し | 表示 -> 折り返し またはコマンドパレット |
| 文書構造の折りたたみ / 移動 | 行番号ガターの折りたたみボタン、または 表示 の折りたたみ / ブロック操作。JSON/JSONL、YAML、Python、HTML/XML、波括弧ベースのコード、複数行ログイベントに対応 |
| 文字コード / 改行コードを変換して保存 | ファイル -> 文字コード / 改行コード...、またはステータスバーの文字コード / 改行コード表示 |
| シンタックススキームの Auto / 手動切替 | ステータスバーの Auto · … 表示をクリック。favorite 以外は スキームを管理… で検索して選択 |
| 別の文字コードで開き直す | 文字コード / 改行コード... を開き、文字コードを選んで 開き直す |
| 選択箇所をファイルに保存 | 選択範囲のコンテキストメニュー |
| 切り取り / コピー / 貼り付け / すべて選択 | 編集 メニュー |
| 他 / 右側 / 保存済み / すべてのタブを閉じる | タブの右クリックメニュー |
| 閉じたタブを再度開く | タブの右クリックメニュー または Ctrl+Shift+T |
| 設定 | 編集 -> 設定 |
| キー設定 | 編集 -> 設定 -> キー設定、または ヘルプ -> キーボードショートカット |
シンタックススキーム管理では favorite とその順序、上から優先される
ファイル名/glob → スキーム の割り当てを編集できます。設定は共有 UI state に保存され、
JSON の Import / Export にも対応します。不正な JSON 項目は有効な項目と分けて除外されます。
入力補助の自動インデント、括弧・引用符の自動補完、選択範囲の囲み、単語補完は
編集 → 設定 で個別に切り替えられます。IME 変換中と確定時には括弧補完などを
適用せず、確定済みの文字列をそのまま1回の編集として扱います。単語補完の自動候補は
表示中・直近のキャッシュとシンタックス語彙だけを参照します。文書内の走査は
Ctrl+Space で明示した場合だけ行い、時間・走査量・候補数・メモリに固定上限が
あります。期限に達した場合は、その時点までの候補だけを表示します。
折りたたみは閉じた行区間だけを保持し、表示行の範囲だけを取得します。ヘッダーには 非表示行数と、判明しているブックマーク・変更・一致の件数を表示します。検索や マーカー移動で非表示位置へ移動すると自動展開し、編集・undo/redo・外部再読込時は 古くなった折りたたみを解除します。