背景
Vim バインドはキーボード操作のメインストリームです。ブラウザ、 CLI
アプリ、もちろんテキストエディタも Vim バインドで操作できます。
Sublime, VSCode, NeoVim, Emacs など様々なエディタが Vim バインドで操作可能ですが、 Emacs
のワークフローは一皮剥けている気がします。ここでは『多重化』の観点から (僕の) Evil Emacs
を紹介します。
多重化
多重化には 3 段階あります。
- 画面分割
- マルチタブ
- マルチ・マルチタブ
3 段階の多重化は Emacs の中とターミナルの両方で行われます。
ターミナルの多重化
tmux
を使うとターミナルの画面分割ができます。マルチタブ機能もあります。

tmux
で画面分割
画面下部の ABC
, dotfiles
,
ranger
というのがタブです。マルチタブを持つ
session も多重化できます。マルチ・マルチタブです。

demo
session の下に
ABC
, dotfiles
, ranger
タブがぶら下がっている
Emacs の多重化
Emacs の中でも 3 段階の画面分割が可能です。

最上部の config
, ABC
,
Server
がマルチ・マルチタブであり、プロジェクトの切り替えに相当します。
Server
タブに切り替えてみました:

Emacs の UI
Emacs のウィジェット
Emacs
でもサイドバーが作れます。サイドバーにはプログラムのアウトラインを表示することもできます。

imenu
(アウトライン表示)
magit
も紹介します。 Git の複雑な操作も丁寧にガイドしてくれる相棒です。

magit
(Git クライアント)
Emacs における検索
ファジー検索は開発に書かせません。これも Emacs の得意技です。

find-file
)

grep
まとめ
Emacs は UI のリッチなエディタです。他のエディタで Emacs
に匹敵する多重化機能を持つもの無いと思います。 Magit を始めとした豊富な画面も魅力で、 Emacs
が実際に強力なため使用している点が伝われば幸いです。