UNIX的なアレ

UNIX的なこととかいろいろ

これからemacsを使い始めたい人へ送るチュートリアル 第2回

さて、前回に引き続き、第2回目のエントリーとなります。
第1回の様子を見てみると、emacsに興味がある人はやはり多いんだなと感じました。今回は実際に立ち上げて、emacsで文章を編集する操作まで行きたいと思います。

emacsを操作する際に使用するキー

emacsでは、CTRLキーMETAキーとの組み合わせを利用して様々な機能を利用します。CTRLキーは馴染みのあるキーです。METAキーはALTキーもしくはESCキーで使用しましょう。私自身は、METAキーは、ALTキーで代用しております。

それでは、それぞれのキーの組み合わせの記述について説明をします。emacsのコマンドはよく以下のような記載をします。まずはこれをみて操作内容を理解できるようにしましょう。

機能 コマンド コマンド解説
左へ移動 C-b CTRLキーを押しながら、アルファベットのbを押す
1単語右へ移動 M-f METAキー(ALT)を押しながら、アルファベットのbを押す
ファイル読み込み C-x C-f CTRLキーを押しながら、アルファベットのxを押す。そのあとにCTRLキーを押しながら、アルファベットのfを押す
リージョンをコメントアウト M-x comment-region METAキー(ALT)を押しながら、アルファベットのxを押す。そのあと、comment-regionと入力する

さて、それぞれの記述方法が理解できましたか?今後頻繁に出てきますので、確実に理解をしておくようにしてください。

emacsを起動する

それでは起動をしましょう。WindowsMacOSではアイコンをクリックしてください。各種Linuxディストリビューションでは、コマンドラインemacsと入力しましょう。
下記のように立ち上がることを確認してください。(Windows+Meadowの場合)

これがemacs(or meadow)の起動画面です。使用しているemacsのパッケージによって表示される内容が異なりますので注意してください。
emacsを立ち上げると、scratchというバッファが起動します。それぞれの単語の意味は後々説明します。まずはこのscratchというバッファを使用してキー操作を試すようにしましょう。

簡単に画面の説明をします。
上記に様々なアイコンがあります。ここからファイルの保存などを行うことができますが、すべてコマンドで行うことができるので使用しません。
注目してほしいのは、画面下部のグレーのバーに区切られた1行程度のスペースです。ここにはメッセージが表示されます。何らかのコマンドをうった場合にはここを確認するクセをつけてください。

emacs上でカーソルを移動する

ではまず、文字を入力しましょう。。すでに以下のような文字が表示されていますがとりあえず無視してください。

;; This buffer is for notes you don't want to save, and for Lisp evaluation.
;; If you want to create a file, visit that file with C-x C-f,
;; then enter the text in that file's own buffer.

適当に文字をタイプして、入力されることを確認してください。emacsではvimと違って、モードを切り替えることなく文字を入力することができます。

それではさっそく操作をしてみましょう。まずはカーソル移動から実施します。今回だけ特別にキー操作の詳細とwindowsで操作したときの対応キーを追記しておきます。

機能 コマンド コマンド解説 (参考)windowsで操作した場合のキー
左へ移動 C-b CTRLを押しながらb カーソルキーの←
下へ移動 C-n CTRLを押しながらn カーソルキーの↓
上へ移動 C-p CTRLを押しながらp カーソルキーの↑
右へ移動 C-f CTRLを押しながらf カーソルキーの→

カーソルキーで移動することもできますが、慣れてくると、手を動かさなくて済むためカーソルキーよりもここで紹介している操作を使用したほうがラクです。
さて、カーソルキーが上下左右に動かせることが確認できましたか?それではもう少しすすんだカーソル移動の方法を試してみましょう。

機能 コマンド コマンド解説 (参考)windowsで操作した場合のキー
行頭へ移動 C-a CTRLを押しながらa homeキー
行末へ移動 C-e CTRLを押しながらe endキー
1単語右へ移動 M-f METAを押しながらf shit + カーソルキーの→
1単語左へ移動 M-b METAを押しながらb shit + カーソルキーの←
1画面進む C-v CTRLを押しながらv PageDownキー
1画面戻る M-v METAを押しながらv PageUpキー

さて少し進んだカーソル移動の操作ですね。windowsでは、homeキー・endキーなどとしてアサインされているキーですがemacsでは上記のようなキーの組み合わせで実現します。
windowsを使用している方であれば、homeキー・endキーを使用している方は多いでしょう。emacs特有の機能ではなく、テキスト編集の機能としてはwindowsでも標準でそなわっている機能です。

まずはここまでの操作を手に馴染ませてください。ここが覚えられないと、次のステップへ進むことができません。

テキスト編集を行う

さてこれまでの操作ができたら次は基本的なテキストの編集にうつります。コピー・切り取り・貼り付けの3つのアクションをここではやります。
それぞれに使用するためのコマンドは以下です。

機能 コマンド コマンド解説 (参考)windowsで操作した場合のキー
カーソル位置にマーク C-Space CTRLを押しながらspace Shitを押しながらカーソル移動
リージョンをカット C-w CTRLを押しんがらw CTRL+x(切り取り)
リージョンをコピー M-w METAをおしながらw CTRL+c(コピー)
ペースト C-y CTRLを押しんがらy CTRL+c(コピー)

普段、windowsでコピーを行う場合はマウスでコピーをしたい文字列を選択して反転させてからコピーという手順かと思います。しかしemacsではこの操作もコマンドで行います。
そこで使用する機能が、カーソル位置にマークという機能です。この機能でマークをすることによって、コピーするための始点を設定することができます。
それではまず、適当な位置でC-Spaceを打ってください。画面下部に"Mark Set"と表示されれば成功です。

ではそのあと、カーソルを数行下へ移動してください。移動したら、その時点でC-wと打ちます。
すると、C-SpaceでMarkした部分からC-wと打った部分までのテキストがなくなります。これが切り取りの操作に該当します。このC-wM-wにおきかえることでコピーをすることができます。ではつづけて、C-yと打ち込みましょう。先ほど切り取られた部分が張り付けられます。
emacsではこのようにして、コピー&ペーストを実現することができます。

上記の例ではC-SpaceでMark Setしたあとに切り取りの作業を行いました。実際は他にも様々な用途でMark Setを使用します。Mark Setしてから選択できる領域のことを、リージョンと呼びますので覚えておいてください。

今回のまとめ

今回使用したコマンドをまとめておきます。

  • カーソル移動
機能 コマンド コマンド解説 (参考)windowsで操作した場合のキー
左へ移動 C-b CTRLを押しながらb カーソルキーの←
下へ移動 C-n CTRLを押しながらn カーソルキーの↓
上へ移動 C-p CTRLを押しながらp カーソルキーの↑
右へ移動 C-f CTRLを押しながらf カーソルキーの→
行頭へ移動 C-a CTRLを押しながらa homeキー
行末へ移動 C-e CTRLを押しながらe endキー
1単語右へ移動 M-f METAを押しながらf shit + カーソルキーの→
1単語左へ移動 M-b METAを押しながらb shit + カーソルキーの←
1画面進む C-v CTRLを押しながらv PageDownキー
1画面戻る M-v METAを押しながらv PageUpキー
  • テキスト編集
機能 コマンド コマンド解説 (参考)windowsで操作した場合のキー
カーソル位置にマーク C-Space CTRLを押しながらspace Shitを押しながらカーソル移動
リージョンをカット C-w CTRLを押しんがらw CTRL+x(切り取り)
リージョンをコピー M-w METAをおしながらw CTRL+c(コピー)
ペースト C-y CTRLを押しんがらy CTRL+c(コピー)

さて、ちゃんと覚えられましたか?次回へ続きます。