思考レベルの速度で作業する:Emacsキーバインドのすすめ

家電

皆さんはテキストエディタ何を使っていますか?最も有名なものとしては、Windowsに標準で付属している「メモ帳」ではないでしょうか?メモ帳はとてもシンプルであり、最低限の文字をメモすると言うことに特化しています。しかしながら、プログラミングには向いていません。また、メモ帳のキーボードショートカットは限定的なため、長文を扱うことや、検索・置換などの文字列操作には適していません。

今回紹介する「Emacs」は高機能テキストエディタの元祖ともいえるエディタで、筆者はこのエディタの考え方をもとに様々なWindows操作の最適化を行っています。「思考レベルの速度で作業する」というシリーズで記事を書いていますが、すべてのはこのEmacsからヒントを得ています。筆者としては大変思い入れの深い、Emacsについて本日は書きたいと思います。

ただし、Emacsの歴史やアーキテクチャは大変深く、もし書くとすればブログの域を超えるレベルの文章量と専門性を伴ってしまうため、今回の記事ではEmacsの概要、簡単な操作にのみ触れたいと思います。

Emacsとは

  • 1970年代に開発されたテキストエディター。
  • 当時としては革新的な機能を備えており、そのカスタマイズ性や、機能性の高さが特徴です。
  • テキストエディタでありながら、メール送信や、ウェブブラウジングも可能です。
  • 作業を効率化するショートカットキーが有名で大変優秀です。
    Emacsに近いショートカットはMac系のOsにデフォルトで実装されており、知らず知らずのうちに使用したことがある人も多いはずです。

Emacsは何が良いのか?

前述した特徴の中で、ショートカットキーが優秀であることが、筆者がEmacsを使う大きな理由です。なお、Emacsでは「ショートカットキー」とはあまり呼ばず、「キーバインド」と呼ぶことが多いです。ですので以降はキーバインドと呼びます。
「思考レベルの速度で作業する」ことを念頭に置いている筆者が、最も重要視していることは、キーボードのホームポジションから手を極力動かさないことです。例えば、カーソルを動かすために矢印キーに手を移動する動作や、バックスペースを押すためにキーボードの右上に手を移動する動作、さらにはエンターキーを入力するためにホームポジションから少し右に手をずらす動作さえも思考を中断する作業になり、効率化の妨げになっています。Emacsはこれらの動作を減らすことができます。手の移動量が少ないことは必然的にキーボードを見なくなるので、画面のみを見て作業することが可能になります。

Emacsの画面

Emacsの起動画面です。
起動時に表示される画面ですが、筆者は起動時にこの画面は不要なので、表示されないようにカスタマイズしています。Emacsは細かいカスタマイズが可能なため、思いつくカスタマイズは大体できることが多いです。

GUI(マウス操作可能)モードの入力画面です。一見すると特に凄いエディタには見えないかもしれません。
大変シンプルなデザインです。通常はGUIモードを使うとよいでしょう。

CUI(キーボードだけで動かす)モードです。こちらのモードはさらに簡略化されていて、マウスは使用できません。すべてコマンドだけで動かします。こちらについてはまた別の記事で書きたいと思います。あまりに玄人仕様なため今回の記事ではこれ以上書きません。

実際に文字を入力している様子です。
シンプルな表示なので特に言うことはありません。笑

プログラムを書く際には下図のように見やすいようにハイライト(シンタックスハイライト)してくれます。拡張子を認識する仕組みで、下図のコードでは”test.c”というC言語の拡張子を持つファイルを開いているため、EmacsがC言語のプログラム用にハイライトを行ってくれます。近年のエディタでは標準で備わっている機能ですが、もちろんEmacsには搭載されています。

お見せしたい素晴らしいEmcasの画面はまだまだたくさんありますが、今回の記事で紹介するのは我慢します。

Emacsの導入のハードル

次章でショートカットについて説明しますが、Emacsを最大限に使いこなすためにはショートカットを身に着けることが必須になります。そのため、初期の労力的な導入コストが高いです。しかしながら、身に付けていただくと、作業効率の劇的な向上が望めます。

Emacsキーバインド:以下はぜひ覚えていただきたい

Emacsで重要なキーバインドの多くはをCtrlキーと組み合わせて使用します。
以下に代表的なキーバインドを示します。Emacsを使いこなすには基本キーバインドを体で覚えることが必要です。

特に、カーソル移動系、文字列操作系で最低限必要なキーバインドは以下です。
キー自体が意味を示す頭文字になっているため、最初は考えながらキーバインドを使うと良いと思います。

いかに示す基本のキーバインドを1つ1つ押して試していただきたいのですが、すべてホームポジションから手の移動がないことが分かると思います。

キー動作備考
Ctrl + F矢印キー右(→)forwardの”F”
Ctrl + B矢印キー左(←)backの”B”
Ctrl + P矢印キー上(↑)previousの”P”
Ctrl + N矢印キー下(↓)nextの”N”
Ctrl + AHomeAheadの”A”
Ctrl + EEndEndの”E”
Ctrl + VPage Down
Alt + VPage Up
カーソル移動系
キー動作備考
Ctrl + Hbackspaceデフォルトでは設定されていない
Ctrl + DDeleteDeleteの”D”
Ctrl + MEnter
文字操作系

Emacsにおいて、上で紹介したキーバインドは全体のほんの一部です。ただし、ほかのキーバインドについては、実際にEmacsを使用しながら調べつつ必要そうなものを身に付けていくのが良いと思います。

基本のキーバインドを身に付けたならば

私はこの記事をEmacsのキーバインドを使用して書いています。かなりの長文になっていますが、ほとんどホームポジションから手を動かしていません。全然疲れないですし、書きたいことを思考している速度で執筆しています。ぜひ、EmacsとEmacsのキーバインドをお試しいただき、身に付けていただけたら嬉しいです。

結局いつEmacs使うの?

今後の記事で執筆予定ですが、Emacsのキーバインドを覚えるくらいまでは使用してください。ずっと使うわけではないの!?と思われるでしょう。もちろん使用し続けても問題ありません。大変素晴らしいエディタなので、文章を書く際にはEmacsを使って、メールなり、Wordなりにコピペして使用すると言う人も多く見かけます。ただし、ここから筆者がかなり独自で行っている方法になります。Emacsキーバインドを覚えた後は、エディタやアプリケーション(Word/Excel)関係なく、Emacsキーバインドを使います。WindowsにEmacsキーバインドを設定することですべての操作をEmacsのキーバインドで行うことが可能になります。「思考レベルの速度で操作する」のシリーズではWindows全体の操作においてEmacsのキーバインドを使用することで極端最適化を図ります

以下のステップで最終的な最適化を図ります。

  • Emacsを使用してEmacsキーバインドを身に付ける
  • WindowsにEmacsキーバインドを設定する

まとめ

「思考レベルの速度で操作する」ことを目標にその初段となる、Emacsキーバインドについてその概要と共に紹介しました。本日の記事では、まだ全体像がつかめないと思いますので、これからさらに記事を書いていきたいと思います。

コメント

タイトルとURLをコピーしました