ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

macOSでGUI版のEmacsをインストールする。ついでにmarkdown-modeも

Emacsはかなり熟練のユーザーから言うと「環境」なんだそうです。ちなみに一機能としてエディター機能もあります。

macOSは一応UNIXなので、Emacsはデフォルトでコマンドライン版がバンドルされています。ただ、macOSにバンドルされているEmacsは2007年ごろのGNU Emacs 22.1.1であり、10年も時が止まっています。

これを最新のバージョンにするにはソースから自分でビルドするか、macOSならHomebrewのようなパッケージマネージャーを使ってインストールすると良いみたいです。

今回取り上げるGUI版は公式からリンクが貼られている次のサイトからダウンロードできます。

GNU Emacs For Mac OS X

配布されている形式はdmg形式なので、インストールは通常のアプリケーションと同様で簡単です。

markdown-modeの導入

Emacsmarkdown形式のファイルを書式付きでレンダリングするのをサポートするには、Markdown Mode for Emacs(markdown-mode)を導入すると良いそうです。

jblevins.org

一番簡単な導入方法は最近のEmacsに実装されたpakages機能を使う方法だそうです。ただし、標準のままではインストールできる機能は少ないので、MELPAリポジトリーを追加する必要があります。

melpa.org

このページの「Installing」に書かれている設定を~/emacs.d/init.elに書けば良いです(2017年12月24日現在)。

その後、Emacsで次のコマンドを打ってリポジトリーの情報を更新します。

M-x package-list-packages

次のコマンドでパッケージ一覧を表示して

M-x package-install-selected-packages

C-sを押して、markdown-modeででてきたパッケージをインストールすればいいようです。

ちなみにMはAlt(Option)キーを押します。M-xの場合はAlt(Option)キーを押しながらxキーを押します。 CはCtrlキーです。C-sはCtrlキーを押しながらsキーを押します。C-sは検索用のショートカットキーなので、探したいものを入力すれば検索できます。

一覧から「markdown-mode」を選んで下部画面の「Install」のところを押すとインストールできます。

f:id:ytooyama:20171224193033p:plain:w360

その後、次の設定を~/emacs.d/init.elに追加すれば完成です(2017年12月24日現在)。 次のように設定すると、markdownもしくはmdで終わるファイルをmarkdown-modeを使って表示してくれます。

(autoload 'markdown-mode "markdown-mode"
   "Major mode for editing Markdown files" t)
(add-to-list 'auto-mode-alist '("\\.markdown\\'" . markdown-mode))
(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode))

Emacsエディターの見た目(というかテーマ)のカスタマイズは「Option→Customize Emacs→Custom Themes」でわりと簡単に変えることが出来るようです。

フォントとサイズの変更

フォントサイズが少し小さかったので、次の設定を~/emacs.d/init.elに追加してみました(2017年12月24日現在)。Emacsを再起動すると良いみたいです。

;; font and size
(create-fontset-from-ascii-font "Menlo-12:weight=normal:slant=normal" nil "menlokakugo")
(set-fontset-font "fontset-menlokakugo"
    'unicode
    (font-spec :family "Hiragino Kaku Gothic ProN" :size 14)
    nil
    'append)
(add-to-list 'default-frame-alist '(font . "fontset-menlokakugo"))

emacsコマンドのエイリアス

前述のようにmacOSEmacsはバージョンが古いので、次のようなエイリアスで対処しています。emacswと打つとGUI版が起動して、emacsと打つとコマンドラインEmacsが起動します。エイリアスの張りかたはシェルによって違うので、ここでは説明を省略します。

alias emacsw="/Applications/Emacs.app/Contents/MacOS/Emacs"
alias emacs="/Applications/Emacs.app/Contents/MacOS/Emacs -nw"

ちなみにVisual Studio Codeを使わない理由ですが、Google 日本語入力と相性が悪いのと、入力や反応が遅いのが理由です。一番ストレスなのは日本語入力の推測変換候補のポップアップが入力中の文字列を隠すところでしょうか。なにを入力しているのかわからないのが嫌で、使うのをやめてしまいました。