プログラミング入門(金曜1・2限)講義資料(2008年後期)

XEmacsエディタの使い方

Javaのソースファイルを入力・編集するためにはエディタを使います.この授業では,特にプログラミングに便利なエディタである,XEmacsを使っていきます.

XEmacsは非常に強力なエディタです.例えば,プログラミング言語やLaTeX等のソースファイルを編集する場合は,その言語の構文に沿った色付けや字下げをしてくれます.ファイルの編集以外にも,電子メールの読み書き,プログラムの実行,WWWへのアクセス等々,様々な機能を備えているので,一種の環境とも言えます.

XEmacsはEmacs Lispと呼ばれる言語を使って自由に拡張することができます.このため,自分の気に入らないところがあったらどんどん直していけます.また,世界中の人が作った便利な Emacs Lisp プログラムを使うことができるのも魅力の一つになっています.XEmacsはEmacsという長い歴史のあるエディタの一種です.

XEmacsを起動するには,メニューからエディタ→XEmacsを選んでください.

XEmacs初心者モード

ここでは,XEmacs初心者のために,なるべくマウスやメニューを使って編集する方法を書きます.

XEmacsはエディタなので,プレーンテキストを編集します.ワープロではないので,文字に色をつけたり,一部だけフォントを変えたりすることはできません.(ただし,ファイルの内容によっては色がついて表示される場合もあります.)

ファイルを開く方法

とりあえず,新しくファイルを作ってみましょう.

新しくファイルをつくる場合も,既存のファイルを開く場合も,「ファイル」メニューの「開く...」を使います.


ファイルメニュー

「開く」をクリックすると,ファイルを選ぶためのウインドウがポップアップします.

左側にはディレクトリ,右側にはファイルのリストが表示されます.現在のディレクトリは下の方の Find file: のところに表示されます.

ディレクトリを変更するには,左側のディレクトリのところで真ん中ボタンを使って選びます.一つ上のディレクトリに戻りたければ .. を選びます.

右側にあるファイルリストからファイルを真ん中ボタンで選択すると既存のファイルを開くことができます.今回は新しくファイルを作るので,ここでファイル名をタイプして Enter を押します.

この方法で,ホームディレクトリに新しく test.txt というファイルを作ってみましょう.うまくいけば下のような画面になるはずです.

この画面でタイプしたものは基本的にそのまま挿入されます.カーソルキー,Back Space, Delete, Page Up, Page Down 等も普通に使えます.

日本語は Control-Space を使って VJE で入力できます.

モードラインとモードの話

画面の下の方に,次のような部分があります.これはモードラインと呼ばれています.

左の方から…

Ja/EUC
ファイルの文字コード(日本語EUCコード)
**
** ならば,ファイルが編集されているがセーブされていない状態
test.txt
ファイル名
(Text)
モード
All
ファイルのどの部分が表示されているか.Allならばファイル全てが表示されています.

XEmacsは,いろいろな種類のファイル(テキストファイル,LaTeXファイル,Javaファイル,等など)のことを知っていて,それぞれのファイルに適した編集ができるようになっています.上のTextモードはテキストファイルの編集のためのモードです.XEmacsはファイルの拡張子でモードを切り替えます.上の例で,Textモードになっていたのは拡張子が .txt だったからです.例えば,sample.tex というファイルを編集するときは自動的にLaTeXモードに切り替わるようになっています.

モードによっては,ファイルに色がついたり,上のメニューが変化したり,便利なコマンドが使えたりします.

キーボードの使用

慣れてくると,いちいちマウスで操作するのは煩わしくなってきます.XEmacsでは全ての操作をキーボードで実行できます.(というより,もともとはキーボードしか使えなかったというのが正しい.)

「ファイル」メニューの「開く...」には,右側に C-x C-f と書いてあります.これは,同じ操作を Control-x Control-f (コントロールキーを押しながら x を押し,コントロールを押したまま f を押す) を使って実行できることを表しています.

C- ではなく M- で書いてあるものもあります.この M は Meta から来ています.この場合は,コントロールキーの代わりに Alt キーを使います.例えば M-g (指定行へジャンプ) は Alt を押しながら g を押します.あるいは,ESC を押してから g でも構いません.好きな方を使ってください.

C-x C-f を使ってファイルを開くときは,ポップアップウインドウは出現せずに,一番下の領域(ミニバッファと呼ばれています)で Find file: と聞かれるので,ここでファイル名を入力してください.この時,スペースキーを押すことで自動的にファイル名を補完させたりファイル名のリストを表示させたりすることもできます.

やっぱりファイルを開くのをやめたという場合は,Control-g を押してください.Control-g はどんな状態でも,今のコマンドを取り消すために使えます.なにかわけが分からなくなった場合は Control-g を押せば復帰できますので覚えておいてください.

テキストの領域削除

まず,マウスの左ボタンを使って削除したい領域をドラッグします.領域が反転表示されている状態で,画面の上の方にある Cutアイコンをクリックします(あるいは Control-w を押します).

マウスを使って領域を選択する代わりに,Shift キーを押しながらカーソルキーを押すことでも領域選択できます.慣れてきたらこちらの方が速いでしょう.

XEmacs内でのコピー&ペースト

領域を選択します.画面の上の方にある Copyアイコンをクリックします(あるいは Alt-w を押します).これで,XEmacsの内部に領域がコピーされます.

その後,ペーストしたい場所にカーソルを移動して,Pasteアイコン(あるいは Control-y) を押します.何回でもペーストできます.

他のアプリケーションとのコピー&ペースト

XEmacs以外のアプリケーション(ターミナルエミュレータ,他のエディタ等)からXEmacsにテキストを張り付けるには,他のアプリケーション上で左ボタンでドラッグして領域を選択して,XEmacs上で真ん中ボタンを使ってペーストします.

XEmacs上のテキストを他のアプリケーションにペーストするときも同じように,XEmacs上で左ボタンでドラッグして領域を選択して,他のアプリケーション上で真ん中ボタンを使ってペーストします.

テキストの移動

移動は上の組合わせです.まず,上の方法で,一度領域を削除します.その後,移動したい場所にカーソルを移動して,Pasteアイコン (あるいは Control-y) を押します.何回でもペーストできます.

あ,間違えた!

編集中に間違って消すつもりがないところを消してしまったり,あるいは書いていてちょっと前の状態に戻したくなることがあります.

そんなときは,上の Undoアイコンをクリックしてください.直前の操作を取り消してくれます.さらに,クリックするとその前の操作を取り消します.ほとんどの操作は取り消し可能なので,安心して編集できます.

文字列の検索

プログラミングをしていると,特定の文字列を探すことが頻繁にあります.

文字列を探すには,「編集」メニューの「Find...」が使えます.

慣れてきたら,Control-s も使ってみましょう.Control-s を押すと,I-search: と出てきます.ここで入力した文字のあるところにカーソルがジャンプします.1文字入力する度に検索されるので,びっくりしないように.dog を検索するときは Control-s dog と入力します(Enterは不要).最初の dog にカーソルが飛びます.次の dog に移りたかったら,このまま Control-s を押してください.前の dog に戻りたかったら Control-r を押してください.Enter を押すと検索モードから抜けることができます.

文字列の置き換え

ある文字列を別の文字列に置き換える場合は,「編集」メニューの「Replace...」を使ってください.(上の方の Replaceアイコンでも同じです).

ファイル中の dog を cat に置き換えたい場合を例にとります.Replace... をクリックすると,Query replace: と聞いてくるので,dog と入力します.次に Query replace dog with: と聞いてくるので,catと入力します.

すると,カーソルがある場所からファイルの最後の方に向かって dog を検索して行きます.見つかったら,dog が反転してどうするかを訪ねられるので,cat に置き換えたかったら,y を押してください.そのままにしておきたければ n を押します.これ以降の dog は全て置き換えたいという場合は! を押してください.これも Enter を押すと置換モードから抜けることができます.

ファイルのセーブ

編集した結果はセーブしないと消えてしまいます.セーブするには「ファイル」メニューの「保存」を選んでください.コンピュータが突然動かなくなったりすることもありますから,頻繁にセーブする癖をつけましょう.

編集終了!

ファイルをセーブして,もうこれ以上そのファイルを編集しないというときは,「バッファ」メニューの「バッファ削除」を選んで下さい.XEmacsを立ち上げたまま,そのファイルの編集をやめる(ファイルを閉じる)ことができます.


バッファメニュー

XEmacsでは,編集中のファイルをバッファというものに入れて管理しているので,「バッファ削除」というメニューになるのです.

最小限のキーボード操作

これだけは覚えておきましょう.

C-g操作の取り消し
Shift+カーソルキー領域の選択
C-w領域の削除
M-w領域のコピー
C-yペースト
C-a (または Home)カーソルのある行の左端へジャンプ
C-e (または End)カーソルのある行の右端へジャンプ
C-x C-fファイルのオープン
C-x C-sファイルのセーブ

複数のファイルの編集

XEmacsでは,複数のファイルを編集することができます.

試しに,test.txt を開いている状態で,新しく test2.txt を開いてみてください.画面は test2.txt になりますが,裏では test.txt がまだ残っています.

上にあるタブをクリックするか,「バッファ」メニューを使って編集するファイルを切り替えることができます.

ここで,「View」メニューにある,「ウインドウ分割」をクリックしてみてください.画面が上下に分かれたと思います.このそれぞれの画面をXEmacs用語ではウインドウといいます.この状態では,マウスクリックすることで,どちらのウインドウで編集するか決めることができます.

では,下のウインドウに移って,バッファメニューから test.txt を選んで見てください.このように,複数のファイルを見ながら編集することができます.

元の1枚のウインドウにしたければ,「分割解除 (これを保持)」を選びましょう.

XEmacsの終了

XEmacsは巨大なプログラムなので,立ち上げるのに時間がかかります.このため,一度ログインしてXEmacsを立ち上げたら,ログアウトするまで同じXEmacsを使い続けるのが普通です.

XEmacsを終了するには,「ファイル」メニューの「Exit Emacs」を選んでください.

リンク集

Emacs系のエディタを使う上で参考になるページ