2 つの導入方法
できあいの実行ファイルを落とすか、Rust でビルドするか。
① リリースをダウンロード(推奨)
GitHub Releases から自分のプラットフォーム用アーカイブを取得します。展開すると実行ファイルが 1 つ。他に入れるものはありません。
- 7 プラットフォーム分がビルド済み
- SHA-256 付き
- PATH には自分で置きます
② ソースからビルド
Rust があれば cargo install 一行で済み、更新も楽です。
- Rust 1.85 以降が必要
- Cargo の bin ディレクトリに入り、たいてい PATH 済み
- 初回ビルドに数分かかります
インストーラーもサービスもレジストリ登録もなく、設定があちこちに散ることもありません。自分から読むのはキープロファイルだけ(4.1.7 参照)で、それが無くても問題なく動きます。自分から書くのは、あなたが保存した文書と、あなたが指示した定型文・マクロの JSON だけです(2.4.5 参照)。削除は実行ファイルを消すだけです。
プラットフォーム別のアーカイブ
まず自分の CPU を確かめ、それからファイル名を選びます。
github.com/walisayu/erya/releases/latest から .tar.gz を 1 つ選んでください。
| システム | アーキテクチャ | Release target(ファイル名の中の文字列) |
|---|---|---|
| Linux | Intel/AMD 64 ビット | x86_64-unknown-linux-gnu |
| Linux/Raspberry Pi OS 64 ビット | ARM64 | aarch64-unknown-linux-gnu |
| Raspberry Pi OS 32 ビット | ARMv7 hard-float | armv7-unknown-linux-gnueabihf |
| macOS | Intel | x86_64-apple-darwin |
| macOS | Apple シリコン | aarch64-apple-darwin |
| Windows | Intel/AMD 64 ビット | x86_64-pc-windows-msvc |
| Windows | ARM64 | aarch64-pc-windows-msvc |
どれか分からないとき
- macOS:uname -m を実行。arm64 なら Apple シリコン、x86_64 なら Intel。
- Linux/Raspberry Pi:同じく uname -m。aarch64 → ARM64、armv7l → ARMv7、x86_64 → Intel/AMD。
- Windows:設定 → システム → バージョン情報 → システムの種類。
Pi 4・5 の CPU は 64 ビットですが、Raspberry Pi OS には 32 ビット版もあります。システムが 32 ビットなら ARMv7 を選んでください。ARM64 は動きません。uname -m が示すのはシステム側の値なので、これがいちばん確実です。
検証して PATH に置く
展開すると出てくるのは 1 ファイル:erya(Windows は erya.exe)。
各アーカイブには同名の .sha256 が付き、リリースページには SHA256SUMS もあります。壊れていないか確かめるには:
| システム | コマンド |
|---|---|
| macOS | shasum -a 256 erya-*.tar.gz |
| Linux | sha256sum -c erya-*.tar.gz.sha256 |
| Windows | certutil -hashfile erya-*.tar.gz SHA256 |
表示された値が .sha256 の中身と一致すれば大丈夫です。あとは PATH の通ったディレクトリに置きます。
| システム | よく使う場所 |
|---|---|
| macOS/Linux(自分だけ) | ~/.local/bin または ~/bin |
| macOS/Linux(全員) | /usr/local/bin(sudo が必要) |
| Windows | C:\Tools を作り、環境変数の Path に追加 |
ネットから落とした実行ファイルには隔離属性が付き、「開発元を検証できないため開けません」と表示されます。属性を外してください:
xattr -d com.apple.quarantine ~/.local/bin/erya
または「システム設定 →『プライバシーとセキュリティ』」で一度「このまま開く」を押します。署名のないプログラム全般に対する挙動で、Erya に固有のものではありません。
ソースからの導入
Rust 1.85 以降が必要です。
rustc --version で確認し、無ければ rustup で入れてください。あとはプロジェクトのディレクトリで:
| コマンド | 内容 |
|---|---|
| cargo run --release -- [ファイル] | ビルドして 1 回実行。インストールはしません。-- の後ろだけが Erya に渡ります。 |
| cargo install --path . | ビルドして erya を Cargo の bin(通常 ~/.cargo/bin)へ入れます。 |
| erya [ファイル] | 導入後はこれで起動します。 |
cargo run --release 報告.txt は失敗します。Cargo が自分の引数だと解釈するためです。cargo run --release -- 報告.txt と書いてください。2 つのハイフンが「ここから先はプログラム用」という意味になります。
起動:ファイル名あり・なし
0 個でも 1 個でも複数でも構いません。
| コマンド | 結果 |
|---|---|
| erya | 無題の空文書を 1 つ開きます。最初の保存時にファイル名を尋ねます。 |
| erya 報告.txt | そのファイルを開きます。存在しなくてもエラーになりません。空の文書が開き、最初の保存で作成されます。 |
| erya a.txt b.txt c.txt | 3 つのタブを開き、最初のタブから始まります。 |
| erya -- -変な名前.txt | -- 以降はすべてファイル名として扱われ、オプションになりません。 |
| erya あるディレクトリ | 失敗します:「… はディレクトリであり、テキストファイルではありません」。中を見たいときは起動後に Ctrl+O を(2.1.2 参照)。 |
Erya はリンクを実体のパスに解決してから開き、保存も実体へ書き戻します。リンクを通常ファイルで置き換えることはありません。~/.zshrc のようにリンクであることが多いパスでも、期待どおりに動きます。
コマンドラインオプション
5 つ。どれも「何かを表示して終了」か「設定を差し替える」ものです。
| オプション | 内容 |
|---|---|
| -h, --help | ヘルプを表示して終了。使い方・オプション・環境変数・よく使うキーが載り、表示言語に従います。 |
| -V, --version | バージョンを表示して終了(例:erya 1.0.0)。 |
| --languages | 翻訳ディレクトリで実際に見つかった言語を 1 行ずつ「コードTab名称」で表示。 |
| --keymap <ファイル> | この実行だけ指定のキープロファイルを使います(4.1.5 参照)。パスが無いと失敗します。 |
| --print-default-keymap | 既定プロファイル全体を標準出力へ。自分の設定ファイルの出発点にします。 |
よくある使い方:
- erya --print-default-keymap > keymap.toml — 全操作名が入った雛形を作る。
- erya --keymap keymap.toml 報告.txt — 編集した設定で開く。
- erya --languages — ERYA_LANG に書くコードを確認する。
- で始まり上表に無い引数は「erya: 未対応のオプション:-x」と表示して異常終了します。無視して続行はしません。ファイル名がハイフンで始まる場合は先に -- を置いてください。
4 つの環境変数
どれも任意です。1 つも設定しなくても動きます。
| 変数 | 役割 | 参照 |
|---|---|---|
| ERYA_LANG | 表示言語のコード(ja、en、zh-TW、zh-CN など)。未設定なら LC_ALL、LC_MESSAGES、LANG の順に見ます。 | 4.2.4 |
| ERYA_LOCALES_DIR | 翻訳ファイルのディレクトリ(既定は locales/)。自作翻訳を置く場所を指定します。 | 4.2.5 |
| ERYA_KEYMAP | キープロファイルのパス。毎回 --keymap を付けるのと同じです。 | 4.1.7 |
| ERYA_KEYMAPS_DIR | システム設定(F2)が一覧に出すプロファイルの置き場(既定は keymap/)。 | 4.1.3 |
1 回だけならコマンドの前に書きます:
- ERYA_LANG=en erya 報告.txt — 今回だけ英語表示。
- ERYA_KEYMAP=~/my.toml erya — 今回だけ自分のキー設定。
恒久的にするなら ~/.zshrc や ~/.bashrc へ(Windows はユーザー環境変数へ)。
ターミナル側の条件
必須は 2 つ:本物のターミナルであること、そして狭すぎないこと。
- 対話型ターミナルであること。標準入力と標準出力の両方が TTY である必要があります。パイプやリダイレクトにつなぐと即座に失敗し、「Erya は対話型ターミナルで実行してください」と出ます。cat a.txt | erya や erya > out.txt はどちらも不可です。フィルターではなくエディターだからです。
- 最低 24 桁 × 6 行。それより小さいと画面が黄色い 1 行「ターミナルが小さすぎます;ウィンドウを広げてください」に変わり、広げれば自動で戻ります。編集中の内容は失われません。実用上は 80×24 以上を。16 進数表示で 1 行 32 バイトにするにはさらに 144 桁必要です(3.3.3 参照)。
- できれば bracketed paste 対応を。最近のターミナルはほぼ対応しています。対応していれば、まとまった文字列の貼り付けが 1 回の貼り付けとして扱われます。Erya は起動時に有効化し、終了時に無効化します。
Erya はターミナルの代替画面を使うので、終了時に元の画面・カーソル・各種モードが復元され、スクロールバックに編集画面が残りません。異常終了時も復元処理は走ります。
起動できないとき
メッセージから探してください。詳細は 4.3 にまとめてあります。
| 表示 | 原因と対処 |
|---|---|
| command not found: erya | PATH に無い。フルパスで試し、動くなら PATH の問題です(1.2.3)。 |
| Permission denied | 実行権限がない:chmod +x erya。 |
| macOS:開発元を検証できない | 隔離属性:xattr -d com.apple.quarantine erya(1.2.3)。 |
| cannot execute binary file | アーキテクチャ違い。uname -m で確認(1.2.2)。 |
| 対話型ターミナルで実行してください | パイプやリダイレクト。直接実行してください(1.2.8)。 |
| ターミナルが小さすぎます | 24×6 未満。ウィンドウを広げます(1.2.8)。 |
| 未対応のオプション:… | 綴り違い、またはハイフン始まりのファイル名。-- を付けます(1.2.6)。 |
| … はディレクトリであり… | 引数がディレクトリ。ファイルを渡すか、起動後 Ctrl+O(1.2.5)。 |
| キーバインドを読み込めないため既定値を使用します:… | エラーではなく、そのまま動きます。設定ファイルに構文問題か競合があり、完全な既定値に戻したという報告です(4.1.8)。 |