ファイルを開く 4 つの方法
コマンドラインから渡すか、エディターの中から呼び出すか。
| 方法 | 動作 |
|---|---|
| 起動時にファイル名 | erya a.txt b.txt。1 ファイル 1 タブで、最初のタブから始まります(1.2.5 参照)。 |
| Ctrl+O ファイルダイアログ | 矢印キーで辿れる一覧が出て、選んだファイルは新しいタブで開きます。 |
| Ctrl+N 新規タブ | 無題の空文書を開きます。名前は最初の保存で決めます。 |
| F12 名前を付けて保存 | いまの内容を別名で保存します。以降このタブは新しいファイルを扱います。元のファイルはディスクに残り、このタブからは触りません。 |
開こうとしたパスがすでにタブにある場合、Erya はそのタブへ切り替え、「報告.txt はすでにタブで開いています」と表示します。2 つのタブで別々に編集して互いに上書きする、という事故を防ぐためです。
ファイルダイアログの操作
5 つのキーで足ります:上、下、入る、親へ、キャンセル。
| キー | 動作 |
|---|---|
| ↑ ↓ | 項目を選びます。枠より長い一覧は自動でスクロールします。 |
| PageUp PageDown | 1 ページずつ移動します。 |
| Home End | 一覧の先頭/末尾へ。 |
| Enter または → | ディレクトリなら入り、ファイルなら開きます。 |
| ← または Backspace | 親フォルダーへ。戻ると、いま出てきたフォルダーが選択されています。 |
| Esc または Q | キャンセルして編集に戻ります。 |
- ディレクトリには 📂、ファイルには空白が付くので、見た目でまとまります。
- 並び順はディレクトリが先、ファイルが後で、それぞれ名前順(大文字小文字を区別しません)。
- 先頭の .. は親フォルダーで、← と同じです。
- 選択行は灰地に黒+▶です。
- ステータス行に現在のディレクトリと「何番目/全何件」が出ます。
- ダイアログは現在の文書があるディレクトリから始まります。無題の文書なら作業ディレクトリです。
多くのファイラーと違う点です。親へは ← か Backspace。Esc はダイアログ自体を閉じます。Erya の Esc はどの画面でも「この画面から出る」で、ここも例外ではありません(1.3.7 参照)。
タブ:新規・切り替え・閉じる
4 つのキー。結果は 1 行目で確認できます。
| キー | 操作 | 補足 |
|---|---|---|
| Ctrl+N | 空のタブを追加 | 無題の文書を作り、そこへ切り替えます。 |
| F10 | 次のタブ | 最後まで行くと先頭へ戻ります。 |
| F9 | 前のタブ | 逆方向にも回ります。 |
| F11 | このタブを閉じる | 未保存なら先に確認します(2.1.8 参照)。 |
Erya は必ず 1 つはタブを残します。最後の 1 つを閉じると新しい無題の文書が残ります。終了するには Ctrl+X を押してください。
終了時、Erya は背景のタブも 1 つずつ確認します。未保存があればそのタブへ切り替えて尋ね(S 保存/Y 破棄/N 戻る)、すべて片付いてから終了します。「保存したつもりが 3 つ目のタブだけ保存していなかった」ということは起きません。
タブごとに保持されるもの
ほとんどはタブ単位。共有されるのは 2 つだけです。
タブごと
- カーソル位置とスクロール位置
- 選択範囲と選択の種類
- 元に戻す/やり直す履歴(各 100 手)
- 直近の検索文字列と置換文字列
- 挿入/上書きモード
- 折り返し表示の有無
- 文字コードと改行コード
- 段落幅
すべてのタブで共有
- クリップボード——タブ A でコピーしてタブ B に貼れます
- キープロファイルと表示言語——システム設定で変えると全タブに同時適用(4.2.2 参照)
定型文とマクロはファイルに保存され、読み込むと現在のタブで有効になります(2.4.5 参照)。
ファイル A で選択して Ctrl+C、F10 でファイル B へ、Ctrl+V。ただし Erya のクリップボードは内部のもので、システムのクリップボードとは別です。他のアプリとやり取りするにはターミナル自身のコピー&ペーストを使います(2.2.7 参照)。
保存と名前を付けて保存
Ctrl+S は元のファイルへ、F12 は別のファイルへ。
- 名前のある文書:Ctrl+S でそのまま書き込み、メッセージ行に「… を保存しました」、1 行目のアスタリスクが消えます。
- 無題の文書:Ctrl+S を押すと自動的に「名前を付けて保存:」の入力行が出ます。名前を入力して Enter。F12 に押し替える必要はありません。
- 名前を付けて保存:F12 は現在のパスを初期値として出します。書き換えて Enter。以降このタブは新しいファイルのものになります。
- 入力行では ← →、Backspace、Delete が使え、長いパスは自動でスクロールします。
- 空のまま Enter を押すと「ファイル名を入力してください」と出て、もう一度尋ねます。
- 既存のディレクトリを指定すると「文書をディレクトリとして保存できません」で失敗します。
- パス途中のディレクトリは存在している必要があります。Erya は作成しません。
保存時に実際に起きること
元のファイルに直接書くのではなく、一時ファイルを作って差し替えます。
- 一時ファイルは必ず元と同じディレクトリに作られます。したがってディレクトリ自体に書き込み権限が必要で、ファイルだけ書けても保存できません。
- Unix では元の権限が保たれます。設定した chmod は戻されず、スクリプトの実行ビットも残ります。
- UTF-8 での保存は分割ストリーム書き込みなので、大きな文書でも保存のために全文をメモリーへ複製しません。
- 保存時に文字コードと改行コードの変換も一緒に行われます(3.1.2 参照)。
他のプログラムに書き換えられたら
Erya は 250 ミリ秒ごとに見ており、あなたが編集したかどうかで対応が変わります。
編集していない場合
自動的に再読み込みし、「外部更新を検出し、ファイルを安全に再読み込みしました」と表示します。画面は常に最新の内容です。
よくある場面:別ウィンドウで保存した、git pull で置き換わった。
編集している場合
あなたの内容は上書きされません。まず「ファイルが外部で変更されました。保存前に確認が必要です」と警告し、Ctrl+S を押した時点で赤い確認行が出ます。
よくある場面:自分が編集中に、同僚も保存した。
| キー | 操作 | 結果 |
|---|---|---|
| O | 上書き | 手元の版で上書きします。ディスク側の変更は失われます。 |
| R | 再読込 | 編集を捨てて読み直します。入力した内容は失われます。 |
| N / Esc | 取消 | 何もしません。両方の内容が残るので、別名保存してから落ち着いて処理できます。 |
O も R もどちらかを捨て、元に戻せません。安全なのは N で取り消し、F12 で別名保存し、F4 の比較機能で統合する流れです(3.4 参照)。
未編集の文書が再読み込みされると、元に戻す/やり直す履歴も一緒に消えます。古い手順は新しい内容に当てられず、当てれば壊すからです。意図した動作ですが、最初は必ず驚きます。
未保存のまま終了しようとしたら
止められる場面は 2 つ。どちらも S/Y/N で答えます。
| キー | 動作 |
|---|---|
| S | 保存してから終了/閉じます。名前が無ければ先に尋ねます。 |
| Y | 変更を破棄して進みます。これ以降は取り戻せません。 |
| N / Esc | 取り消して編集に戻ります。 |
問いを見て反射的に Y を押すのが、いちばん内容を失いやすい操作です。Erya の Y は常に「変更を破棄」で、保存は S です。3 つの確認行はどれも各文字の意味を同じ行に書いてあります。押す前に読んでください。
よくあるつまずき
開く・保存まわりで多い 6 つです。
| 症状 | 原因と対処 |
|---|---|
| 「保存に失敗しました:Permission denied」 | ファイルまたはディレクトリに書き込み権限がありません。アトミック保存は同じディレクトリに一時ファイルを作ります(2.1.6)。 |
| 「保存に失敗しました:No such file or directory」 | パス途中のディレクトリがありません。先に mkdir -p を(2.1.9)。 |
| 「文書をディレクトリとして保存できません」 | 保存先に既存のディレクトリを指定しています。ファイル名を足してください(2.1.5)。 |
| 「ファイル名を入力してください」 | 空のまま Enter を押しました。もう一度尋ねられます。 |
| 古い版を編集していた | 開いたあとに外部で変更され、警告を見落としています。N で取り消し別名保存を(2.1.7)。 |
| 元に戻すが効かなくなった | 直前に自動再読み込みが起き、履歴が消えました(2.1.7)。 |