Emacsを使えるようにするための最低限のこと


Windowsのメモ帳程度しか触ったことのないような人でもEmacsの最低限の機能を使いこなせるようになることが目標です。

# なぜEmacsなのか
別にvimでもいいんです。私も長い間vimしか使ってませんでした。
vimと比較するのは宗教戦争を勃発させてしまいますし、この記事の本筋とは逸れてしまうので避けます。
とにかく、エディタとは非常に奥が深いもので、eclipseみたいなIDEに匹敵するほどの、あるいはそれ以上のパワーを引き出すことができるということを知ってほしいと思います。
そこまではすぐに達することができなくても、Emacsを使えばマウスや十字キーを使わず、ホームポジションから手を動かさずにプログラミングできるようになります。
それだけでプログラミング速度は確実に上がると思いますし、何よりキーボードを使ってテキストを入力することが楽しくなります。
大学のレポートはスマホで書いていた、というスマホネイティブ世代でも、むしろそういう方にこそぜひ使ってほしいエディタです。

#事前準備

## Emacs のインストール
まあググってもらえば済む話なんですが、それを言ったらこの記事自体終わってしまいますので、一応OS別に手順を載せておきます。

バージョンは24以上（最新でOK）を利用するようにしましょう。パッケージ管理などの点でメリットが大きいことや、古いバージョンだと現在紹介されている設定方法が使えないなどの問題があるので。
Linux系OSのユーザーでemacsをaptやyumでinstallしてくると古いバージョンになっていることがあるので注意です。

### Windows
Windowsだとほとんど必然的にGUI版のEmacsを使うことになるかと思います。[GUI版はGUI版なりにメリットがある](https://qiita.com/acro5piano/items/1ccd631817f2f39a5568)ようなので、ぜひ使ってみるといいと思います。
最近だとUbuntu on bash on Windows で動かす方法もありそうです。自分は現在Windows環境が手元にないため説明不足になるかもしれませんが、悪しからず……。

[GNU Emacs download](https://www.gnu.org/software/emacs/download.html) にある通り、以下のページからzipファイルをダウンロードします。

http://ftp.jaist.ac.jp/pub/GNU/emacs/windows/emacs-26/
上記リンクの、
> emacs-26.1-x86_64.zip (64bit向け)
> emacs-26.1-i686.zip (32bit向け)

のどちらかをダウンロードして解凍すれば、バージョン26（執筆時点で最新）のEmacsが入手できます。
参考: [Emacs Wiki - Ms Windows Installation](https://www.emacswiki.org/emacs/MsWindowsInstallation)

### macOS
おそらくデフォルトで入っているとは思いますが、バージョンが古い可能性があります。

homebrewを使って最新版をインストールします。

```
brew install emacs
```

インストールが完了したら次のコマンドでバージョンを確認しましょう。

```
emacs --version
```

執筆時点では26.1が最新のようです。

GNUのホームページではcocoa版をインストールするように紹介されていますが、cocoaでインストールするとデフォルトがGUI Emacsになるようです。
私としてはCUI版をおすすめします。ターミナルとの行き来がシームレスにできた方が、後々嬉しいことが多いと思いますので。

### Linux系OS (Ubuntu, CentOSなど)
前述した通り、普通に `apt install` や `yum install` で落としてくるとバージョンが古い可能性があるので注意してください。

#### Debian系OS (Ubuntu等) の場合
[こちら](http://ubuntuhandbook.org/index.php/2017/04/install-emacs-25-ppa-ubuntu-16-04-14-04/)に紹介されているように、リポジトリを追加してインストールしましょう。

```
sudo add-apt-repository ppa:kelleyk/emacs
sudo apt update
sudo apt install emacs26
```
現時点で最新のバージョン26のemacsがインストールされるはずです。

古いemacsが先にインストールされていた場合は、

```
sudo update-alternatives --config emacs
```
で最新を向くように切り替えましょう。

#### RedHat系OS (CentOS等) の場合
[こちら](http://myemacs.readthedocs.io/ja/latest/build.html)に紹介されている方法でインストールすれば問題ないと思います（雑ですみません）。
24.5をインストールする方法が紹介されてますが、最新をインストールすればいいので、その辺りは適宜置き換えてください。

# 起動
では、早速起動してみましょう。

Linux/macOSを使っている人はターミナルから
`emacs`
と入力してreturn/enterを押せば起動します。

---
2018.08.31追記
GUI版のEmacsが起動してしまう場合、以下のエイリアスを.bashrcなど自分が使っているシェルの設定ファイルに追記することでCUI版が起動するようになります。

```
alias emacs='emacs -nw'
```
---


Windowsを使っている人はWindowsキーを押してスタートメニューを表示させ、
すべてのアプリ > Emacs を選択すれば起動すると思います。
Pathが通ってないと表示されないので、その場合は直接exeを叩いて起動してください。

起動したら次のような画面が開くはずです。
<img width="682" alt="Screen Shot 2018-07-23 at 2.29.54.png" src="https://qiita-image-store.s3.amazonaws.com/0/132229/d8d683c6-a1d4-8218-c4ac-d3eb94d5eed1.png">
最初から色々な情報が表示されているので普通のエディタとはだいぶ異なる印象を抱くと思います。
この画面は十字キーでカーソルを動かすことができます（後ほど紹介するチュートリアル等で ctrl + p/n/f/b 等でカーソルを動かす方法をマスターしましょう。Emacsでは十字キーは基本的に使わないものだと思ってください）が、文字を入力することはできません。

上から5行目に、
> Emacs tutorial  C-h t

と書いてあるのがわかるでしょうか。
ctrlを押しながらhを押し、一度キーから手を離した後で、tを入力してreturn/enterを押してください。チュートリアルが実行できます。
全部英語ですが、これを一通り行えば最低限のEmacsの使い方はほぼマスターできます。


# 補足

## caps lock をctrl として使えるようにする
caps lockはctrlキーとして使えるように設定しておきましょう。なぜかというと、Emacsではctrlキーをめちゃくちゃ使うからです。
まあEmacs使ってなくてもcaps lock をctrlにするといろいろ捗ると思うので、ぜひ設定してみてください。

- Windows  
[「Caps Lock」と「Ctrl」を入れ替える・「Caps Lock」に「Ctrl」を割り当てる](https://itbasesta.com/article/windows/caps-ctrl)
- macOS (Sierra)  
[macOS Sierra: 修飾キーを変更する](https://support.apple.com/kb/PH25240?locale=ja_JP&viewlocale=ja_JP)
- Linux  
[コマンド一発でCapsLockをCtrlに変える方法](https://linuxfan.info/capslock-ctrl)

Filcoなどのメカニカルキーボードを使っているのであれば、キーボード自体の設定でcapsとctrlを入れ替えられるものもあります。

### macユーザーはmetaキーの設定も必須
後々設定すればいいですが、macユーザーは左commandキー(あるいはoptionキー)をMetaキーとして利用できるようにする設定も必須です。
私の場合はUSキーボードでAlfredも使っているので、どの設定がベストかはかなり悩みましたが、最終的に

1. Esc を right option に設定
2. right option をleft command に設定  

で落ち着きました。

参考: [MacのiTerm2でEmacsを使用するときのMetaキー設定](https://blog.bungu-do.jp/archives/3434)

# おわりに
ということで、この記事はここまでです。私個人としては初のQiita記事でした。
執筆は楽しかったのでこれからも何か書いていきたいです。

# 参考
[入門 GNU Emacs 第3版 ](http://amzn.asia/hyFBwmV)
-- Debra Cameron

Emacsの操作方法がわからなくなった時に。
[emacs コマンド一覧（置換・コピー・検索・終了）](http://uguisu.skr.jp/Windows/emacs.html)
(EscはMetaキーと読み替えてください。Metaキーはaltキーやcommandキーに設定するのが吉です)