[Emacs]支給されたMacの Emacs環境を整える (+org-mode を広めたい)

MacBook Pro にEmacsを導入したのでその手順を紹介します。 1. インストール (Xcode, Homebrew, Emacs) 2. 環境設定 (init.el 編集) 3. 最後に (まとめと org-mode の紹介)
2019.06.07

はじめに

コンサルティング部の川原です。

業務用PCとして MacBook Pro が支給されました。

前職で 2年間 ThinkPad X1 Carbon を使っていて、 すっかり トラックポイント(赤ポチ)教 になっていたので 中々慣れませんでしたが、 ここ数日でようやく自分なりのカスタマイズができていました。

PCセットアップで Emacs を導入・設定したので、その内容を書いていこうと思います。

構成は以下の通りです。

  • Emacs インストールまで
  • Emacs 環境設定
  • 最後に (org-mode を広めたい)

本記事は Emacsに焦点を当てて書きますが、 MacBook Pro カスタマイズ記事は他にもあるので 最近買った!という方はご参考ください。

[小ネタ有] 支給されたMacの環境を整える(入社直後編)

セットアップ環境は以下の通りです。

  • OS: macOS Mojave, version 10.14.5
  • 導入したEmacs: version 26.2

Emacs インストールまで

、、、と書かれているので下記順番でインストールを進めます。

  1. Xcode インストール
  2. Homebrew インストール
  3. Emacs インストール

Xcode

AppStore から Xcode をインストールします。

Homebrew

Homebrewのページ に書かれているコマンドをターミナルで実行します。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

インストール後、ターミナル上で brew update を実行しておきます。

Emacs

同じくターミナル上で下記コマンドを実行して Emacsをインストールします。

brew cask install emacs

Homebrew Cask は Homebrew の拡張版です。 GUIアプリケーションをインストール・管理することができます。

無事 Emacs が入りました。

Emacs 環境設定

みんな大好き init.el の編集です。 Emacsを使用するにあたって最低限必要だなと思った設定のみ書いていきます。

以降 記述する設定を ~/.emacs.d/init.el に投入します。

フォント設定

(create-fontset-from-ascii-font
 "Menlo-14:weight=normal:slant=normal"
 nil
 "menlokakugo")

(set-fontset-font
 "fontset-menlokakugo"
 'unicode
 (font-spec :family "Hiragino Kaku Gothic ProN")
 nil
 'append)

(add-to-list 'default-frame-alist '(font . "fontset-menlokakugo"))
(setq face-font-rescale-alist '(("Hiragino.*" . 1.2)))

等幅フォントの設定をします。 英数字は Menlo フォント、日本語は ヒラギノ角ゴProN を指定しています。

フォント周りの設定はあまり詳しくないので、 こちらこちら を参考にさせていただきました。

キーバインド

;; 行頭の kill-line (C-k) で行ごと削除
(setq kill-whole-line t) 

;; CUAモード(C-RET) 有効
(cua-mode t) 
(setq cua-enable-cua-keys nil) 

;; C-v > Scroll up
(global-set-key (kbd "C-v") 'scroll-up) 

;; C-h > バックスペース
(global-set-key (kbd "C-h") 'delete-backward-char)

キーバインドの設定を行います。

  • CUAモードは矩形選択・編集モードです。複数行まとめて文字列操作する際に便利です。
  • C-v(Ctrl v) は Macではなぜか ペースト(yank) に割り当てられていたので、 scroll-up (1画面分進む) に変更します。
  • C-h についても、デフォルトだと help表示になっていたので、 backspace に変更します。

また、init.el には書いていませんが、C-Space (Mark set) がMac環境だと正しく動かない場合があります。 (入力変換切り替えや Spotlight起動などになってしまう)

私の環境ではそれらを無効化するために、 [システム環境設定] > [キーボード] > [ショートカット] の以下 2つのチェックボックスを OFFにしました。

ido-mode

(ido-mode t)

ido-mode はバッファ移動やファイル検索が劇的に楽になるのでオススメです。 デフォルトだとバッファ移動やファイル検索は前方一致で行いますが、 ido-mode 有効化によって部分一致で行えます。

また、必要に応じて ido-vertical-mode など入れて見やすくするといいかと思います。

github: ido-vertival-mode

ほか 雑多な設定

;; デフォルトエンコーディングをUTF-8 に
(prefer-coding-system 'utf-8)
    
;; 自動保存されるバックアップファイルの置き場所を ~/.emacs.d/backup に変更する
(setq backup-directory-alist 
  (cons (cons ".*" (expand-file-name "~/.emacs.d/backup")) 
        backup-directory-alist)) 
(setq auto-save-file-name-transforms 
      `((".*", (expand-file-name "~/.emacs.d/backup/") t))) 

;; ツールバー非表示
(tool-bar-mode -1)

;; 時刻をモードラインに表示
(display-time-mode t)

;; 行番号をモードラインに表示
(column-number-mode t)

;; 左端に行数を表示させる
(global-linum-mode t) 

;; 対応する括弧をハイライト
(show-paren-mode t)

;; 起動時の Emacsロゴなどのメッセージを出さない
(setq inhibit-startup-message t) 

;; *scratch* バッファの初期メッセージを消す
(setq initial-scratch-message "")

その他、エンコードや表示・非表示周りなどの設定をざっと書きます。 表示・非表示周りの設定は各々好みがあると思うので適宜好きなようにカスタマイズするといいかと思います。

最後に (org-mode を広めたい)

以上、Emacs 初期セットアップでした。参考になれば幸いです。

コーディング周りの設定を全然入れていないので、 今後 CloudFormation やその他スクリプトを書く際に、適宜パッケージを入れていこうと思っています。

最後に、、、この記事は org-mode で作成しました

org-mode は Emacs のメジャーモードの 1つです。

今回のような 別フォーマットへの出力 (Markdown, Html, Latex) だけでなく、 TODOタスク管理、スケジュール管理、表計算、…など 何でもできるモード です。

前職では org-mode を使って 案件のタスク管理に役立てたり、 設計書作成なども行っていました(hatenablog: 前職でのorg-mode 活用記事)。

興味を持っていただいた方はぜひ触ってみてください。 機会があれば org-mode 解説記事なども書きたいです。