Cygwin では emacs パッケージではなく emacs-w32 パッケージをインストールしましょう！

<div align="center">
  <a href="http://bit.ly/cyginst"><img width="426" height="67" src="https://raw.githubusercontent.com/javacommons/qiita/master/jc-banner-2017-0419-0240.gif" /></a>
</div>

----

`#` 😲2017/03/27-17:17追記:【「emacs -nw」で起動した場合のメニュー操作」】という項目を追加しました。
`#` 😲2017/03/27-17:06追記:【日本語入力について】という項目を追加しました。
`#` 😲emacs-w32を使う際に、X-Windowは必要ありません。手軽にインストールして利用することができます。

# はじめに

CygwinでEmacsを使う場合に、emacs パッケージではなく emacs-w32 パッケージをインストールすると良いことがあります。尚、emacs-w32 は emacs パッケージの全ての機能を包含しています。

> X-Windowみたいでかっこいい！…だけ？…
> まぁ、一言でいえば「マルチウィンドウ」で開発できるということです。(必要なら複数の)Emacsをウィンドウモードで立ち上げられますし、ファイル編集はもちろんのこと、M-x shell でシェルを開いたり、M-x dired でファイラーを使ったり…まぁEmacsですから…何でもできますよね！
> emacs-w32は「ウィンドウモード」だけでなく「コンソールモード」でも起動することができますので、emacsパッケージと同じこともできます。(つまり、機能的にスーパーセットになっています)

![a.png](https://qiita-image-store.s3.amazonaws.com/0/140610/5386bb5a-0999-f888-1fe1-64b0dad9e2a0.png)

# 操作手順など

## ●emacs-w32 の起動し方

Emacs を別ウィンドウモードで開く(emacs-w32のデフォルトの挙動)場合には、「emacs &」として起動しましょう。(「&」は「コマンドをバックグラウンドで実行する」という意味ですが、そこはあまり深く考えないでいいと思います)
ちなみに、ファイル名を指定して起動する場合には「emacs ＜ファイル名＞ &」となります。

![b.png](https://qiita-image-store.s3.amazonaws.com/0/140610/81cf572f-4d08-f861-eba6-c8fe18a1690f.png)

## ●「emacs -nw」で起動したところ

「emacs -nw」を実行すると、bashウィンドウ内でemacsが起動します(コンソールモード)。尚、「-nw」を使う場合には「&」はつけません。
ちなみに、ファイル名を指定して起動する場合には「emacs -nw ＜ファイル名＞」となります。

![c.png](https://qiita-image-store.s3.amazonaws.com/0/140610/ff7e45cb-bbde-57e5-6397-8ad7327e714d.png)

## ●「emacs &」を2回実行して、2つのemacsウィンドウを立ち上げたところ

「emacs &」で起動すれば、bashウィンドウのコマンドプロンプトを同時に使えます。(M-x shell はもちろん便利ですが、シェルの実行結果をテキストとして保存したい場合でなければ、マルチウィンドウで作業する時にはbashウィンドウ側を使う方が楽でしょう)

![d.png](https://qiita-image-store.s3.amazonaws.com/0/140610/a2941975-435c-1344-680d-8933484e0635.png)

## ●「emacs -nw」で起動した場合のメニュー操作

「emacs -nw」で起動した場合でも画面上部にメニュー(File, Edit, Options, Buffers, Tools, Help)が表示されています。しかしながら、bashウィンドウ内(コンソールモード)ではマウスが使えません。
これらのメニューを使うには「F10」キーを押します。下図のようにメニューがアクティブになりますので、上下左右キーでメニュー項目を移動しENTERで選択(実行)します。「→」キーを押せば、File ⇒ Edit ⇒ Options ⇒ Buffers ⇒ Tools ⇒ Help というように移動します。
メニューをアクティブにしたけど、やっぱりメニューを使うのをやめたいという場合には再度「F10」を押します。

![e.png](https://qiita-image-store.s3.amazonaws.com/0/140610/f4d97f22-3ae1-4075-fb68-eb9d852f908a.png)

![f.png](https://qiita-image-store.s3.amazonaws.com/0/140610/6811ec66-061f-e3c1-c339-dcb7f7c1cdb3.png)

## ●日本語入力について

>😆速報😆
>
```
$ mintty
```
>
>または
>
```
$ mintty --size 160,48
```
>
>で「Cygwin Terminal」が起動します。
> ![image.png](https://qiita-image-store.s3.amazonaws.com/0/140610/95e94ae9-df93-173f-924a-edfdd6147666.png)
>この「Cygwin Terminal」の中で「emacs -nw」した場合はIMEの全角モードでバッファの上端・下端を超えてカーソル移動しても画面が壊れません。
>
>- 😆Cygwin Terminal(mintty)のフォントを変更する
>
>![image.png](https://qiita-image-store.s3.amazonaws.com/0/140610/49bfcf8a-4a9e-d686-fbf4-07df0a6bbe8e.png)
>
>![image.png](https://qiita-image-store.s3.amazonaws.com/0/140610/f359077f-7668-594b-3d8b-57497c1b1d68.png)
>
> ~~以下長々と書いてますが短く説明すると、Cygwinのemacs-w32で日本語を入力する場合には「emacs -nw」で起動してWindowsのIMEを使うのが使いやすいでしょう。(追記：画面が壊れることがあるので(復帰方法は以下に書いてますが)、やはり２つの方法はそれぞれ一長一短ですね！画面を壊さないコツとしては、IMEで全角モードで入力をした後にカーソルキーで移動する前には「一旦(「半角/全角」キーを押して)半角モードにしておく」ということを心掛けたら良いと思います)~~
> 
> Emacsの機能である「C-￥」を使うやり方は(変換効率に問題があるものの)、Emacsに完璧に統合されているのでその他の問題が起きにくいです。(画面も壊れません)

emacs-w32では、日本語入力に２通りのやり方があります。

* 一つは、他のWindowsアプリケーションと同じように「半角/全角」キーを押してIMEを使うやり方です。
* もう一つは、「C-￥」(Ctrlキーを押しながら「￥」キーを押す)を使う方法です。(このキーはemacsの「toggle-input-method」という命令を起動します)

> 一つ目の「IMEを使うやり方」ですが、emacs-w32をウィンドウモード(emacs &)で起動した場合には変換中の日本語が入力カーソルのところに表示されません。IMEを使いたい場合は「emacs -nw」で使いましょう(下図参照)。

> 二つ目の「C-￥」を使えば、ウィンドウモードでも入力用カーソルのところに変換中の日本語が表示されます。変換AIがバカ(ていうかAIがない…と思う)なので、文節ごと、あるいは単語ごとに変換する必要があります。Emacsの機能の一部として実現された日本語(多国語)入力用のツールですが、ある種のUNIX(またはLinux)のマシンではIME(に相当する機構)が使えないため重宝されてはいます。

* 以下のスクリーンショットで示すように、「emacs -nw」で起動した場合には「半角/全角」でIMEを使っても~~問題なさそうです~~。(追記：IMEで全角モードにしている状態で、上下キーを押して画面の上端または下端を過ぎてスクロールしたりすると…画面が壊れます。その時は、「半角/全角」を押して半角モードに戻してから「C-L」(Ctrlキーを押しながら「L」を押す)を実行してください)

![g.png](https://qiita-image-store.s3.amazonaws.com/0/140610/2e0aab89-d5b4-a52c-e8d3-1e75cd31dccc.png)

![h.png](https://qiita-image-store.s3.amazonaws.com/0/140610/d437af57-73ab-198a-c0e5-343911c9bb90.png)

![i.png](https://qiita-image-store.s3.amazonaws.com/0/140610/c83bf9fd-9ba7-b67f-040c-a7b07b7a05a0.png)

![j.png](https://qiita-image-store.s3.amazonaws.com/0/140610/c9dc29ce-6f1a-1b4d-c39e-30265833d90d.png)

![j2.png](https://qiita-image-store.s3.amazonaws.com/0/140610/6445e22f-bde1-6114-e88f-e24faeb5c923.png)

> Windows10でIMEの変換にクラウド辞書による候補を含める方法はこのページをご覧ください⇒ [https://pc-karuma.net/windows-10-ime-cloud/](https://goo.gl/1dpfjY) [※](https://goo.gl/#analytics/goo.gl/1dpfjY/all_time)

* AIのない「C-￥」で「きょうはさんかんびにまつだせいこがきました」を変換しようとしてみると！

![k.png](https://qiita-image-store.s3.amazonaws.com/0/140610/7d8a46e1-e5d5-f162-f679-e93c4f1d13f1.png)

* 「C-￥」でも、「今日は」で変換し「参観日に」で変換し「松田」で変換し「聖子が」で変換し「来ました」で変換したら何とかなるかなと思ったっけれど…「参観日に」が変換できなかったです！

![l.png](https://qiita-image-store.s3.amazonaws.com/0/140610/c532b6a0-c414-a968-68e5-49eb717e526a.png)

「今日は」を変換したら「参観」だけで変換します。次に「日(にち)」で変換します…みたいな感じでやれば何とかなるでしょう。変換用の辞書の項目が少ないのでしょうね。
![m.png](https://qiita-image-store.s3.amazonaws.com/0/140610/a2bd84a0-0377-457d-b242-3e6febb2b535.png)

# ついでに読んでほしい記事！(Cygwinのヘビーユーザー必見)

bashのウインドウタイトルやコマンドプロンプトの表示が通常とちょっと違うな…ということに気付いたアナタ！
以下の記事もご覧になってくださいな。

> [http://qiita.com/javacommons/items/1a182f187fd2a8df29c2 (Cygwinの環境を複数作ったり、パッケージのインストールを自動化したりする(たった一つのバッチファイルだけで…魔法のように…Linuxライク環境が構築できる！))](http://qiita.com/javacommons/items/1a182f187fd2a8df29c2)

----