テキストエディタ ee
1 特徴
eeはFreeBSDで最初から入っているテキストエディタの一つです。 初期状態のコンソールで完全に動作します。
- Windows風のエディタとは似ても似つかない使用感。
- Undo(元に戻す)ができない。
- コピー&ペーストがない。
- カット&ペーストはあるが、かなり使いづらい。
- 画面の上の方に操作のヘルプが常時表示される。
- キーバインドは二つのスタイルから選択できる。
- Emacs風のキーバインド
- 謎のキーバインド
- メニューがある。
- プログラミングを支援する特別な機能、例えばコードの色付けはない。
- エディタ内からコマンドを実行できる。
- 簡単なコマンドモード(UNIXのコマンドではない)がある。
何気にキーバインドという言葉を使いましたが、これはWindows風のアプリケーションで言うところのショートカットのようなものです。 例えば、Ctrl+Sでファイルの保存、といった具合です。 テキストエディタの中には、カーソルの移動などのありきたりの操作までが特定のキーに割り当てたりしているものがあります。 ショートカットというとある機能を呼び出す手早い別の方法というニュアンスがあります。 カーソルの移動などに割り当てられたキーは、そちらをメインに使用するもので、別の方法と言う含みは適切ではないのでショートカットとは呼びません。 キーバインドと呼びます。
2 基本的な使い方
まずはごく基本的な操作から見ていきます。 目標は何か文字が含まれたテキストファイルを作成するところまでです。
前段階として、作業用のディレクトリを作成して、その中に移動しておきます。 これには前回やったコマンドmkdirとカレントディレクトリを変更するコマンドcdを使います。
root@freebsd:~ # pwd⏎ ▹現在のディレクトリがrootのホームディレクトリであることを確認 /root root@freebsd:~ # mkdir poem⏎ ▹poem という名前のディレクトリを作成 root@freebsd:~ # cd poem⏎ ▹作成した poem に移動 root@freebsd:~/poem # pwd⏎ ▹現在のディレクトリが作成した poem であることを確認 /root/poem root@freebsd:~/poem # ▋
ディレクトリの名前は何でもいいです。 ここではポエムを書きたいのでpoemとしました。 以降はこのpoemの中で作業をします。
2.1 起動
起動するには ee
というコマンドを打ちます。
なお、ここからしばらくはカレントディレクトリが用意した作業用のディレクトリであるものとして、今まで最初にやっていたpwdを省略します。
root@freebsd:~/poem # ee⏎
そうすると、画面全体がばっさりと切り替わります。 このような画面を使って操作するタイプのテキストエディタをフルスクリーンエディタとも呼びます。
フルスクリーンという名前で区別されるのは、画面全体を使わずテキストを編集するテキストエディタも存在するからです。 それらはラインエディタと呼ばれます。
では、実際に使っていきます。
2.2 画面の見方
ちょっと風変りな画面なので説明を入れておきます。
図1: eeの画面の見方
領域を区別するために色合いを変えているので、実際の真っ黒な画面とは印象が違うかもしれません。
- ①ヘルプが表示される部分です。
- ②テキストを編集する部分です。
- ③画像では何も表示されていないのですが、検索語の入力やコマンドの入力などをこの部分で行います。
最初に目に付くのが①のヘルプの部分でしょう。 常に表示されたままで居座っています。 英語に馴染みのある人には役に立つ情報ですが、そうでなければ逆効果です。 このシリーズでは英語ができることは想定していません。 邪魔になるのであとで表示されないようにします。
2.3 テキストの入力
何も考えずとりあえず何か入力してみましょう。
残念ながら日本語は入力できません。
例として次のような文を入力してみます。
ee: I don't like text editors diffcult to learn (IT'S *NOT* ME).⏎
とりあえずカーソルの移動は←と→ でやってください。 間違えた文字を消すには、カーソル位置の次の文字削除がDeleteと、前の文字削除がBackspaceでできます。
説明するのも憚られるのですが、大文字を入力するにはShiftを押しながらその文字を打ちます。
記号文字の :
'
*
(
)
は入力できたでしょうか。
日本語のキーボードを使用しているなら、その文字が印字されているところのキーを打っても違う文字が入力されたのではないかと思います。
実は、キーボードレイアウトが違うことに気付いてもらうために、わざと仕込んでおきました。
テキストエディタのごく基本的な使い方さえ覚えれば、FreeBSDでは簡単に日本語キーボードのレイアウトに変更できます。
これはこのページの後の方でやることにします。
初期状態では、キーボードのレイアウトはus(アメリカ英語)になっています。 上記の文字を日本語キーボードから入力するには次のようにします。
入力したい文字 | 日本キーボードで打つキー | 印字 |
---|---|---|
: コロン |
Shift+; | れ |
' 単一引用符 |
: | け |
* スター |
Shift+8 | ゆ |
( 左括弧 |
Shift+9 | よ |
) 右括弧 |
Shift+0 | わ |
ちょっと大変かもしれません。 ですが、なぜか違う文字が入力されるといったときにはやらなければいけない作業です。 そのときはとりあえず打って試せばいいです。 ですので、この情報を覚えておく必要は全くありません。
どうでもいいかもしれませんが、先の文は「ee:覚えるのが難しいテキストエディタは好きではない(私ではない)。」という意味です。
2.4 ファイルの保存
文章ができたので保存しましょう。 残念ながら、保存はちょっと分かりづらいです。 次の操作を行って下さい。
- まずEscを1回だけ叩きます。
すると画面の真ん中に四角い枠が表示されます。 これはメニューです。 ※表示されるまで1、2秒程度ラグがありますので一呼吸おいて下さい。
図2: eeでファイルの保存 メニュー1
表示された枠の項目を見ると、「c) file operations」というのがあります。 この項目を選択する必要があります。 それには次のどちらかの操作をして下さい。
- ↓キーでカーソル▋をそこに移動させてEnterを叩く
- cを叩く。
お勧めはcです。
別の四角い枠が表示されます。 今度は「c) save file」というのを選択する必要があります。 先と同じように↓とEnterか、cで選択して下さい。
図3: eeでファイルの保存 メニュー2
画面下の部分に
enter name of file: ▋
と表示されます。 これは「保存するファイル名を入力して下さい」という意味です。 何でもいいですがeesays.txt
とでもしておきます。図4: eeでファイルの保存 ファイル名の入力
さっきファイル名を入力した部分のところに
"eesays.txt" 2 lines, 65 charaters
と表示されていれば無事保存されました。 この表示は、「eesays.txt という名前のファイルで、2行あって、65文字がある」という意味です。 ※数字は同じでなくても大体で構いません。図5: eeでファイルの保存 完了
メモ帳などのCtrl+Sで保存といったショートカットに慣れていたら、この操作は非常に煩わしく感じるでしょう。 メニューが表示されるまでラグがあるのが厄介です。
実はこれ、メニューが表示されるまで待たなくても大丈夫です。 Esccc と、間を置かず連続して叩いても保存できます。 試しに今やってみるといいです。 一度保存してあるので、再度ファイル名を尋ねられず上書き保存にはなります。 画面下にメッセージが表示されるので、保存が実行されたことは確認できると思います。
それにしても3回もキーを打たないといけないのは慣れるまで大変かもしれません。 これ以上は短縮できないみたいなので、慣れるしかありません。
2.5 終了
保存できたのでいったん終了しておきましょう。 終了は簡単です。 次のいずれかで終了できます。
- EscEnter と順番に叩く。
Alt+Enter (Altを押したままEnterを叩く)
2の方がお勧めです。
もしファイルの内容が最後に保存してら変更されていると、保存するかどうかの確認が表示されます。 保存する場合a、保存しない場合b、終了をキャンセルする場合Escです。
図6: ee 終了時の保存確認
eeを終了すると、コマンドラインに戻ってきます。 画面にはeeの残骸が残ったままになっていて、プロンプトは画面の一番下にある状態になるでしょう。
ここで
clear
というコマンドをタイプして実行するか、Ctrl+Lを叩くと画面がきれいになります。 この画面をクリアする方法は、コマンドラインにいるときならいつでも使えます。 画面がごちゃごちゃしてきたときなど、結構頻繁に使うので覚えておいたほうが良いです。eeで保存したファイルがちゃんとなっているか確認しておきましょう。
root@freebsd:~/poem # ls⏎ ▹eeで保存したファイルが存在しているか確認 eesays.txt root@freebsd:~/poem # cat eesays.txt⏎ ▹ファイルの内容を表示 ee: I don't like text editors diffcult to learn (IT'S *NOT* ME). root@freebsd:~/poem # ▋
このようにファイルが作成されていて、内容も入力したものと同じになっていればOKです。
2.6 ファイルを指定してeeを起動
さっきまでの流れでは、起動時にはファイルを指定せずに、保存時にファイル名を決めるという流れでした。 実際の利用するには、起動時にファイル名を指定することの方が多いでしょう。 だいたい次の2つのケースが考えられます。
- すでに存在しているファイルを編集したいケース
- まだファイルは存在していないが、ファイル名は決めているのでそのファイル名で編集を開始したいケース
eeはコマンドライン引数としてファイル名を取ることができ、上のどちらも対応可能です。
1の場合 ee eesays.txt
とすれば、さっき作成したファイルを続きから編集することができます。
そして、編集を終えて保存を実行すればeesays.txtが上書き保存されて更新されます。
テキストエディタはプログラミングで使用する以外にも、FreeBSDのシステム設定ファイルを編集するのにも使います。
その場合、ファイルが存在していない場合よりも、すでにあるものを書き変えることの方が圧倒的に多いです。
なので、起動時にすでに存在しているファイルを指定できることは必須です。
2の場合 ee newfile.txt
とすれば、newfile.txtがまだ存在していないとして、そのファイル名で編集を開始します。
編集を終えて保存を実行するとファイル名の入力を促されることなく、newfile.txtというファイルが作成されます。
起動時に指定するか、初めて保存を実行したときに指定するかだけの違いですが、結構感触は違ってきます。
基本的には起動時に指定する方が、いざ保存するときになってファイル名に迷うよりも、安心感があるのではないかと思います。
基本的な使い方は以上です。 これだけできれば、一応、なんとかHello Worldのコードくらいは書くことが可能です。 残りはより便利に使うための情報となります。
3 設定
設定といってもとりわけ変更したいのは一つだけです。 画面の上部を占有しているヘルプの部分を非表示にすることです。
3.1 設定はメニューから
eeの設定はメニューから行えます。 もう一度メニューへの入りかたから順番書いていきます。
- Escキーを1回だけ叩きます。
- 画面中央に四角い枠が表示されます。 その中にメニューの項目が並んでいます。
e) settings
に注目します。 eeの設定に入るには次のどちらかの方法でこれを選択します。- ↓キーでカーソルを移動させて、Enterで選択する。
- eを叩く。
設定のメニューが表示されます。
図7: eeの設定メニュー
3.2 メニューの項目一覧
数も少なく全部見てみてもそんなに大変じゃないので、ついでにさっと目を通しておくことにします。 よく分かってない項目もあります。
番号 | 項目名 | 初期値 | 日本語 | どのような効果があるか | お勧め |
---|---|---|---|---|---|
a | tabs to spaces | OFF | タブをスペースに | ONならTABキーでTAB文字の代わりに適切な数の空白文字を挿入する | 初期値 |
b | case sensitive search | OFF | 大文字小文字を区別する検索 | ONなら検索で大文字小文字を区別する | 好みで |
c | margings observed | OFF | マージンの監視 | ONならhで指定された長さを越えると自動で改行する | 初期値 |
d | auto-paragraph format | OFF | 自動段落整形 | ONなら段落を自動で整形する | 初期値 |
e | eightbit characters | ON | 8ビット文字 | 不明 | 初期値 |
f | info window | ON | 情報ウィンドウ | ONなら画面上部にヘルプを表示する | OFF |
g | emacs key bindings | ON | Emacsキーバインド | ONならEmacs風のキーバインドになる。OFFなら謎のキーバインドになる | ON |
h | right margin | 79 | 右のマージン | cが自動で改行する1行の長さ | 初期値 |
i | 16 bit characters | OFF | 16ビット文字 | 不明 | 初期値 |
j | save editor configuration | - | エディタの設定を保存 | このメニューの設定をeeの初期化ファイルに保存する | - |
色を変えてあるところがチェックしておきたい項目です。
他にもc、d、hは英語で小説を書くときなんかには役に立つかもしれません。 今は不要な機能ですので、初期値のままOFFにしておけばいいです。
3.3 変更する項目
変更するのは f) info window
だけです。
これをOFFにすれば画面上部のヘルプの表示が消えて、編集領域が広くなって、余計な情報が目に入らなくなることで集中力がアップします。
ヘルプが見たくなったら、Alt+Bですべて表示できるので、常に表示させておく必要性はかなり低いと思います。
OFFにする手順は、↓キーでカーソルをfに合わせてからEnterを叩くか、単にfを叩いて下さい。
初期値はONなっていると思いますが g) emacs key bindings
が ON になっていることも一応確認しておいて下さい。
試しにOFFにしてどのようになるかを確認してみるのも面白いかもしれません。
このシリーズではONになっていることを前提で進めます。
EmacsをOFFにしたときのキーバインドで一番奇妙なのは、Ctrl+Lがカーソル左に移動で、Ctrl+Rが右に移動となっていることです。 lは右手の位置にあり、rは左手の位置にあります。 左に移動するのに右手でキーを押して、右に移動するの左手でキーを押すというのは直感に反します。 車で右にハンドルを切ると左に曲がるような感覚を覚えます。 おそらくlは Left で rは Right だから覚えやすいようにそうなっているのでしょう。 ただやっぱり奇妙です。
3.4 設定の保存
変更ができたら、そして画面上部にヘルプが表示されなくなったことに不満を感じなければ j) save editor configuration
を選択します。
選択する方法は、これまでと同じです。
さすがにしつこいと思うので繰り返さないでおきます。
j) save editor configuration
を選択すると、さらに確認のメッセージが表示されます。
図8: eeの設定保存時に表示される確認メッセージ
ここで尋ねられているのは次の二択です。
a) save in current directory
カレントディレクトリに設定を保存するかb) save in home directory
ホームディレクトリに設定を保存するか
aにすると、カレントディレクトリである /root/poem
に設定ファイルが作成されて保存されます。
このディレクトリでeeを起動したときだけ有効な設定となります。
bにすると、現在のユーザーrootのホームディレクトリ /root
に設定ファイルが作成され保存されます。
これから先どこのディレクトリでeeを起動してもこの設定が有効になります。
ただし、aで設定ファイルを保存したディレクトリでeeを起動したときだけは、そちらが優先されます。
今回はbを選択することにします。
どちらを選択しても、該当するディレクトリに .init.ee
というファイルが作成されます。
もし設定を初期値に戻したい場合、このファイルを削除すれば良いだけです。
具体的には rm -i .init.ee
とします。
4 キーバインド
eeのキーバインドは単純です。 メニューのためのEscを除いて、すべてCtrl+文字キーの組み合わせです。
ヘルプにはすべてのキーバインドが表示されています。
設定で画面上部のヘルプを非表示にしている場合は、Escb あるいは Alt+B で表示できます。
ヘルプでは、Ctrlキーと文字キーの組合せは^aのように表示されます。 これはCtrl+Aのことです。 このセクションではeeのヘルプと統一するために、この短い表記の方を使うことにします。
全部を覚える必要はないでしょう。 ほとんど使うことのないものもあります。
説明のためにキーバインドを次の3つに分類しておきます。
- カーソル移動のためのもの
- テキストを編集するためのもの
- その他のもの
順に紹介していきます。
4.1 カーソルの移動のためのキーバインド
カーソルの移動は矢印キーでもできますが、Ctrlと文字のキーの組み合わせでもできます。 可能であれば矢印キーではなく、Ctrlの方に慣れた方が良いです。
図9: eeのカーソル移動のキーバインド
特に、^b、^f、^p、^n、^a、^eはEmacsを始めとして、多くのソフトウェアで採用されているものです。 その他はEmacsと同じではなく、ee独特のものです。 b、f、p、nについては次のように覚えると良いです。
- b: backward
- f: forward
- p: previous
- n: next
単語移動は右方向、つまり次の単語に移動だけが用意されていて、前の単語に移動するキー割り当てがありません。 なぜこんなことになっているのかは分かりませんが、そのためかなり使いづらいです。
カーソルの移動は以上です。
4.2 テキストの編集のためのキーバインド
まずは削除です。
- ^h 前の一文字、つまりカーソルの左の一文字を削除します。 これはBackspaceと同じです。
- ^d 次の一文字、つまりカーソルの右の一文字を削除します。 これはDeleteと同じです。
- ^k カーソルの右から行末まで削除します。 続けて叩くと、次の行を削除します。
- ^w 次の単語、つまりカーソルの右の単語を削除します。
削除に対応する復元のためのキーバインドがあります。
- ^j 直前に削除した一文字をカーソル位置に挿入します。 ^dで削除した文字が対象です。 ^hで削除した文字は対象にはなりません。
- ^l 直前に削除した一行ををカーソル位置に挿入します。 ^kで削除したものが対象です。
- ^rで削除したものが対象です。 直前に削除した単語をカーソル位置に挿入します。 ^wで削除したものが対象です。
復元はeeに独特で、メモ帳のようなテキストエディタにはないので、最初は戸惑うかもしれません。 カット&ペーストのような使い方ができます。 注意しないといけないのは、復元できるのは直前で削除した1回の操作のみであるということです。 例えば、^dを2回叩いて、「ab」の2文字を削除したとします その後に、^jを叩いたら、挿入されるのは最後に削除した文字「b」の一文字だけです。 あまり使い勝手が良いとは思いません。
図10: eeの削除と復元のキーの対応
特別な文字を挿入するためのキーバインドがあります。
- ^i カーソル位置にタブ文字を挿入します。 これはTABと同じです。
- ^o ASCIIコードを指定して、カーソル位置に挿入します。 このキーを叩くと、ASCIIコードを入力するよう尋ねられるので、例えば「97」と入力すると「a」が挿入されます。 あまり使う機会はないかもしれません。
テキストの編集のためのキーバインドは以上です。
4.3 その他のキーバインド
その他のキーはどれも役に立ちます。
- Esc メニュー
- ^c コマンドの入力
- ^y 検索語の入力
- ^x 前回入力した検索語で検索を実行
何度か登場しましたが、Escはメニューを表示します。 メニューにはいくつか項目があり、それぞれの項目にはアルファベットで番号が振ってあって、対応する文字キーでアクセスできます。 すばやくアクセスしたい場合、例えばEscccのように、順番に続けて叩くことで、メニューの表示を待たずにアクセスできます。 先のキー入力は、ファイルの保存を実行します。 Escの代わりにAlt+キーでも、すばやくアクセスできます。 例えばAlt+bはヘルプを表示して、Alt+Enterはeeを終了します。
コマンドはちょっと覚えることが多いので次の節で別に取り上げます。
検索を開始するには、まず^yを叩きます。
そうすると、画面下に search for: ▋
と表示されます。
ここで検索したい語を入力します。
初期設定では大文字小文字を区別しませんが、設定で区別するように変更することもできます。
入力したらEnterを叩きます。
もし見つかれば、見つかった語の場所にカーソルが移動します。
見つからなければ string "xxxxxxxx" not found
のように表示され、何も起きません。
一回検索するたびに検索語を入力しないといけないのでは不便すぎます。 なので、^xで前回の語で検索を繰り返せることができるようになっています。 カーソル位置から前方向にしか検索できません。 ファイル全体を対象として検索したい場合は、^tでファイルの先頭に移動してから検索を開始すると良いです。
5 コマンド
^cを叩くことで、画面下にコマンドを入力するようにメッセージが表示され、入力待ちの状態になります。 ここでは、これをコマンドプロンプトと呼ぶことにします。 コマンドプロンプトに続けて、あらかじめeeに用意されているいくつかのコマンドをテキストで入力することで、何らかのアクションを実行させることができます。
5.1 コマンドの実行
コマンドを実行するためには、まず^cを叩きます。 すると、画面の一番下にコマンドプロンプトが表示されます。
command: ▋ ▹ここに続けてコマンドを入力する
例えば、現在のファイル名を表示するfileというコマンドを実行してみます。
command: file⏎
すると現在のファイル名が画面下に表示されます。 基本的な使い方は以上です。
引数を取ることのできるコマンドもあります。 しかし、readとwriteの2つだけだし、指定しなくても普通に使えるのであまり気にしなくても良いです。
5.2 コマンドの一覧
用意されているコマンドの数はそれ程数は多くはありませんので、全部紹介しておきます。
コマンド | コマンドの動作 | 使用頻度 |
---|---|---|
help | ヘルプ画面を表示します。 | 普通 |
read | 別のファイルの内容をカーソル位置に挿入します。 | 普通 |
write | 現在の編集内容を別のファイルに保存します。 | 高い |
exit | 現在の編集内容を保存してeeを終了します。 | 人による |
quit | 現在の編集内容を保存せずにeeを終了します。ただし変更がある場合確認メッセージは表示されます。 | 人による |
line | カーソル位置の行番号をメッセージに表示します。 | 低い |
file | 現在のファイル名をメッセージに表示します。 | 普通 |
char | カーソル位置の文字のASCIIコードをメッセージに表示します。 | ほぼ使わない |
case | 検索で大文字小文字を区別するように切り替えます。 | 普通 |
nocase | 検索で大文字小文字を区別しないように切り替えます。 | 普通 |
0-9 | 指定された数字の行にカーソルを移動します。例:「123」と入力すると123行目にジャンプします。 | 高い |
expand | TABキーでタブ文字を挿入するのではなく、空白文字を挿入するように切り替えます。 | 低い |
noexpand | TABキーでタブ文字を挿入するように切り替えます。 | 低い |
!cmd | 外部コマンドを実行します。例:「!ls」とすると、lsが実行されて結果が表示されます。 | 極めて高い |
最も注目すべきなのは !cmd です。 もしプログラミングにeeを使うのなら、eeでソースコードを編集しながら作成しているプログラムの動作を簡易的に確認するという使い方ができます。 ただし、今の時点ではまだ使いこなす必要はないです。 こういうのがあるとだけ記憶に留めておけば良いと思います。
exitとquitは、その名前からはどちらが保存するやつで、どちらが保存しないのか想像がつきません。 もしeeの終了のためにこのコマンドを使いたいなら、どちらか一方だけを使うようにした方が脳への負担が少ないでしょう。
writeとreadは引数にファイル名を指定することができます。 例えば次のようにできます。
command: write newfile.txt⏎
もし、引数にファイル名を指定せずに
command: write⏎
とした場合、続けてファイル名を入力するプロンプトが表示されます。
全部覚える必要はありません。 使っていくうちに、よく使うものだけ身に付けていけば良いです。
6 疑問とトラブルの解決
「これこれどうやればいい」みたいな疑問と「何かおかしなことが起きた」というトラブルを解決するための答えをいくつか用意しました。
6.1 アンドゥが欲しい
できません。 これは実用上、大きな制限となるでしょう。 この壁に何度もぶち当たるようなら、別のテキストエディタに乗り換える時期かもしれません。
代わりにはならないかもしれませんが、直前に削除した、一文字、または一行、または一単語を復元して挿入することができます。 この機能を意識しておけば、削除に限り一つだけは前の状態に戻せるとみなすことができるかもしれません。
アンドゥができないため、ちょっとしたことで元の内容が失われてしまうことになります。 対策としては、こまめにファイルを保存するようにすることです。 さらに、必ずバージョン管理をするプログラムを利用して、こまめにチェックインすることです。 バージョン管理については、別のところで扱います。
6.2 範囲を選択してコピーやカット(切り取り)をしたい
できません。 これは実用上、大きな制限となるでしょう。 この壁に何度もぶち当たるようなら、別のテキストエディタに乗り換える時期かもしれません。
代わりにはならないかもしれませんが、直前に削除した、一文字、または一行、または一単語を復元して挿入することができます。
6.3 特定のテキストを指定して置き換えたい (検索と置き換え)
ee自体に置き換えの機能はありません。 外部プログラムの助けが必要でしょう。
完全な代替とはなりませんが、コマンドを活用するとeeを実行したままでも置き換えが可能です。
例えば、^cでコマンド入力の状態にして ><!sed -e 's/cat/CAT/g'
を打ち込みます。
すると、編集中の内容に含まれるすべてのcatがCATに置き換えられたものが、カーソル位置に挿入されます。
しかし、置き換え前の内容は残ったままなので、手動で削除する手間がかかります。
このやり方は、ごく小さなファイル以外では使いものにならないでしょう。
一度eeを終了して、edなどで置き換えるのが得策です。
6.4 eeを実行中に別のファイルに切り替えたい
できません。 一度eeを終了してから、再度そのファイルを指定してeeを実行する必要があります。
6.5 編集中のファイルを別の名前で保存したい
2つ方法があります。
- コマンドで
write
と入力する。 - メニューから
c) file operations
→b) write a file
を選択する。
指定した別名のファイルがすでに存在するときは、上書きしても良いか確認が入るので安全です。
どちらにしても、別名で保存したそのファイルを編集するように切り替えることはできません。 一度eeを終了してから、再度そのファイルを指定してeeを実行する必要があります。
ちょっと特殊な別の方法もあります。
一応、Ctrl+Cでコマンドモードに入って >!cat > newfile.txt
のとすることで、編集中の内容をnewfile.txtというファイルに書き出すことができます。
この場合は、newfile.txtのようなファイルがすでに存在していた場合、確認なく上書きされてしまうので注意してください。
というか、わざわざこんなことをする必要はなく、覚えておく必要もないです。
6.6 コマンドやファイル名や検索の入力をキャンセルできない
キャンセルできません。
ただし、入力を空にしてEnterを押すことで、何も実行させずに抜けることができます。
その場合でも unknown command ""
のようなメッセージが表示されます。
これは「""は不明なコマンドです」という意味ですが、 無視してください。
6.7 変な名前のファイル名で保存してしまった
ファイル名を入力するときに、Ctrl+Aなどをタイプして、^Aのような文字を含むファイル名で保存してしまうと、変な名前のファイルができてしまいます。
lsで保存したディレクトリの中身を表示すると ?
と表示されます。
このファイルを削除するのはちょっと厄介です。
ls '
まで入力して、TABを叩いてみて下さい。
そうすると、候補が表示されるのですが、その中に ^A
のようなものが表われるかと思います。
^A
を確認できたなら、今度は ls ^A
とやってみてください。
ただし ^A
は^とAを入力するのではなく、Ctrl+Vに続けてCtrl+Aと叩きます。
そのままEnterを叩いて、結果に ?
と表示されることを確認します。
確認できたら ls
を rm
に置き換えて先のコマンド入力を実行すれば、削除されるはずです(オプション -i
付けておいた方が安全です)。
6.8 複数のファイルを編集したい
eeはコマンドラインの引数に、複数のファイルを指定することができます。
root@freebsd:~/poem # ee file1.txt file2.txt file3.txt⏎
このようにして起動すると次ような動作になります。
- まずfile1.txtの編集に入ります。
- EscEnterなどで編集を終了すると、次にfile2.txtの編集に入ります。
- EscEnterなどで編集を終了すると、次にfile3.txtの編集に入ります。
- EscEnterなどで編集を終了すると、eeが終了します。
一見便利そうですが、複数のファイルを指定したというとを覚えておかないといけません。 忘れていると、終了したつもりが別のファイルの編集が始まって「ん?」てなります。 また、編集中に別のファイルに切り替えることはできません。 できるだけ各ファイルの編集が短時間で終わる場合にのみ利用したほうが良いでしょう。
7 まとめ
ずいぶんたくさんのことを書いてきました。 最初から全部覚える必要はないです。 eeは比較的使い始めるのは簡単なテキストエディタです。 基本的な使い方のところだけ覚えておいて、あとは慣れてからという方がいいです。
またeeにこだわる必要もないです。 このシリーズで取り扱ったのは、最初から使えるからというのが一番の理由です。 使いにくいと思ったら別のものに乗り換えるのにためらう必要はありません。