プログラムやマークアップ言語などテキストベースで書かれるものは、 テキストエディタというソフトウェアを 使って作成し、ファイルとして保存する。本講ではEmacsを利用するもの として必要最低限の利用方法について説明する。最初に全て覚える必要は ないが、定期的にここを読み返して最終的に全て覚えられることを目標にする とよい。テキストエディタを使いこなせるかどうかは対象言語そのものの理解の 向上速度に大きくかかわる。
以後の説明で以下の用語を用いる。
Emacsで編集するために見えている画面(の中味)のこと。普通は ファイルの中味そのもの(のコピー)が見える。Emacs起動直後に見えている バッファは scratch buffer といい、どのファイルにも結び付けられていない。
見えているバッファ全体を囲う範囲のこと。Emacs全体の画面を複数の ウィンドウに分割して使うことができる。
文字を打つと文字の入る場所をポイントという。 通常はカーソルの左端である。
Emacsではキー操作だけで全ての機能を呼び出せるようになっている。 それらキー操作はControlキーを押しながら別のキーを押したり、 ESCキーを押してから別のキーを押すようになっている。 たとえば、「ファイルの保存」は C-x C-s である。 Controlキーを押しながらxと、Controlキーを押しながらs、を連打して 初めて機能の呼び出しとして完結する。
前述したとおりEmacsの機能呼び出しは複数のキーの組み合わせで行なう ことが多い。慣れないうちは打ち間違えたり、途中まで打って分からなくなるこ とがあるが、そのような場合は
C-g | コマンド入力中止 |
をタイプすればいつでも初期状態に戻る。
間違って文字を消しすぎたりなど、希望と反する修正操作をしたら、
C-/ | 編集操作の取り消し(undo) |
をタイプすると直前の状態に戻せる。何度も連続してC-/を押す ことでファイルを開いたときまでさかのぼってundo(アンドゥ)できる。 undoしすぎた場合はカーソル移動等undo以外の機能を使ったあとで C-/をタイプすれば、undoをundoできる。
下記一覧のうち C-x C-f と C-x C-s は 今すぐ確実に覚えておこう。
C-x C-f | ファイルを開く(find-file) |
C-x C-s | 編集中のファイルを保存する(save-buffer) |
C-x C-w | 編集中のファイルを別の名前で保存する(write-file) |
C-x i | 外部ファイルをポイント位置に挿入する |
C-x k | バッファの破棄(閉じること) |
C-x b | バッファの切り替え |
ポイント(カーソル)を移動するには以下のキー操作を利用する。 最初はC-n、C-p、C-b、C-f だけ覚えておけば十分だろう。 矢印キーでもポイント移動できるが、ホームポジションから手を離さねばならず 速度的に不利なので C-n、C-p、C-b、C-f に慣れる方が望ましい。
M-< | バッファ先頭へ | |||||||
M-v | 1画面戻る | |||||||
C-p | 1行戻る | |||||||
↑ | ||||||||
C-a | M-b | C-b | C-f | M-f | C-e | |||
行頭 | 1語戻る | 1字戻る | ← | ・ | → | 1字進む | 1語進む | 行末 |
↓ | ||||||||
C-n | 1行進む | |||||||
C-v | 1画面進む | |||||||
M-> | バッファ末尾へ |
編集バッファの「ここから、ここまで」をまるごとコピーしたり 削除したりするには
という手順で行なう。
C-SPC | ポイント位置を「マーク」する |
C-w | マークからポイントまでの領域を削除して 記憶する |
M-w | マークからポイントまでの領域を記憶する |
C-y | C-wやM-wで記憶したものを ヤンクする(ペーストする) |
練習として、編集バッファに以下のようなテキストを打ち込んでみよう。
CSSをすこしでも早く覚えたい
「すこしでも」を領域削除してみよう。「ここから」にあたる 「す」の位置にポイント移動する。
CSSをすこしでも早く覚えたい
C-SPCでこの位置をマークする。
「ここまで」にあたるのは「も」の後ろなのでそこにポイント移動する。
CSSをすこしでも早く覚えたい
C-w(kill-region)で領域が削除される。
CSSを早く覚えたい
Emacsはウィンドウを分割して一度に複数のバッファを見ながら編集できる。 ウィンドウ分割のための主なコマンドは以下のとおり。
C-x 2 | ウィンドウを上下2分割 |
C-x o | (小文字のオー)隣のウィンドウに移動 |
C-x 1 | ウィンドウを1つにする |
C-x 0 | (ゼロ)今のウィンドウを消す |
少し練習してみよう。実際に
~/TEST/hoge
と~/TEST/hero
ファイルを
作成・編集し、最後にそれらを削除
という操作をしてみよう。具体的には、
~/TEST
ディレクトリを作成し
~/TEST/hoge
ファイルを作成し
~/TEST/hero
ファイルを作成し
~/TEST
ディレクトリをまるごと削除
のような流れで作業する。。
その前に効率的なウィンドウの切り替えを訓練しておこう。 マウスをどこに置いているかにかかわらず以下のキー操作が有効になっている。
C-1 | Emacsのウィンドウを選択 |
C-2 | KTerm(大きい方のkterm)のウィンドウを選択 |
C-3 | Console:(小さい方のKTerm)のウィンドウを選択 |
Controlキーを押しながら数字の1〜3を押してウィンドウが切り替わる様子を 4〜5回繰り返して理解しよう。上記の6つの手順で「KTermで」とある操作の 直前にはC-1を、「Emacsで」とある操作の直前にはC-2 をタイプしよう。
~/TEST
ディレクトリの作成
KTermでmkdir
する。
% mkdir TEST % ls -F Mail/ TUTORIAL.ja maildir/ public_html/ TEST/ help memo script/ % cd TEST % ls (空っぽなので何も表示されない)
~/TEST/hoge
ファイルの作成
Emacsで C-x C-f すると編集したいファイル名を
聞いてくるので ~/TEST/hoge
を入力する。
Find file: ~/TEST/hoge
TESTを入力するときに、最初の1〜2字入れたところで [Tab]キーを押すと残りが補完される。 ファイルを開いたら以下の内容で保存(C-x C-s)する。
ほげほげほげー やあやあやあー
保存できたらKTermに移り、実際に書き込まれているか確認する。
% cat hoge
ほげほげほげー
やあやあやあー
~/TEST/hero
ファイルの作成
Emacsに戻り~/TEST/hero
ファイルを開く。
C-x C-fしてファイル名を入力する。
Find file: ~/TEST/hero
新規に開いたら以下の内容で保存する。
こっちはへろへろです。
こちらもKTermで確認してみよう。
% cat hero
こっちはへろへろです。
EmacsでC-x bをタイプすると、 切り替えたいバッファ名(ファイル名と同じ)を聞いてくるので hogeまたはheroを入力し相互を往復する。何度か繰り返そう。
EmacsでC-x kとタイプすると、 閉じたいバッファ名を聞いてくるので hoge または hero を入力してそれを閉じる。 未保存のバッファはうまく閉じられないので必ず保存してから C-x kする。バッファ名を入れずにリターンを押すと 現在編集中のバッファが閉じられる。
~/TEST
ディレクトリの全削除
KTermでホームディレクトリに戻る。
% cd % ls -F Mail/ TUTORIAL.ja maildir/ public_html/ TEST/ help memo script/
rmコマンドで、TESTディレクトリを中にあるファイルごと一気に消してみる。
% rm -rf TEST % ls -F Mail/ help memo script/ TUTORIAL.ja maildir/ public_html/
以上の操作を3〜4度繰り返してみよう。とくに「ファイルの保存」と EmacsとKTermの往復をスムーズに行なえるようにするとのちのちの 作業効率が格段に上がるので練習しておこう。
yuuji@koeki-u.ac.jp