Emacs はそれなりに使えるようにするまでがめんどくさい
近年は Doom Emacs や Spacemacs といった設定フレームワークがそのへんを補おうとしているようだが、個人的な好みで言えば、これらはちょっと大規模で複雑すぎる。できれば素のまま Vanilla の Emacs に若干トッピングする程度で済ませたいのである。
黙って待てばピタリと動く
- 最低限の設定はファイル1つ(実際は2つだけど)で、 全自動 で済むようにする
- WindowsでもGNU/Linuxでも同じ設定ファイルで大体いけるようにする
- パッケージは Emacs 標準となった/なりそうなものを優先して選ぶ
- 最近の流行りを優先する
といったあたりである。
一応 2022年12月現在最新の安定版である Emacs 28.2 を前提としている。一応 Emacs 29 の動向も横目で見てはいるつもりですが…。
使い方
Git のインストール
GNU/Linux の場合は、ほぼ全てのディストロに git はパッケージとして収録されているだろうから、 apt-get install git
とかで入れてもらいたい。Windows の WSL2 で動かす GNU/Linux や Android で UserLAnd に入れた GNU/Linux、あるいは Termux で使う場合も同じである。今回の設定はターミナルでも動くことも確認している。
さて、Windows の場合 Git for Windows を入れてもよいのだが、最近では Emacs 本体も含めて Scoop や winget で入れるのが手軽であろう。例えば Scoop を使うとすると、PowerShell から
> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser > irm get.scoop.sh | iex
で Scoop 自体がインストールできるので、あとは scoop install git
とかである。
Emacs 本体のインストール
apt-get install emacs
とかで入れてもらいたい。
Windows の場合も公式インストーラで入れてもよいのだが(プリテスト版を使いたければそうなる)、最近では Emacs 本体も Scoop や winget で入れるのが手軽であろう。例えば Scoop を使うとすると、emacs は extras
bucket に収録されているので、
> scoop bucket add extras; scoop install emacs
とかでしょうか。Scoop そのものについては Scoopを使ったWindows環境構築のススメ – Super!! が参考になる。
ところで Windows の場合、一昔前は Emacs を一通りインストールした後に Emacs バイナリにパッチを当てて再ビルドしないと満足に日本語入力が出来なかったのだが、最近では tr-ime を入れることで、パッチを当てなくても昔の IME パッチと遜色無く日本語入力が出来るようになった。しかも straight.el のおかげで全自動でインストールされる。良い時代になりましたねえ。
cmigemo のインストール
cmigemo は GNU/Linux なら大概のディストロには入っていると思う。以前 Windows では自分でビルドするかバイナリの zip アーカイヴをダウンロードしてきて展開したりパスを通したりする必要があったのだが、 当方で scoop の bucket を用意したので、
> scoop bucket add mhatta https://github.com/mhatta/scoop-bucket; scoop install cmigemo
でインストールできるはず。zip ファイルも同じレポジトリにある。
他にもいろいろ入れたほうが良いものはあるが、、それらは必要になってワーニングやらエラーやらが出たら scoop なりなんなりで入れればよいでしょう。一応そのうち必要になると思われるのは
> scoop install watchexec diffutils python ripgrep hugo gcc
といったあたりであろうか。特に org-roam
は emacsql
のビルドで gcc が必要なので、余裕があればあらかじめ入れておくとよい。
環境変数 HOME の設定
C:\Users\ユーザー名\AppData\Roaming
か何かを見に行って不便なので、 設定から C:\Users\ユーザ名
あたりを指定すると良い。Emacs 設定ファイルのインストール
> git clone https://github.com/mhatta/emacs-barebone-init-el
で落としてきた early-init.el
と init.el
をコピーする。
> cp emacs-barebone-init-el/*.el ~/.emacs.d
あとは emacs を実行して辛抱強く待っていれば、特に人間が何かしなくともインストールから設定まで終わるはずである。裏ではものすごい量の git clone が走っているので、ネットワーク通信状況の良いところで実行すると良い。
あとは、 init.el
の中の ;; CHANGEME
というところがいくつかあるので検索して確認し、変えるべきところは変えてもらいたい。メールアドレスとかフォントのサイズとかです。
使い方
何が入っているのかよく分からないと思うが、とりあえず init.el
を開いて M-x leaf-tree
を実行し、入っているパッケージについてウェブ検索してみると良いのではないかと思う。昔は init.el
を分割したり大変だったが、 leaf-tree
のおかげで大分見通しがよくなった。
- Emacs の操作や使い方全般
- ミニバッファ補完について(ようするに Emacs の実質 UI である。ここ10年ほど移り変わりが激しいのだが今回は corfu/vertico を採用)
- Org-mode 関係(org-roam や org-roam-ui も含め一通り使えるようにしてある)
- 手前味噌ながらモーレツ! Org mode 教室シリーズ
連絡先
より一般的な質問は、日本のEmacsユーザーのためのハブサイトから辿れる Slackの Emacs JP チャンネルで聞くのがよいでしょう。