バージョンなど
- 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の設定をしておく.