Emacsは、テキストを編集するときに、編集するテキストの種類に応じてそのテキストを編集しやすい状態にしてくれるらしい。
- テキストを書くときはテキストが書きやすい設定
- HTMLを書くときはHTMLが書きやすい設定
- Perlを書くときはPerlが書きやすい設定
- Cプログラムを書くと・・・・・
- ・・・・・・・・・・・・が書きやすい設定
にEmacsがなってくれる。
モードラインには、どのメジャーモードを利用しているかが表示されるので、たとえば hoge.txt ファイルを開くとモードラインに (Text) が出るはず。
設定されるメジャーモードでだけ使えるコマンドもあるみたいなので、よく使うメジャーモードについて調べる必要がありそう。
Emacsを起動していくつかのファイルを開いてみる。開いた分のバッファが作成されるのでEmacsでのバッファ操作コマンドを一通り試してみよう。
バッファリストを表示する
指定したバッファに移動する
- C-x b バッファ名 return(enter)
別のバッファに移動する
- C-x →(→は上下左右矢印キーの右矢印キーです)
- C-x ←(←は上下左右矢印キーの左矢印キーです)
指定したバッファを削除する
- C-x k バッファ名 return(enter)
参考として、
C-x C-f で間違ったファイルを開いて必要のないバッファを作成してしまった!!!
という場合、C-x C-v でファイルを開き直すと、前のバッファは削除され新しいバッファが作成されます。
1つのフレームに1つのウィンドウしか表示していない場合は、画面の下から2行目の帯状に表示されているラインがモードライン。
C-x 2 でウィンドウを分割してみよう。
そうすると、各ウィンドウにモードラインがそれぞれ表示されてるのが分かる。何かのファイルを開いてみると、モードラインに表示されている内容が変わるな。C-n で下の行に移動しても内容が少し変わるのがわかる。
ということは、モードラインって
を表示してる感じがする。
もう少し調べる必要があるけど、またそれは後日にしよう。
[ctrl]キーを押したまま[x][s]でバッファの内容を上書き保存できる。
C-x C-s で上書保存。
[ctrl]キーを押したまま[x][w]でバッファの内容を新規ファイルに保存できる。
C-x C-w ファイル名を指定して[return(enter)]で新規保存。
ウィンドウを分割したのはいいけど、閉じ方がわからなかった、、、
C-x 0
でカーソルがあるウィンドウを閉じられた。でも C-x o でウィンドウを移動しようとして間違って C-x 0 を押してしまうよ。
C-x 1
だと、カーソルがあるウィンドウ以外のウィンドウが全部閉じてくれるようだ。
[Ctrl]キーを押したまま[x]、[Ctrl][x]キーを放して[2]を押してみる。
C-x 2
おっ、ウィンドウが上下に分割したよ。続けて、
C-x 3
おっ、今度は左右にウィンドウが分割した!
C-x o
カーソルが別のウィンドウに移動したぞ。
ウィンドウが3分割してるけど、同じバッファがそれぞれのウィンドウに表示されてますね。どこかのウィンドウでテキストを入力してみると、全部のウィンドウで入力した内容が表示されたよ。ちょっと便利そう。
それぞれのウィンドウには別々のバッファを表示できるみたいだから、アイデア次第で楽しく活用できそうな予感、、、
ファイルを開くコマンドは、
があります。
C-x C-v は、今開いているバッファを閉じてから指定したファイルをバッファに読み込む。確認してみましょう。
- Emacsを起動
- C-x C-b
- バッファにscratchがあることを確認
- C-x C-v 適当にファイルを指定
- C-x C-b
- 結果→scratchが消えて、指定したファイルのバッファが確認できるはずです。
C-x C-f は、今開いているバッファを残し、指定したファイルを新しいバッファに読み込む。確認してみましょう。
- Emacsを起動
- C-x C-b
- バッファにscratchがあることを確認
- C-x C-f 適当にファイルを指定
- C-x C-b
- 結果→scratchバッファと指定したファイルのバッファが確認できるはずです。
C-x C-i は、カーソルの位置に指定したファイルの内容を挿入する。確認してみましょう。
- Emacsを起動
- C-x C-b
- バッファにscratchがあることを確認
- C-x C-i 適当にファイルを指定
- 結果→指定したファイルの内容が挿入されるはずです。
- C-x C-b
- 結果→バッファにscratchがあることを確認でき、挿入しただけなので指定したファイルのバッファは出来ていないのが確認できるはずです。
とりあえず [ctrl]キーを押したまま[x][b]を押してみよう。
C-x C-b
ウィンドウが分割されてリストが表示されましたね。このリストの1つ1つがバッファです。
C-x o でバッファのリストが表示されているところにカーソルを移動して、リストを選択してみましょう。C-n または C-p でカーソルを上下に移動できるので、適当なところで [return(enter)]を押すとどうなるでしょうか。画面が切り替わりましたか?
これがバッファです。
バッファには、ファイルに関連付けられているバッファとファイルには関連づけられていない独立したバッファがあります。
例えば、C-x C-v で新規のファイルhoge.txtを作成してみてください。作成したあとに C-x C-b としてバッファのリストを表示するとhoge.txtというバッファがhoge.txtファイルに関連付けられているような表示になっているのがわかるはずです。
Emacsにおいてバッファという言葉(概念?)は重要っぽいです。Emacs使いを目指すのなら、はやめにバッファ(言葉や概念や関連するコマンド)に慣れましょう。
バッファとは、
- バッファ=ファイル
- バッファ=ウィンドウに表示できる情報やテキスト
- バッファは常に複数存在している
です。(バッファ=ファイルというのは厳密には間違った表現のようですが、わたしの感覚ではバッファ=ファイルが成り立つのでこのように書いています)
ミニバッファは画面の最下行の1ラインです。
ミニバッファには、入力するコマンドが表示されます。また、コマンドに対応するファイル名や文字列を入力する場所でもあります。
ためしに[ctrl]キーを押したまま[x]を押してみましょう。ミニバッファに C-x と表示されるのがわかると思います。続けて[ctrl]キーを押したまま[v]を押すと、ファイル名を指定できるようにカーソルがミニバッファに移動するはずです。ここでファイル名を指定すると、ファイルを開くことができます。(正確にはファイルを開くのではなく、ファイルの内容をバッファに読み込みます。)
M-x とコマンド入れようとしたけど、間違ってC-xと入れてしまったときなどは、
[ctrl]キーを押したまま[g]を押す(簡単に書くとC-g)と、コマンドを中止することができます。
意図した通りのコマンドが実行できないときは 、とりあえず C-g C−g と2回ほどコマンド入力して一旦コマンドをリセットしよう。