Emacsとは

ディスプレイにコーディングする


拡張性に優れたテキストエディタです。利用者の好みに合わせて柔軟にカスタマイズできることが大きな強みとなっています。

さまざまな派生版がありますが、広く利用されているものがGNU Emacs というものです。この記事でもGNU Emacsを扱います。

利用できる拡張機能は自動補完や構文チェック、メーラーなど多岐にわたるでしょう。

組み合わせることでさまざまなプログラミング言語のコーディングを快適・効率的にすることができます。

Emacsは設定ファイルをテキスト形式で編集してカスタマイズを行うことができ、かなり自由にカスタマイズが可能です。

必要であればEmacs Lispという言語を利用して、新しいコマンドやアプリケーションを自分で作成することもできます。


活用方法



EmacsはさまざまなOSに対応済みです。

普段とは異なるOSを使わなければいけない場面であっても、Emacsを利用できればいつもと同じ操作感でテキストを編集できます。

よく比較されるエディタとしてはVimやSublime Textなどがあげられます。

プログラミングを行う際には、様々な機能を搭載したIDEを使うこともあるでしょう。

しかし、Emacsはそれらに比べると機能はシンプルですが軽量でサクサク動き、環境に依存せずに使える点がおすすめです。


インストール


Mac

スキルが輝く


Macの場合はパッケージマネージャを使ってインストールできます。

Homebrewを使う場合

  • brew install emacs –cocoa

MacPortsを使う場合

  • sudo port install emacs-app +patches


Windows

Windowsでは「gnupack」を用いてインストールするのが一般的です。

「gnupack」はcygwinとEmacsを簡単にインストールできるパッケージとなります。

インストール後はcygwinを立ち上げて、その上でEmacsを起動させてください。


Linux

Linuxはディストリビューションの標準パッケージマネージャでインストールできます。

  • CentOS Redhat
  • sudo yum install emacs
  • Ubuntu Debian
  • sudo apt-get install emacs


基本的な操作


起動

ラップトップPCを使って働いている男性


Emacsを起動するには、ターミナルやcygwinで以下コマンドを入力します。

  • emacs

Emacsのウィンドウが作られ、Emacsのホーム画面が表示される筈です。

Emacsのロゴ、インストールされているバージョンなどの情報、チュートリアルへのリンクやテキスト編集を開始するリンクなどが表示されます。

ファイル名を指定してEmacsを起動すれば、ドキュメントを開いた状態で起動できるのです。

  • emacs ファイル名


操作

Emacsではコマンド入力の際に「コントロールキー」「メタキー」と呼ばれるものを利用しましょう。

「コントロールキー」はキーボードのCtrlキーに該当。「メタキー」はキーボードのAltキーやMetaキーが該当します。

「メタキー」に該当するキーがない場合はEscキーを利用可能です。

コマンドの説明では省略して以下の書き方をします。コマンドを見るときの参考にしてください。

Emacsの操作説明では他のドキュメントでも上記のように書かれている場合が多いです。Emacsをよく使う場合は覚えておきましょう。

  • C-a

コントロールキーを押しながらaキー

  • M-a

メタキーを押しながらaキー

メタキーに該当するキーが無い場合Escが割り当てられます。Escキーの場合は押して離してから次のキーを入力してください。

割り当てるキーを変更することができるので好みに合わせて変更しておくと良いです。メタキー変更の設置方法は後ほど説明します。


チュートリアル

Emacsには操作を学ぶためのチュートリアル機能が用意されています。最初にこのチュートリアルを確認しておくのがおすすめです。

画面上部のHelp から Emacs tutorial(choose langage) を選択して、言語を選ぶとチュートリアルが始まります。

チュートリアルでは説明を見ながら実際に操作する形式で進んでいきましょう。

手を動かしながら標準の操作を学ぶことができます。最後まで読むのにかかる時間の目安としては30分くらいです。

以下、チュートリアルの内容に沿って、基本操作やコマンドの説明を記載していきます。


終了

以下のコマンドでEmacsを終了可能です。

コントロールキーを押しながらx、コントロールキーを押しながらcを順番に入力します。

  • C-x C-c

これでEmacsを終了してみてください。


困ったときは

現在の操作や状態がわからなくなったときや、Emacsが反応しなくなってしまったときは、以下のコマンドを入力することでニュートラルの状態に戻ることが出来ます。

  • C-g

処理中のコマンドを取りやめる、入力待ちの状態を取りやめます。

コマンドを入力していて現在の状態がわからなくなったり入力を受け付けなくなったりした場合に、上記を試せるように覚えておきましょう。


移動

以下コマンドでページを移動します。

  • C-v

次の画面へ

  • M-v

前の画面へ

  • C-l

画面の再描写を行います。

現在のカーソル位置が画面中央になるように再描写しましょう。入力するたびにカーソルの位置が画面上端、画面下端になるように再描写します。


カーソル

若い男性の仕事


次は入力カーソルの移動についてです。Emacsでは以下のコマンドでカーソルを移動します。

矢印キーでも移動可能ですが、以下のコマンドを使うほうが便利です。

その理由は矢印キーが無いキーボードがある場合があることと、ホームポジションからの指の移動が少なくなるためです。

この操作に慣れればタイピングが早くなります。タイピングが早いことはプログラミングのスピードにも影響しますので練習しておきましょう。


文字単位の移動

  • C-n

カーソルを次の行(next)

  • C-p

カーソルを前の行(previous)

  • C-f

カーソルを次の文字(forward)

  • C-b

カーソルを前の文字(back)


単語単位の移動

  • M-f

カーソルを次の単語

  • M-b

カーソルを前の単語


行や文の移動

  • C-e

カーソルを行末

  • C-a

カーソルを行頭

  • M-e

カーソルを文末

  • M-a

カーソルを文頭


ファイルの移動

  • M-<

ファイルの先頭に移動

  • M->

ファイルの末尾に移動


繰り返しと入力


コマンドの繰り返し



EmacsのコマンドはC-uに続いて数値を入力してからコマンドを入力することで、コマンドに数値の引数を与えることが可能です。

この場合数値を繰り返し回数と解釈して、コマンドを数値の回数分繰り返し実行します。

  • C-u 4 C-f

4文字先に移動します。

C-uのかわりにメタキーでも可能です。M-4 C-fでも同じく4文字先に移動します。


入力

文字の入力はそのままキーボードで文字をタイプすることで入力可能です。


削除


削除コマンド



文字の削除を行う場合は以下のコマンドを使いましょう。

  • Backspace 前の文字を削除
  • C-d カーソル位置の文字を削除
  • M-Bacspace 前の単語を消去
  • M-d 次の単語を消去
  • C-k カーソル位置から行末までを消去
  • M-k カーソル位置から文末までを消去


削除と消去の違い

削除消去の表記がありますが、Emacsではこれらに明確な違いが有ります。

消去したものはC-yコマンドでカーソル位置に貼り付けができます。一方、削除したもの貼り付けできません。

  • C-x y

貼り付け


その他の入力・表示の操作


取り消し



変更や入力を取り消したい、巻き戻したい場合は以下コマンドを入力します。

  • C-x u

「C-_」 も同様の動作になります。


ウィンドウ

Emacsは複数のウィンドウを立ち上げて、複数のドキュメントを表示することができます。

  • C-x 1

他のウィンドウを閉じる


ファイル


ファイルを開く



 Emacsでファイル(file)を開く場合は、以下のコマンドを実行した後にファイル名を入力してください。

  • C-x C-f

ファイルを開く

上記コマンドを実行すると、画面下部にカーソルが移動し、ファイル名の入力を求められます。

開きたいファイル名を入力してReturnキーを押せばファイルを開くことが可能です。

ファイル名の入力から戻りたい場合はC-gを入力しましょう。


ファイルを保存

現在編集中のファイルを保存する場合は以下のコマンドを入力します。

  • C-x C-s

ファイルを上書き保存

  • C-x C-w

ファイルを別名で保存


バッファ

タブレットを持つビジネスマン


Emacsはファイルの内容をバッファ(buffer)と呼ばれるものに格納します。


バッファのリスト

現在開いているバッファのリストは以下コマンドで表示可能です。

  • C-x C-b

バッファのリストを開く

表示しているバッファのリストを消す場合は以下コマンドです。

  • C-x 1

他のウィンドウを閉じる


バッファを開く

バッファリストに表示されているバッファ名を使って、以下のコマンドでバッファを開くことができます。

  • C-x b

「バッファ名」 名前を指定してバッファを開く


バッファを閉じる

  • C-x k

現在のバッファを閉じる


検索

画面を凝視する男性


Emacsでは文字列を検索して移動することができます。

  • C-s

前方検索

  • C-r

後方検索

コマンドを入力すると検索文字列を入力できるので、検索文字列を入力します。

文字を入力している途中でも検索が行われます。再びコマンドを入力すれば次の一致候補へ移動しましょう。

Returnキーで検索を終了します。


モード

Webデザイナー


Emacsではファイルタイプやプログラミング言語ごとに、モード(mode)が用意されています。

設定などが自動的に反映され、そのファイルの編集に適したモードが選択されるのです。

ファイルに対してどのモードが当てはまるのかはauto-mode-alistで管理されます。

Emacsでは基本的にメジャーな言語は予め設定されているので便利です。

パッケージを追加した際にも自動で追加されるので、あまり自分で変更する必要はありません。


設定


Emacsは画面上部のOptions の項目で設定変更できます。設定変更後は 忘れずにSave Options を選択して変更を保存しましょう。

Emacsの設定はファイルに記述することでも変更ができます。

  • .emacs.el

または

  • .emacs.d/init.el

という名前のファイルがEmacsの設定ファイルになります。

タブをスペースにしたり、改行コード・行数の表示などプログラミングを行ったりする上で便利な設定ができるのです。

ある程度使いこなせるようになったら設定を見直してみましょう。


package

Emacsでは標準に搭載されているパッケージマネージャpackage.elを使ってパッケージの追加や管理をおこなうことができます。

以下コマンドでpackage.elを起動可能です。

  • M-x package-list-packages


package.elの起動

package.elを起動すると、画面にたくさんのパッケージが表示されます。package.elでは以下のコマンドで操作できます。

  • p カーソルを上に移動
  • n カーソルを下に移動
  • i インストールマークを付ける
  • d デリートマークを付ける
  • u マークを消す
  • x  マークを実行
  • h  ヘルプを表示

pとnでカーソルを移動し、インストールしたいパッケージにiでマークをつけましょう。

必要なものを選択し終えたらxを押してインストールを開始します。

package.elを使うことでEmacsに簡単にパッケージをインストールすることもできるのです。

いろいろなパッケージを試してみて、自分にあったEmacsの環境を作り上げましょう。


おわりに



Emacsは、使い始めはいくつかコマンドを覚える必要があるのでとっつきにくいかもしれません。

最初のうちは矢印キーなども使って操作、慣れてきたらコマンドで移動や編集をできるようになるとテキストの編集がとても捗るようになります。

ホームポジションから大きく指を動かさずにテキストの入力・編集ができるようになると、大きくタイピングの速度が上昇するのでおすすめです。

各OSでも安定して使うことができますので、仕事先と個人用で開発環境を合わせることも可能です。

普段からなるべく同じ環境でプログラミングを行うことで学習スピードも当然向上するでしょう。

今回はあまり触れませんでしたが、Emacsを自分でプログラムすることで拡張機能を追加することも得意です。

カスタマイズ性にとても優れていますので、自分好みに改造して使いたい人にとてもおすすめできるエディタです。