読者です 読者をやめる 読者になる 読者になる

Around the modern stone age.

近年はシリコン(石)の半導体から進化した便利なもので溢れる時代。そんな気になった事や試した事など徒然と記す。

スポンサーリンク

【macOS】Emacs 25を使う

Mac Emacs

Macで手に馴染むエディターがなかなかなくて、atomとかも使ってたのですが、どうも馴染めなくて楽しくない(笑)
Emacsはいいかもと漠然と思っていて、いままで何度か挫折してきたりしたが、再度チャレンジしてみようと思う。
目標は、macOS、Windows、Linuxで共通の操作性、、、

WindowsではWzエディターをEmacs風キーバインドでずっと使ってたので、基本のカーソル操作とかは問題なさそう。 macOSはUnixベースなので、Emacsは色々使われていて実績も多い。 まずは、macOSでの環境構築から始めたので備忘録としてメモを残す。Windowsについては、後の記事で紹介していく。

Emacsのインストール

brewから下記コマンドで「Emacs Mac Port」をインストール。 尚、brewインストールに関しては、過去記事を参照。

$ brew tap railwaycat/emacsmacport
$ brew install emacs-mac --with-modern-icon
$ brew linkapps emacs-mac

【Note】

  • --with-modern-iconを指定しないと、アイコンがGNUの牛になる。
  • $ brew install emacs --with-cocoaで本家のGNU Emacsも試したが、ATOKでの日本語入力時にチラついたりした。
  • アンインストールするにはbrew uninstall emacs-mac、アプリケーションのリンクは手動で削除

iTerm2をインストール

macOSにはbashベースの「コンソール」が標準で装備されているが、「iTerm2」は色々とカスタマイズ可能な高機能コンソールアプリ。
Metaキーなどのキーカスタマイズできるので、「iTerm2」をインストールして、そのコンソールからEmacsを起動する。

下記URLから Download ボタンで、iTerm2をダウンロード https://www.iterm2.com/index.html

zip圧縮されているのでクリックで解凍し、アプリケーションフォルダにコピー。

Emacsの起動

iTerm2から、下記コマンドで起動できる事を確認

$ emacs --version

.bash_profileに下記エリアスを定義し、eだけで起動。

alias e='emacs'

尚、Emacsの終了は

C-x C-c

コマンドから抜けるには

C-g

Meta キーを左Command キーに割り当てる

まずは、Metaキーを操作しやすいキーに割り当てる。いままで、これで挫折してたが、今回はiTerm2のお陰でなんとかなりそう。
以下のようにiTerm 2 の設定を変更する。

Profiles → Keys:Left option (⌥) key acts as で +Esc をチェック
Profiles → Keys:Right option (⌥) key acts as で +Esc をチェック
Keys → Remap Modifier Keys で Left ⌘を Left optionにリマップ

Emacsの初期設定ファイル

初期設定ファイルは、~/.emacs.d/init.elファイルに記述
まずは、下記を記述

;; C-hをbackspaceにする
(global-set-key (kbd "C-h") 'delete-backward-char)

;; Meta キーを左Command キーに割り当てる
(when (eq system-type 'darwin)
    (setq ns-command-modifier (quote meta)) )

続いて、下記設定を追加

(set-language-environment 'Japanese)    ; 日本語環境
(set-default-coding-systems 'utf-8-unix)    ; UTF-8 が基本
(set-terminal-coding-system 'utf-8-unix)    ; emacs -nw も文字化けしない
(setq default-file-name-coding-system 'utf-8)
(setq default-process-coding-system '(utf-8 . utf-8))
(prefer-coding-system 'utf-8-unix)

;; ロックファイル / バックアップファイルを作成しない
(setq create-lockfiles nil)
(setq make-backup-files nil)
(setq delete-auto-save-files t)

;; 自動保存ファイルを作成しない
(setq auto-save-default nil)

;; 対応するカッコを強調表示
(show-paren-mode t)

;; 時間も表示させる。
(display-time)

;; 行番号を常に表示させる
(global-linum-mode)
(setq linum-format "%4d ")
(column-number-mode t)               ; 行番号と列番号を表示する

;; 現在行を目立たせる
(setq hl-line-face 'underline)
(global-hl-line-mode)

;; テーマを設定する
(load-theme 'manoj-dark t)

GUI版をコンソールコマンドから起動できるにする

.bash_profileに下記エリアスを定義し、eeで起動。

alias ee='open -a /Applications/Emacs.app $1'

パッケージ管理

Emacs 24 からパッケージ管理がデフォルトで出来るようになったらしく(package.el)
下記の設定を、~/.emacs.d/init.elに追記する。

(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t)
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/") t)
(package-initialize)

パッケージをインストールするには、

M-x list packages

パッケージリストの更新は、

M-x package-refresh-contents

尚、インストールされたパッケージ情報は ~/.emacs.d/elpa/ フォルダに格納される。

undo-treeパッケージを入れる

undoのやり直しがredoであるが、Emacsのデフォルトではredoがわかりにくい。
そこで、undo-treeパッケージをインストールし、redoを快適に使えるようにする。

下記コマンドでundo-treeパッケージのインストール

M-x package-install<RET>
undo-tree

続いて、~/.emacs.d/init.elに下記設定を記述しundo-treeを有効にする。

;; 
;; undo-tree
;;
;; undo-tree を読み込む
(require 'undo-tree)

;; undo-tree を起動時に有効にする
(global-undo-tree-mode t)

;; M-/ をredo に設定する。
(global-set-key (kbd "M-/") 'undo-tree-redo)

これで、M-/ でredoが何度もできるようになる。
また、C-x u で、修正履歴がツリー表示され、好きな箇所に戻れる。

環境設定ファイルをGit管理

Emacsの初期設定ファイルは、いくつか定義できる場所があるが、~/.emacs.d/init.elに記述しておく。
そして~/.emacs.d/フォルダを、Gitサーバのリポジトリに登録し管理する。
これにより、他のMacやWindows、更にはLinuxで初期設定ファイルを共用できるようにしておく。

Emacsチャートシート

感想

使ってみた感じ、思った以上にキビキビ動いて快適。そしてなんだか楽しい!(笑)
どんな事でもカスタマイズできそうで、都度、発見と驚きもあって少しづつ便利になっていくのが嬉しい。以前AIが流行った頃にLisp言語もかじった事もあったが、改めて勉強してみたくなった。
今まで、なんだか面倒という意識で、本気で使えてなかったけど、もっと早くからEmacsに取り組んでおけば良かったなと感じる。

<2017/01/25 追記>

私の使っている設定ファイル一式をGitHubに公開したのを下記記事で紹介。
【Emacs 25.1】初期設定ファイルをGitHubに公開 - Around the modern stone age.

関連記事

参考

  1. GitHub - railwaycat/homebrew-emacsmacport: Emacs mac port formulae for the Homebrew package manager
  2. GNU Emacs - GNU Project
  3. https://ryogan.org/blog/2015/12/24/emacs-on-mac-os-x-el-capitan/
  4. Emacs Mac PortをHomebrewからインストールする - Qiita
  5. iTerm2を使いこなす - おしゃれな気分でプログラミング
  6. MacのiTerm/Emacsでメタキーを快適に使いたい - Qiita
  7. 突然だがEmacs を始めよう - Qiita
  8. Emacs を使って,文章を書く - Linux による Web プログラミング入門
  9. Emacs の使い方 基本のキー | プログラマーズ雑記帳
  10. Emacs24に最初から同梱されているテーマ - AOEの日記
  11. 【図解】ゼロから始めるモダンなコマンドライン環境作り #iTerm2 #tmux #zsh|CodeIQ MAGAZINE
  12. MacでWindows用キーボードを使う。Mac OS Sierra対応版(フリーソフト使用):OBAKESAN.net|オバケサン
  13. るびきち「新生日刊Emacs」
  14. Emacs 25.1 を EMP版で快適に使う - Qiita

Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)

Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)

Emacsテクニックバイブル ?作業効率をカイゼンする200の技?

Emacsテクニックバイブル ?作業効率をカイゼンする200の技?

Emacs Lispテクニックバイブル

Emacs Lispテクニックバイブル

  • 作者: るびきち
  • 出版社/メーカー: 技術評論社
  • 発売日: 2011/11/26
  • メディア: 単行本(ソフトカバー)
  • 購入: 5人 クリック: 220回
  • この商品を含むブログを見る