LoginSignup
15
19

More than 1 year has passed since last update.

EmacsをHomebrewでインストールしてMac特有の設定をする

Last updated at Posted at 2020-12-14

バージョンなど

  • macOS Big Sur バージョン 11.0.1 MacBook Air (M1, 2020)
  • Emacs 27.1 (Emacs Mac PortのHomebrew版)
  • Rosetta2を使用したターミナル環境

Emacs Mac Port (Homebrew版)

Emacsは公式がMac用のものを配布してるが,昔から日本語変換のときにチラついたり問題があるので,その辺りを色々修正してくれてあるEmacsをインストールする.

Mitsuharu Yamamoto氏がMac Port用に作成したものをrailwaycat氏がHomebrew用に公開している.

インストール方法などもここに書いてある
homebrew-emacsmacport

インストール

上のリンクに書いてあるようにHomebrewでインストールすれば良い.

$ brew tap railwaycat/emacsmacport
$ brew install emacs-mac

コンパイルが無事に終わると下記のような表示が出る.

==> emacs-mac
This is YAMAMOTO Mitsuharu's "Mac port" addition to
GNU Emacs 27. This provides a native GUI support for Mac OS X
10.6 - 11.0. After installing, see README-mac and NEWS-mac
in /usr/local/opt/emacs-mac for the port details.

Emacs.app was installed to:
  /usr/local/opt/emacs-mac

To link the application to default Homebrew App location:
  ln -s /usr/local/opt/emacs-mac/Emacs.app /Applications
Other ways please refer:
  https://github.com/railwaycat/homebrew-emacsmacport/wiki/Alternative-way-of-place-Emacs.app-to-Applications-directory

For an Emacs.app CLI starter, see:
  https://gist.github.com/4043945

上に書いてあるように,/usr/local/opt/emacs-mac/Emacs.appにインストールされているので,アプリケーションディレクトリにシンボリックリンクを貼っておくと他のアプリと同様に使える.

ln -s /usr/local/opt/emacs-mac/Emacs.app /Applications

起動方法

個人的な使い方.

Macでは基本的にGUIのEmacsを使って,基本的には起動しっぱなしにしている.Emacs.appをDockに登録しておき,普通にDockから起動する.

下記設定でGUIで起動するときはサーバーも起動するようにする.

(if window-system (progn
    (require 'server)
    (unless (server-running-p)
         (server-start) )))    ; GUIで起動するときはサーバーも起動

サーバーを起動しておけば,以降はターミナルから

$ open -a emacs filename

のようにすれば,既に起動してあるEmacsでファイルを開くことができる.

Mac特有のキーバインド設定

GUI使用の時だけの設定

  • サーバー起動しているのでC-x C-cで終了しないようにする
  • optionをmetaに変更する
;; GUI
(if window-system (progn
    (bind-key "C-x C-c" 'kill-this-buffer)    ; C-x C-c で終了させてしまわないように変更
    (when (equal system-type 'darwin)         ; Mac, optionをmeta
      (setq mac-option-modifier 'meta))
))

日本語関係

  • 英語/日本語を切り替えるとカーソルの色も変わるようにする
  • ミニバッファ入力時は自動的に英語モードになるようにする

scratchバッファで(mac-input-source)と入力してC-jを押すと自分の使ってる入力ソースが確認できるので,英語の入力ソースを確認する.

MacBook Air (M1, 2020)ではcom.apple.keylayout.ABCだった.古いMacbookではcom.apple.inputmethod.Kotoeri.Romanを使っていた.

英語入力時はデフォルトのカーソルカラーで,日本語入力時は赤色にする.
デフォルトのカーソルカラーはscratchバッファで(face-attribute 'cursor :background)C-jで評価するとわかる.

今使っているatom-one-darkというテーマのデフォルト色は#528BFFだった.

;;; Macの日本語関係
(when (fboundp 'mac-input-source)
  (defun my-mac-selected-keyboard-input-source-chage-function ()
    (let ((mac-input-source (mac-input-source)))
      (set-cursor-color
        (if (string-match "com.apple.keylayout.ABC" mac-input-source)
            "#528BFF" "Red"))))
  (add-hook 'mac-selected-keyboard-input-source-change-hook
            'my-mac-selected-keyboard-input-source-chage-function))

(when (functionp 'mac-auto-ascii-mode)  ; ミニバッファに入力時、自動的に英語モード
  (mac-auto-ascii-mode 1))
  • com.apple.keylayout.ABC
  • #528BFF
  • Red

の部分を自分に合うように変更する.

Python関係

2022/3/7 追記

ターミナルのPythonの環境が整ったら,elpyの設定をしておく.

elpyを使ってEmacsのpython環境を構築する

15
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
19