macOS, Windows(msys2), Ubuntu-Server/Desktopで共通操作性のエディターを目指して、「Emacs」環境を構築してきた。
私も実際に使ってきて実用的になってきた。本サイトでも断片的に紹介してきたのをまとめて、今後のパソコン再構築時などに備えて備忘録を残す。
最初はEmacsを使うのはやっぱり大変なので、下記設定から手軽に使い始めてみるのもよいと思うので活用して頂けたらと思う。ここから自分の好みに変更していくのもよいです。
画面例
Emacs 本体のインストール
基本的には、GNU Emacs サイトで説明の手順でインストール。
1)macOS
Homebrewパッケージから下記コマンドでインストール(2023/7月、Emacs29にバージョンアップされてる)
$ brew install --cask emacs
2)msys2 – Windows
pacmanパッケージから下記コマンドでインストール。
$ pacman -S mingw-w64-x86_64-emacs
3)Ubuntu 18.04 LTS Server
Ubuntu 18.04 LTS Server では、標準aptパッケージからEmacs25がインストールできる。
$ sudo apt install emacs
4)Ubuntu 16.04 LTS Server
Ubuntu 16.04 では標準aptからEmacsはインストールできるがv24.5なので(2016/12/30現在)、v25のビルド済みパッケージを公開されている方のパッケージを利用し、下記コマンドでインストール。
$ sudo add-apt-repository ppa:kelleyk/emacs
$ sudo apt update
$ sudo apt install emacs
インストール済みのEmacs24が起動される場合は、下記コマンドでEmacs25に切り換える。
$ sudo update-alternatives --config emacs
5)Winwos10 WSL(Ubuntu/Ubuntu 18.04)
6)Ubuntu 18.04/16.04 LTS Desktop
Emacsの起動確認
Emacs本体がインストールできたら、下記コマンドでEmacsが起動する事を確認。
$ emacs --version
Emacs初期設定ファイル(~/.emacs.d/)の作成
私の使っているEmacs初期設定ファイル一式(~/.emacs.d/
)はGitHubに公開登録しGit管理しているので、それを下記コマンドでホームディレクトリにコピー。尚、macOS, msys2(Windows), Ubuntu(Linux)で共用。
$ git clone https://github.com/jr4qpv/dot.emacs.d.git ~/.emacs.d
Emacsの初期状態ではお世辞にも使い勝手がいいとは言えないが、ちょっと手を入れる事で驚くほどモダンで使い勝手が良くなる。
主な利用パッケージ
- init-loader
- undo-tree
- sequential-command
- helm
- tabbar
カスタマイズした主なキー定義
下記は、カスタマイズしてよく使うキー。
キー | 説明 |
---|---|
C-h | 一文字消去(delete-backward-char) |
C-t | ウィンドウ切り換え(other-windows) |
C-a C-a | バッファー先頭に移動 |
C-e C-e | バッファー末尾に移動 |
C-c z | フレームを最小化(suspend-frame) |
C-o | ファイル履歴からファイルを開く(helm-recentf) |
C-c h | ファイル履歴からファイルを開く(helm-mini) |
C-x f | helmからファイルを開く(helm-find-file) |
C-x b | helmでバッファー切り換え(helm-buffers-list) |
C-x g | Gitステータスを確認(magit-status) |
C-z p | 左のタブへ切り換え(tabbar-backward-tab) |
C-z n | 右のタブへ切り換え(tabbar-forward-tab) |
F9 | 左のタブへ切り換え(tabbar-backward-tab) |
F10 | 右のタブへ切り換え(tabbar-forward-tab) |
Emacsを常駐させemacsclientで高速起動
Emacsはお世辞にも起動時間は早いとは言えない。特に、init-loaderを使って初期設定ファイルを機能分割してファイル数が増えてくると見通しは良くなる一方で、起動時間は遅くなる。
そこでEmacsのServer機能を利用して改善する。ログオン時にEmacsを起動し常駐させる。常駐しているEmacsを呼び出すにはemacsclientコマンドを利用するようにaliasを定義。
1)macOS
システム環境設定 → ユーザとグループ → ログイン項目 の画面から、アプリケーション「Emacs」を追加し、ログイン時に自動起動するようにする。詳細は下記記事。
2)msys2 – Windows
「スタートアップフォルダ」に、起動用ショートカットをコピーする。詳細は下記記事。
3)Ubuntu 16.04 LTS Server/Ubuntu 18.04 LTS Server
初回ログイン時に常駐させるように~/.bashrc
に記述。詳細は下記記事。
関連ツールのインストール
Emacsと連携するソフトをインストール。利用しなければインストールしなくてもOK。
ローマ字のまま日本語検索する「cmigemo」インストール
インストール手順は機種別に下記記事
grepより高速検索できる「ag」コマンドインストール
詳細は下記記事
「Markdownビューワ」ソフトインストール
markdownモードから、C-c C-c oキーでビューワソフトで確認できるようにする。詳細は、機種別に下記記事。
Emacsチャートシート(キー操作一覧)
- Emacsの基本的なキー操作の一覧を1シートにまとめた「Emacsチャートシート」のPDFが、技術評論社の下記URLから入手でき参考になる。早見表として便利。
サポートページ:Software Design 2015年10月号 - 英語ではあるが、下記URLの「GNU Emacs Reference Card」も便利。
GNU Emacs Reference Cards - GNU Project - Free Software Foundation
補足
- 特によく使うキーバインドで、
M-v
M-w
は別のキーにカスタマイズもしてみたが、色んな場面で出てきて全てをカスタマイズするのも大変なので、手の方を慣らす事にした。
所感
Emacsを本気で使い始めてまだ僅かだがホント快適!! もっと早くから真摯に取り組んでおけば良かったと思う。実は過去に何度か挫折してきたのだが、世の中のマシン性能も含めていい意味で熟してきたのかもしれない。
使っていて、他にない不思議な安堵感がある。たぶん、不便に思った事は都度改善していけるという安心感かもしれない。
Emacsはカスタマイズの枠を超えて、拡張性と柔軟性を持っている。更にelispを使いこなす事で、Emacsを創作(あえてカスタマイズという言葉は使わない)していける。尽きない驚きと発見、ほんと素晴らしい環境であると感じる!!
今後も更に、改善した設定ファイルは、GitHubに逐次公開していく予定。
参照記事
- 【macOS】Emacs 25を使う
- 【Windows / msys2】Emacs 25.1を使う
- 【Ubuntu 16.04 LTS Server】Emacs 25をaptパッケージからインストールして使う
- 【Emacs】Mac/Win及びGUI/CUIで初期設定ファイルを兼用する
- 【Emacs】init-loaderで初期設定ファイルを整理
- 【Emacs】markdownモードを使う
- https://www.yokoweb.net/2017/01/08/emacs-markdown-mode/
- 【Windows / msys2】Emacsでmarkdownビューワを使う
- 【Emacs】設定ファイルをGit管理する
- 【macOS】EmacsをServerで自動起動(emacsclientで高速化)
- 【Windows / msys2】EmacsをServerで自動起動(emacsclientで高速化)
- 【Ubuntu 16.04 LTS Server】Emacsをログイン時に常駐させ、emacsclientでEmacs起動を高速化
- 【Emacs】標準テーマをカスタマイズして使う
- 【Emacs】recentfで開いたファイル履歴を記録
- 【Emacs】helmを使う
- 【Emacs – macOS】画面サイズによってフォントサイズを自動切り換え(Osaka等幅フォントに固定する)
- 【Emacs】C-a及びC-e連打でバッファーの先頭,末尾にジャンプ
- 【Emacs 25】初期設定ファイルをGitHubに公開
- 【Emacs – macOS】migemoを有効にし、ローマ字のまま日本語検索する
- 【Emacs – msys2】migemoを有効にし、ローマ字のまま日本語検索する
- 【Emacs – Ubuntu 16.04 LTS Server】migemoを有効にし、ローマ字のまま日本語検索する
- 【Emacs】tabbarでタブエディター化
- 【Windows/msys2】Emacs 25.2にバージョンアップ&ビルド
- 【Emacs】Emacsが25.3にバージョンアップ
- Emacsのよく使うキーバインド
- 【Windows/msys2】Emacs 25.3の64bit版ビルド
- 【Ubuntu 18.04 LTS Server】Emacs25を使う
コメント