第 1 部・Erya を知る / 1.1

このエディターの役割

Erya はターミナルの中で動くテキストエディターであり、30 年前の DOS 版『漢書』文書システムを Rust で蘇らせたものです。設定に手を付ける前に、何を扱い何を扱わないのか、そして 1 つの文書が開かれてから保存されるまでにどの画面を通るのかを 10 分で押さえておきます。

所要時間 約 10 分 対象 すべての利用者 前提知識 なし バージョン v1.0 ・ 2026-08-26
1.1.1

この手引きの読み方

4 部 14 章。最初から順に読む必要はありません。

本書は 4 部構成です。第 1 部は考え方と導入(Erya とは何か、インストール、画面の見方)、第 2 部は日常の編集(開く、入力、検索、元に戻す)、第 3 部は応用機能(文字コード、大容量ファイル、16 進数、比較)、第 4 部は設定と付録(キー変更、言語、早見表)です。

番号は「部-章」です。3.4 なら第 3 部の第 4 章、節はさらに 1 桁足して 1.1.1 のように書きます。本文で「4.1 参照」とあれば第 4 部第 1 章のことで、左のメニューから開けます。

3 通りの読み方

  • Erya がはじめての方:1.1 から 1.3 を読み、続けて 2.1(開くと保存)へ。この 4 章で実務に入れます。
  • 他のエディターを使ってきた方:1.3(画面)と 4.4(キー一覧)だけ読み、必要になったら戻ってください。nano や vim をお使いなら先に 4.1 を。慣れたキー配列に変えるほうが覚え直すより早道です。
  • いますぐ 1 ファイル開きたいだけの方:起動は 1.2.5、画面は 1.3、終了は Ctrl+X。3 分で済みます。
検索ボックスの使い方

左上の検索ボックス(または ⌘K / Ctrl+K)は 2 つのことをします。この章の本文で一致した箇所を黄色で示し Enter で順に移動できるようにすること、そして同じ話題を扱う他の章を一覧に出すことです。画面イメージの中の文字も検索対象です。

本書では Ctrl+S のような表記がキー、~/.config/erya/keymap.toml のような表記がファイルパスやコマンドです。注意していただきたいのは、Erya のショートカットはまるごと差し替えられるという点です(4.1 参照)。本書は内蔵の Erya Terminal Safe を基準にしています。プロファイルを変更した方は、画面 2 行目のヒント行と F1 ヘルプをご覧ください。そこに出ているのが実際に使えるキーです。

本書は「現在の姿」を書いています

内容はすべて現在のソースコードに基づきます。計画中の機能も、「本来こうあるべき」という話も書きません。「既定ではキーが割り当てられていない」「このモードでは使えない」と書いてあれば、それが現状です。

1.1.2

Erya がすること・しないこと

一言でいえば、ターミナルの中で動き、CJK 文書を真剣に扱うテキストエディターです。

名前は「爾、近なり;雅、正なり」という古い訓詁に由来し、DOS 時代の中国語文書システム『漢書』を Rust で蘇らせたものです。仕様先行でゼロから書き直しており、オリジナルのソースコードや素材は一切含みません。当時の開発チームとの関係もありません。

ターミナル(Terminal.app、iTerm2、Windows Terminal、SSH 接続のいずれでも)の中で動き、実行中はウィンドウ全体を使い、終了すると元の画面に戻します。見た目はこうです:

爾雅 Erya │ [報告.txt] 付録.md
F1 ヘルプ Ctrl+S 保存 Ctrl+W 検索 Ctrl+R 置換 Ctrl+B 矩形選択 Ctrl+K 行切取 Ctrl+X 終了
第一章 プロジェクトの背景   本プロジェクトは二〇二六年三月に始動しました。既存の   文書一式をプレーンテキストへ変換し、元の文字コードと   改行コードを保つことが目標です。現在は第一段階まで完了。 ~ ~
報告.txt │ 5:30 │ 挿入 │ UTF-8 │ LF
報告.txt を保存しました
図 1.1.1 メイン画面。上 2 行と下 2 行が固定の枠で、その間が文書です。反転しているマスがカーソル位置を示します。各行の意味は 1.3 で 1 行ずつ説明します。
Erya がすることErya がしないこと
プレーンテキストを開く・編集する・保存する レイアウト、フォント、太字や斜体(ワープロではありません)
UTF-8/UTF-8 BOM/Big5/GBK/Shift_JIS の判定と変換 UTF-16・UTF-32(開いた時点で非対応と表示)
複数タブ、検索と置換、元に戻す・やり直す 画面分割、同じファイルの 2 か所を同時に表示
ファイル名によるシンタックスハイライト 静的解析、補完、定義へ移動(IDE ではありません)
TOML/YAML/JSON の整形 その他の形式の整形(外部ツールは呼びません)
16 進数表示と、バイナリファイルのバイト編集 逆アセンブル、構造解析(バイナリ解析ツールではありません)
左右 2 ペイン比較と差分の双方向コピー 3 方向マージ、バージョン管理連携(Git 機能はありません)
64 MiB 以上のファイルの読み取り専用閲覧とログ追跡 大容量ファイルモードでの編集
定型文とキーボードマクロ プラグイン、スクリプト言語、パッケージ管理
いちばん多い誤解

Erya には自動保存もクラッシュ復元もありません。Ctrl+S を押していない内容はメモリーの中だけにあります。タブを閉じるときと終了するときには確認しますが(2.1.8 参照)、ターミナルを閉じる・SSH が切れる・マシンが落ちる、といった場合は未保存の内容は失われます。

1.1.3

vim や nano との違い

短く言えば、モードを覚えなくてよいこと、そして CJK が主役であることです。

ターミナル用エディターは他にもあります。Erya が狙っているのは具体的な問題群です:CJK 文書がターミナルで揃わない、変換で文字コードが壊れる、古いファイルがいまだに Big5 である。設計の判断はそこから来ています。

Eryavimnano
モードの学習不要。開いてすぐ入力できる必要(コマンド/挿入)不要
キーの見つけ方2 行目に常時表示、F1 に全一覧先に覚える下 2 行に表示
CJK 文字コード自動判定、常時表示、F7 で変換fileencoding を手動設定扱わない
全角の桁揃え端末の桁で計算し、全角は 2 桁おおむね可おおむね可
絵文字・結合文字書記素クラスター単位で移動・削除ビルド次第分割されがち
矩形選択内蔵。文字で埋める・まとめて動かすあり(Ctrl+V ブロック)なし
ファイル比較内蔵(F4)vimdiff を起動なし
16 進数表示内蔵(Ctrl+P)xxd に通すなし
キーの変更TOML 1 つ。12 種類同梱vimrc(強力だが要学習)nanorc(限定的)
すでに nano や vim をお使いなら

keymap/ ディレクトリには nano・vim・emacs のプロファイルに加え、VS Code、Visual Studio、IntelliJ、Eclipse、macOS 版も入っています。F2 を押して選び Enter。設定ファイルは不要です(4.1.3 参照)。

1.1.4

全体像:5 つのブロック

Erya のどの画面も、この 5 つのどれかに属します。

① 編集 入力・選択・切り貼り 検索と置換 元に戻す・やり直す 矩形選択 定型文とマクロ 毎日使うのは このブロック → 第 2 部 ② ファイル ファイルダイアログ タブ 保存・名前を付けて保存 外部変更の検出 大容量ファイル 読み込みと書き戻しに 関わるすべて → 2.1、3.2 ③ 文字と書式 文字コード判定・変換 LF/CRLF シンタックスハイライト TOML/YAML/JSON 段落の再整形 古い文書でいちばん つまずくところ → 3.1 ④ 調査ツール 16 進数表示 バイト編集 左右 2 ペイン比較 差分のコピー ログの追跡 出番は少ないが、 要るときは代えがたい → 3.3、3.4 ⑤ 設定 キープロファイル キーマップエディター 表示言語 キー操作ヘルプ 一度決めれば 当分触りません → 第 4 部
図 1.1.2 5 つのブロック。①②は毎日の作業、③は古いファイルで効いてきます。④は普段は使いませんが必要なときに代わりがなく、⑤は最初に決めるだけです。

ひとつ注意を。この 5 つにメニューはありません。Erya にはメニューバーがなく、すべての機能はキーで呼び出します。見つからないときは F1 を押してください。その一覧が機能の総目次です(1.3.8 参照)。

1.1.5

文書の一生

開いてから書き戻すまで、5 つの駅を通ります。

① 開く コマンドラインか Ctrl+O で ② 種別判定 テキスト/大容量/ バイナリ+文字コード ③ 編集 入力・検索・置換 最大 100 手まで戻せる ④ 変換 F7 文字コード/F8 改行 (省略可) ⑤ 保存 Ctrl+S 一時ファイル→差し替え 編集中ずっと、Erya はディスク上の原本が変わっていないか見ています 未編集なら自動再読み込み、編集済みなら先に確認します(2.1.7 参照) ②が分岐点:バイナリはテキスト編集に入らず、大容量ファイルは編集できません
図 1.1.3 ②で行き先が決まります。通常のテキストは全工程を通り、64 MiB 以上は読み取り専用(3.2)、テキストでないものは 16 進数表示(3.3)へ進みます。
  1. 開く。コマンドラインでファイル名を渡すか、Ctrl+O でファイルダイアログを開きます。同じパスがすでにタブにあれば、Erya はそちらへ切り替え、二重には開きません(2.1.1)。
  2. 種別を判定する。サイズと先頭 8 KiB に NUL バイトがあるかを見てモードを決め、同時に文字コードを推定します(3.1.1)。
  3. 編集する。通常のテキストファイルはここで大半の時間を過ごします。各タブがカーソル位置・検索条件・最大 100 手の履歴を個別に保持します(2.4.1)。
  4. 変換する(任意)。古い Big5 を UTF-8 に、CRLF を LF に変えるなら保存前に F7/F8 を。変換は次回保存時に行われ、押した瞬間ではありません(3.1.2)。
  5. 保存する。Ctrl+S は同じディレクトリに一時ファイルを書き、原子的に差し替え、Unix では元の権限も戻します(2.1.6)。
1.1.6

3 種類の読者、3 つの道順

自分がどれかを決めてから、必要な章だけ読んでください。

文章を書く方

原稿、メモ、古い文書の整理

  • 開く・タブ・保存
  • 検索と置換、元に戻す
  • 文字コードと改行の変換
  • 段落の再整形、定型文

道順:1.2 → 1.3 → 2.1〜2.4 → 3.1

サーバーの設定を触る方

SSH で入り、conf を直し、ログを見て、2 つの設定を比べる

  • オプションと環境変数
  • ハイライトと TOML/YAML/JSON 整形
  • 大容量ファイルとログ追跡
  • 設定ファイル 2 つの比較

道順:1.2 → 1.3 → 2.1 → 3.1 → 3.2 → 3.4

自分の手になじませたい方

キーや言語を変える、チームで設定を揃える

  • 同梱の 12 プロファイル
  • キーマップエディターと保存
  • 設定ファイルが読まれる場所
  • 表示言語と自作翻訳

道順:1.3 → 4.1 → 4.2 → 4.4

3 つを兼ねているのが普通です。その場合は第 1 部と第 2 部を順に読み、第 3 部・第 4 部は必要になってから開いてください。

1.1.7

まず覚える 6 つのこと

どれも後の章で再登場しますが、出発点としてここに置きます。

  1. 自動保存はありません。Erya が勝手に保存することはなく、クラッシュ復元もありません。ディスクに書くのは Ctrl+S だけです(2.1.5)。
  2. 終了は Ctrl+X。Ctrl+C ではありません。既定では Ctrl+C はコピーで、中断ではありません。タブを閉じるのは F11 です(2.1.3)。
  3. ショートカットは差し替え可能なので、手引きと手元が違うことがあります。2 行目と F1 が常に実際のキーを示します(4.1)。
  4. 文字コードと改行は「次の保存」で反映されます。F7/F8 はステータス行を変えるだけです(3.1.2)。
  5. 編集できないモードが 3 つあります。大容量ファイル読み取り専用、テキストファイルの 16 進数表示、ストリーム読みのバイナリ。どれもステータス行に明記されます(3.2、3.3)。
  6. 矩形選択と折り返し表示は同時に使えません。座標の考え方が衝突するため排他で、片方が有効なときにもう片方を有効にしようとするとメッセージで止められます(2.2.5)。
1.1.8

用語はどの章にあるか

この章に出た用語です。全用語は 4.4.8 にあります。

用語ひとことで言うと参照
タブ同時に開いている複数のファイル。カーソルや履歴を個別に持ちます。2.1.3
ヒント行2 行目。その画面で使えるキーを常に並べています。1.3.3
ステータス行下から 2 行目。ファイル名、行と列、モード、文字コード、改行。1.3.5
メッセージ行最終行。操作の結果や確認の問いが出ます。1.3.6
キープロファイル操作とキーの対応を書いた TOML。まるごと差し替えられます。4.1
書記素クラスター画面上で 1 文字に見える単位。何個のコードポイントでできていても 1 つ。2.2.3
矩形選択長方形の選択。文字で埋めたり、まとめて動かせます。2.2.5
大容量ファイルモード64 MiB 以上で自動的に入る読み取り専用の閲覧モード。3.2
16 進数表示文書をバイト単位で見る画面。テキストファイルでは読み取り専用。3.3
バイナリファイルNUL を含む、または復号できないファイル。開くと直接バイト表示になります。3.3.5
一時コピー比較中の作業ファイル。適用するまで元のファイルは変わりません。3.4.1
定型文登録して繰り返し挿入する文字列。JSON に保存します。2.4.3
マクロ記録して再生するキー列。JSON に保存します。2.4.6
アトミック保存一時ファイルを書いてから差し替える方式。半端なファイルが残りません。2.1.6