【macOS】Emacs 25を使う

スポンサーリンク

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

【Emacs 25-29】macOS, Windows, Ubuntuで共通なエディター環境を構築(まとめ)
macOS, Windows(msys2), Ubuntu-Server/Desktopで共通操作性のエディターを目指して、「Emacs」環境を構築してきた。 私も実際に使ってきて実用的になってきた。本サイトでも断片的に紹介してきたのをまと...

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

iTerm2をインストール

macOSにはbashベースの「コンソール」が標準で装備されているが、「iTerm2」は色々とカスタマイズ可能な高機能コンソールアプリ。

iTerm2 [新石器Wiki]

Metaキーなどのキーカスタマイズできるので、「iTerm2」をインストールして、そのコンソールからEmacsを起動する。

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

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

【macOS】iTerm2のビープ音を消す
以前の記事でiTerm2をインストールした。 iTerm2はとても便利なターミナルソフトであるが、デフォルトの設定ではBeep音の警告音が鳴って気になるので、ビープ音を消す設定をした備忘録を残す。 iTerm2の環境設定の設定変更する → ...

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

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

Profiles → Keys:Left option (⌥) key acts as で [+Esc] をチェック
Profiles → Keys:Right option (⌥) key acts as で [+Esc] をチェック

画像11

Keys → Remap Modifier Keys で [Left command (⌘) key:] を [Left Option] にリマップ
Keys → Remap Modifier Keys で [Left option key:] を [⌘ Left Command] にリマップ

画像12

これで、CUIコンソール操作時、左⌘ command キーが Metaキーになった。又、command+W キーでiTerm2が不意に終了しなくなった。

Emacsのインストール

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

$ brew tap railwaycat/emacsmacport
$ brew install emacs-mac --with-modern-icon
$ ln -s /usr/local/opt/emacs-mac/Emacs.app /Applications

【Note】

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

Emacsの起動

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

$ emacs --version

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

alias e='emacs'

尚、Emacsの終了は

C-x C-c

コマンドから抜けるには

C-g

macOSのCtrl+Spaceのショートカットを無効にする

macOSはデフォルトでは、Ctrl+Spaceキーに機能が割り当てられているので無効にする。(Emacsではリージョン選択で使われるので)

システム環境設定→キーボード→ショートカット→「前の入力ソースを選択」のチェックを外す。(又はF13などの別のキーに変更する)

画像1

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-29】初期設定ファイル(~/.emacs.d/)をGitHubに公開
これまで紹介してきた、私の使ってるEmacsの初期設定ファイル「~/.emacs.d/」をGitHub(下記URL)に公開した。macOS, Windows, Linuxで共用。 Emacsの初期状態ではお世辞にも使い勝手がいいとは言えない...

補足

追記(2022/04/17)

Emacs 28.1にバージョンアップされました。(下記記事参照)

【macOS】Emacsが28.1にバージョンアップ
Emacs 28.1 が、Apr 4, 2022 にリリースされた。 以前の記事で、Emacs Mac Portのインストールを紹介したが、Emacsのバージョンが28.1にバージョンアップされました。 バージョンアップ手順 下記コマンドで...
  • 上記手順でpacmanコマンドでインストールすれば、その時点の最新版がインストールされる。

参照記事

参考

  1. GitHub – railwaycat/homebrew-emacsmacport: Emacs mac port formulae for the Homebrew package manager
  2. GNU Emacs – GNU Project
  3. Emacs 25.1 を EMP版で快適に使う – Qiita
  4. Emacs Mac PortをHomebrewからインストールする – Qiita
  5. iTerm2を使いこなす – おしゃれな気分でプログラミング
  6. MacのiTerm/Emacsでメタキーを快適に使いたい – Qiita
  7. 突然だがEmacs を始めよう – Qiita
  8. Emacs の使い方 基本のキー | プログラマーズ雑記帳
  9. Emacs24に最初から同梱されているテーマ – AOEの日記
  10. MacでWindows用キーボードを使う。Mac OS Sierra対応版(フリーソフト使用):OBAKESAN.net|オバケサン
  11. るびきち「新生日刊Emacs」

コメント

タイトルとURLをコピーしました