Skip to main content

CEOのためのEmacsガイド

著者
Headshot of Josh Stella

Josh Stella

hero container isolation

2015年11月11日

0 分で読めます

何年も前、いや何十年も前、私はEmacsの中で暮らしていました。コードや文書を書き、メールやカレンダーを管理し、エディター兼OSの中ですべての作業をしていました。とても満足していました。年月が過ぎ、より新しく、きらびやかなツールに移りました。その結果、マウスを使わずにファイルを効率よく操作するといった基本的な作業のやり方さえ忘れてしまいました。約3か月前、アプリケーションやコンピューター間の切り替えにどれほど時間を費やしているかに気づき、Emacsをもう一度試すことにしました。いくつかの理由から、これは良い決断でした。その理由をこの記事で紹介します。また、使いやすく、どこへでも持ち運べる環境を整えるための.emacsとDropboxのヒントもお伝えします。

Emacsを使ったことがない人にとっては、きっと嫌いになる一方で、好きになる可能性もあるツールです。一見するとトースターの機能をすべて備えているように見える、家ほどの大きさのルーブ・ゴールドバーグ・マシンのようなものです。あまり褒め言葉には聞こえませんが、鍵となるのは「一見すると」という部分です。Emacsを理解すると、熱核爆発級のトースターでありながら、テキストで行いたいことなら……ほぼ何でも実現するエンジンにもなるとわかります。コンピューターを使う生活がどれほどテキスト中心かを考えれば、これはかなり大胆な主張です。大胆ですが、真実です。

ただ、私にとってもっと重要なのは、匿名の「ユーザー」として扱われ、どこかSomaSomaやレドモンドCampagnolo近くのしゃれたオフィスにいる製品マーケティング部門に財布を巧みに狙われるのではなく、本当に自分のものだと感じられる唯一のアプリケーションだということです。現代の生産性アプリや執筆アプリ(PagesやIDEなど)は、カーボンファイバー製のレーシングバイクのようなものです。とてもよく装備され、完成品として提供されます。Emacsは、クラシックなCampagnoloのパーツ一式と美しいラグ付きスチールフレームが入った箱のようなもの。クランクアームが1本とブレーキレバーが欠けていて、それをインターネット上の小さなサブカルチャーで探さなければなりません。前者は速く、すぐに使えます。後者は、性格によっては尽きることのない喜び、あるいは苛立ちの源となり、死ぬまで使い続けられるでしょう。私は古いCampyのパーツを見つけても、eLispでエディターを調整しても、同じくらい喜びを感じるタイプです。人それぞれです。

葉の茂る庭で、白いスチール製の自転車が木に立てかけられている
今でも乗っている1933年製のスチール製自転車。フレームチューブの比較はこちらをご覧ください:https://www.youtube.com/watch?v=khJQgRLKMU0

ここまで読むと、Emacsは時代遅れ、あるいは古風だという印象を受けるかもしれません。そうではありません。強力で時代を超えて使えますが、その流儀を辛抱強く理解する必要があります。その流儀は一般的なやり方とは大きく異なり、奇妙に思えるかもしれません。しかし、説得力があり、魅力的な論理があります。私にとって、Emacsは過去ではなく未来を感じさせます。ラグ付きスチールフレームが何十年先も実用的で快適に使える一方、カーボンファイバーの高級バイクが衝撃で砕けて埋め立て地へ行くように、最新の流行アプリが忘れ去られても、Emacsは役立つツールとして使われ続けるでしょう。

Lispコードを編集して自分だけの作業環境を構築し、その使い心地のよい環境をどのコンピューターにも持ち運べることに魅力を感じるなら、Emacsをとても気に入るかもしれません。新しくてピカピカのものが好きで、時間や頭をあまり使わず、すぐに作業を始めたい人には向かないでしょう。私はもうコードを書いていません(LudwigとEmacs Lispを除いて)。しかし、Fugueのエンジニアの多くはEmacsを効果的に活用しています。エンジニアの内訳は、Emacsが約30%、IDEが40%、Vimが30%だと思います。ただし、この記事はCEOやその他のとんがり頭の上司(PHB)[1](もちろん、興味のある方も)のためのEmacsについてです。私がEmacsを気に入っている理由と使い方を説明し、正当化してみたいと思います。また、何時間もGoogle検索しなくても使いこなせるよう、十分な詳しい情報をお伝えしたいと思います。

長く使うほど実感できるメリット

Emacsを使うことで得られる長期的なメリットは、日々の作業を楽にしてくれます。最初に必要な学習の手間を差し引いても、十分に価値があります。たとえば、次のような点です。

コンテキストの切り替えが不要に

Org Modeだけでも、真剣に時間をかけて学ぶ価値があります。私のように、ブログ記事からカンファレンスの準備リスト、従業員レビューまで、常に十数個の文書を扱う人ならなおさらです。現代のコンピューター環境では、通常、複数のアプリケーションを使い分けることになります。それぞれに気を散らすUIがあり、保存、分類、検索の方法も異なります。その結果、頭の切り替えを絶えず強いられ、細かなことを覚えておかなければなりません。私はコンテキストの切り替えが嫌いです。壊れたインターフェースモデル[2]のせいで押しつけられるものですし、理にかなった世界ならコンピューターが覚えてくれるはずのことを覚えておくのも嫌です。Emacsはひとつの環境を提供するため、プログラマーよりもPHBにとって大きな力を発揮します。プログラマーは一日のうち、単一のアプリケーションで過ごす割合が高い傾向にあるからです。頭の切り替えにかかるコストは、思っている以上に大きいものです。OSやアプリケーションのベンダーは、この現実から目をそらさせるためにインターフェースを飾り立てています。技術に詳しい人なら、キーボードショートカットひとつ(M-:)で使える強力な言語インタープリターは特に便利です。[3]

多くのアプリケーションは、画面を最大化したまま一日中テキスト編集に使えます。しかしEmacsは、エディターでありながらLispインタープリターでもあるという点で唯一無二です。つまり、仕事をしながら、いつでもキーを1、2回押すだけでチューリング完全なマシンを使えます。プログラミングを少しでも知っていれば、Emacsでは何でもできるということがわかるでしょう。コマンドを覚えれば、作業しながらコンピューターの能力をほぼリアルタイムで利用できます。eLispでExcelを再現したいとは思わないでしょうが、Excelで行う作業の多くは規模が小さく、数行のコードで簡単に実現できます。数値を処理する必要があれば、スプレッドシートを開くより、スクラッチバッファに移動して少しコードを書くほうが多いです。1行では済まないメールを書くときも、たいていEmacsで書いてメールクライアントに貼り付けます。流れるように作業できるなら、なぜコンテキストを切り替えるのでしょう?最初は簡単な計算をいくつか行うだけかもしれませんが、時間が経てば、計算したいことを何でも比較的簡単にEmacsへ追加できます。人に見せるものを作る豊富な機能を備えたアプリケーションとしては、おそらく唯一無二です。アイザック・アシモフの本に出てくる魔法の端末を覚えていますか?私が出会った中で、それに最も近いのがEmacsです。[4]もう、あれにはどのアプリを使おうかと考えることはありません。ただ作業するだけです。優れたツールを持ち、それを使い続けることには、本当の力と効率があります。

静かに、落ち着いて創作する

これまで出会った中で最高のテキスト編集機能がある。便利な機能をさまざまに追加するコミュニティがある。Lispの力をキー操作ひとつで使える。その結果どうなるでしょう?音楽や画像の制作を除いて、あらゆる創作作業にEmacsを使うようになります。

デスクにはデュアルモニターを設置しています。片方は縦向きにして、Emacsを一日中フルスクリーンで表示しています。もう片方では、調査や読書のためにウェブブラウザーを使い、たいていターミナルも開いています。カレンダーやメールなどはOS Xの別のデスクトップに置き、Emacsを使っている間は隠して、通知もすべてオフにしています。こうすると、目の前の作業に集中できます。役に立ち、使いやすくしようという工夫のせいで、現代的なUIアプリでは気を散らす要素をなくすのがほぼ不可能だと感じています。何万回も行った操作のやり方を常に思い出させられる必要はありません。考えを深めるための、すっきりとした白い紙があればいいのです。年齢や経験のせいで騒がしい環境に弱くなっただけかもしれませんが、誰にとっても試してみる価値があると思います。コンピューター環境で、本当の静けさを得るとどんな感じか確かめてみてください。もちろん、今では多くのアプリにインターフェースを隠すモードがあり、ありがたいことにAppleとMicrosoftも実用的な全画面モードを提供しています。しかし、ほとんどの作業を「その中で暮らす」ほど強力なアプリケーションはほかにありません。一日中コードを書く人や、本のような非常に長い文書に取り組む人でなければ、結局ほかのアプリの騒がしさに直面することになります。また、現代のアプリケーションの多くは、ユーザーを見下すような態度と、機能や使いやすさの不足を同時に感じさせます。[5]私がオフィスアプリより嫌いなのは、オンライン版くらいです。

左側のモニターにEmacsテキストエディター、右側のモニターにターミナルとウェブブラウザーのウィンドウが表示されたデスクトップワークステーション
私のデスクトップ環境。左側にEmacs。

では、コミュニケーションはどうするのでしょう?創作とコミュニケーションには大きな違いがあります。それぞれのために時間を分けると、どちらの生産性も大きく高まります。FugueではSlackを使っています。素晴らしい一方で、悪夢のようでもあります。カレンダーやメールと一緒に、メッセージ用のデスクトップに置いています。そのため、何かを作っている間は、世の中のあらゆるおしゃべりを心地よく忘れていられます。Slackstormひとつ、あるいはVCや取締役からのメールひとつで、すぐに作業の流れが断ち切られてしまいます。でも、たいていのことは1、2時間待てるものです。

すべてを持ち歩き、いつまでも使い続ける

Emacsがほかの環境より優れていると感じる3つ目の理由は、すべてを簡単に持ち運べることです。たくさんのアプリがそれぞれ独自の方法で連携・同期するのではなく、Dropboxなどで同期するディレクトリが1、2個あれば十分です。そうすれば、自分の目的に合わせて作った環境の中で、どこへ行ってもすべての作業を続けられます。私はOS X、Windows、時にはLinux間でこれを実現しています。とても簡単で、信頼性も高いです。この機能があまりに便利なので、Pages、GDocs、Officeや、ファイルシステムやクラウドのどこかにファイルを探しに戻らなければならないアプリケーションを使うのが億劫になりました。

コンピューター上でデータをいつまでも保管するうえで、制約となるのはファイル形式です。ストレージの問題[6]はすでに人類が解決したとすれば、時間が経つにつれて直面するのは、作成した情報に引き続きアクセスできるかどうかです。テキストファイルは、コンピューターで最も長く使い続けられる形式です。1970年のテキストファイルも、Emacsで簡単に開けます。Officeアプリケーションではそうはいきません。テキストファイルはサイズが小さいのも利点で、Officeアプリケーションのデータファイルより圧倒的に小さくなります。デジタルデータをため込むのが好きで、思いついたことを小さなメモにたくさん書き留める私にとって、いつでも利用できるシンプルで軽量、かつ永続的な情報の保管場所は大切です。

Emacsを試してみようと思った方は、ぜひ読み進めてください。以下のセクションは本格的なチュートリアルの代わりにはなりませんが、読み終える頃には使い始められるようになります。

Emacsを使いこなすために――技術的なセットアップ

これだけの力と心の平穏を得る代償は、Emacsの学習曲線が急で、慣れ親しんだものとはすべて違うことです。最初は、時代遅れで奇妙なアプリケーションに時間を無駄にしていると感じるでしょう。現代に取り残されたように思えるかもしれません。車しか運転したことがない人が自転車[7]の乗り方を覚えるようなものです。

どのEmacsを選ぶ?

私はGNUが提供する、OS XおよびWindows向けの標準的なEmacsを使っています。OS X版はhttp://emacsformacosx.com/、Windows版はhttp://www.gnu.org/software/emacs/から入手できます。特にMac向けには、ほかにもさまざまなバージョンがあります。しかし、Lispや多数のモードを使った高度な作業を学ぶなら、公式版のほうが学習曲線は緩やかだと感じました。ではダウンロードして、始めましょう![8]

まずは操作方法を覚えましょう

この記事では、Emacsのキー表記とキーの組み合わせを使います。「C」はControl、「M」はMeta(通常はAltまたはOptionに割り当てられています)、ハイフンは複数のキーを同時に押すことを示します。たとえばC-h tは、Controlを押しながらhを入力し、Controlを離してからtを入力するという意味です。チュートリアルを開くコマンドなので、実際に実行してみてください。

矢印キーやマウスは使わないでください。使えますが、Emacsの標準ナビゲーションコマンドを1週間使ってみましょう。操作が筋肉の記憶に定着すれば、きっと快適に感じるようになり、ほかの場所でも使えないことを残念に思うはずです。Emacsのチュートリアルでは使い方がうまく説明されていますが、全編を読まなくて済むよう、ここで要点をまとめます。基本的には、矢印キーの代わりに、戻るにはC-b、進むにはC-f、前(上)にはC-p、次(下)にはC-nを使います。「矢印キーがちゃんとあるのに、どうしてそんなことを?」と思うかもしれません。理由はいくつかあります。まず、タイピングの姿勢から手を動かさずに済みます。また、Alt(EmacspeakではMeta)と組み合わせて前後のキーを使うと、単語単位で移動できます。これは思った以上に便利です。3つ目の理由は、コマンドを繰り返したいとき、前に数字を付けられることです。文書の編集では、戻る単語数や上下に移動する行数を見積もって、C-9 C-pやM-5 M-bのように入力することがよくあります。ほかに重要なナビゲーションコマンドとして、項目の先頭を表すaと末尾を表すeを使うものがあります。行単位ではC-a|e、文単位ではM-a|eを使います。文単位のコマンドを正しく機能させるには、ピリオドの後にスペースを2つ入れる必要があります。これは便利な機能であると同時に、意見という定説を頭の片隅から追い払うことにもなります。単語間のスペースが1つの出版環境に文書を出力する必要があれば、すぐにマクロを書いて対応できます。

Emacsに付属するチュートリアルは、ぜひ一通り読んでみてください。せっかちな方向けに重要なコマンドをいくつか紹介しますが、チュートリアルは本当に役立ちます。お忘れなく。チュートリアルを開くにはC-h tです。

コピー&ペーストを覚える

EmacsをCUAモードにすれば、使い慣れた操作ができます。ただ、Emacs標準の方法も、覚えてしまえばとても使いやすく、簡単です。選択範囲を指定するには、ナビゲーションコマンドとShiftキーを組み合わせます。たとえばC-Fでカーソル位置から前方の1文字を選択できます。コピーはM-w、切り取りはC-w、貼り付けはC-yです。これらは実際には「キル」と「ヤンク」と呼ばれますが、切り取り、コピー、貼り付けとほぼ同じです。キルリングの仕組みなど、内部には便利な機能がありますが、ひとまずは切り取り、コピー、貼り付けだけ覚えておけば大丈夫です。ここで操作を間違えたら、C-x uで元に戻せます……

次はIdoモードを覚える

ぜひ試してみてください。Idoを使うとファイル操作がぐっと楽になります。Emacsでは通常、ファイル操作にFinderやExplorerの別ウィンドウは使いません。代わりに、エディターのコマンドでファイルを作成、開く、保存します。Idoなしだと少々面倒なので、ほかの方法を覚える前にインストールすることをおすすめします。IdoはEmacs 22以降に付属していますが、常に使えるように.emacsファイルを少し設定する必要があります。環境を整える良い機会です。

Emacsの機能の多くはモードとして提供されています。モードをインストールするには、基本的に2つの作業が必要です。最初だけは追加の作業もいくつかありますが、それは一度きりで、以降は2つの作業だけで済みます。追加の作業とは、すべてのeLispファイルを置く場所を1つ決め、Emacsにその場所を教えることです。たとえばDropboxにEmacs用のホームディレクトリを1つ作るのがおすすめです。その中に.emacsファイルと.emacs.dディレクトリを作成し、.emacs.dの中にlispというディレクトリを作ります。つまり、次のような構成です。

home|+.emacs|-.emacs.d | -lisp

モードなどの.elファイルはhome/.emacs.d/lispディレクトリに置き、.emacsで次のように場所を指定します。

(add-to-list 'load-path "~/.emacs.d/lisp/")

IdoモードはEmacsに付属しているので、Lispディレクトリに.elファイルを置く必要はありません。ただし、すぐにほかのファイルを追加することになります。

シンボリックリンクを活用しよう

でも、.emacsと.emacs.dはホームディレクトリにあると書いてあるのに、Dropboxの適当なフォルダに置いたのでは?そのとおりです。こうしておけば、どこにいても簡単に同じ環境を使えます。すべてをDropboxに置き、.emacs、.emacs.d、メインのドキュメントディレクトリへのシンボリックリンクを~に作ります。OS Xではln -sコマンドで簡単にできますが、Windowsでは少々面倒です。幸い、Windowsではシンボリックリンクの代わりに、Emacsが提供する簡単な方法を使えます。それがHOME環境変数です。Windowsの環境変数を開き(Windows 10では、Windowsキーを押して「環境変数」と入力すれば検索できます。これがWindows 10のいちばん便利なところです)、アカウントにHOME環境変数を作成して、Emacs用に作ったDropboxフォルダを指定します。Dropbox以外のローカルファイルにも簡単にアクセスしたい場合は、実際のホームディレクトリにDropboxのEmacsホームへのシンボリックリンクを作る方法もあります。

これで、どのマシンからでもEmacsの設定とファイルにアクセスできるようにする準備が整いました。新しいコンピューターを使うときでも、誰かのコンピューターを1時間や1日借りるときでも、いつもの作業環境をそのまま使えます。初めて設定するときは少し難しく感じるかもしれませんが、やり方がわかれば、長くても10分ほどで完了します。

さて、Idoの設定の話でした……

C-x C-fを押し、~/.emacs RET RETと入力して.emacsファイルを作成します。次の行を追加してください。

set up ido mode(require `ido)(setq ido-enable-flex-matching t)(setq ido-everywhere t)(ido-mode 1)

.emacsバッファを開いた状態でM-x evaluate-bufferを実行します。入力に誤りがあればエラーが表示され、問題がなければIdoが使えるようになります。Idoを使うと、ファイル操作時のミニバッファの動作が変わります。詳しい説明は充実していますが、いくつかヒントを紹介します。~/を活用しましょう。ミニバッファのどこにいても~/と入力すれば、ホームに戻れます。つまり、ほとんどのファイルをホームからすぐアクセスできる場所に置くとよいでしょう。私はコード以外のファイルを~/orgに、コードを~/codeに置いています。目的のディレクトリに移動すると、特にOrg Modeで作成・公開する場合など、拡張子の異なるファイルがいくつもあることがよくあります。ファイル名のどこにいても、ピリオドと拡張子を入力すれば、Idoがその拡張子のファイルだけに候補を絞り込みます。たとえば、今書いているこのブログ記事はOrg Modeで作成しているので、メインのファイルは次のとおりです。

~/org/blog/emacs.org

Org Modeの公開機能を使ってHTMLに出力することもあるので、同じディレクトリにemacs.htmlファイルもあります。Orgファイルを開くときは、次のように入力します。

C-x C-f ~/o[RET]/bl[RET].or[RET]

[RET]は、Idoモードの自動補完を使うためにEnterキーを押す操作です。つまり、入力するのは12文字だけ。使い慣れれば、FinderやExplorerを開いてあちこちクリックするよりもずっと速く済みます。Idoモードはとても便利ですが、Emacsを操作するためのユーティリティモードです。ここからは、実際に作業を進めるのに役立つモードを見ていきましょう。

フォントとスタイル

Emacsで使うフォントには、優れたInputファミリーをおすすめします。括弧やゼロなど、さまざまな文字をカスタマイズできます。フォントファイルに行間を追加することもできます。行間は1.5倍にし、コードやデータには優れたプロポーショナルフォントを使うのがおすすめです。私は文章を書くときにInput Serifを使っています。個性的でありながら現代的な印象です。好みに合わせてカスタマイズできるフォントはhttp://input.fontbureau.com/で入手できます。Emacsのメニューから手動でフォントを設定できますが、設定は.emacsファイルに書き込まれます。複数のデバイスを使う場合は、デバイスごとに異なる設定が必要になることもあるでしょう。私は.emacsを設定し、使用中のマシン名を確認して適切な画面設定を適用しています。コードは次のとおりです。

set up fonts for different OSes. OSX toggles to full screen.(setq myfont "InputSerif")(cond ((string-equal system-name "Sampo.local") (set-face-attribute 'default nil :
font myfont :
height 144) (toggle-frame-fullscreen)) ((string-equal system-name "Morpheus.local") (set-face-attribute 'default nil :
font myfont :
height 144)) ((string-equal system-name "ILMARINEN") (set-face-attribute 'default nil :
font myfont :
height 106)) ((string-equal system-name "UKKO") (set-face-attribute 'default nil :
font myfont :
height 104)))

system-nameの値は、Emacs上で(system-name)を評価して表示される値に置き換えてください。私のMacBook、Sampoでは、Emacsをフルスクリーンにする設定もしています。Windowsでも同じようにしたいのですが、WindowsとEmacsの相性はあまりよくなく、試すといつも妙な状態になってしまいます。そのため、起動後に手動でフルスクリーンにしています。

また、90年代にアプリケーションのツールバーが流行したころに追加された、Emacsのひどいツールバーを非表示にすることもおすすめします。ほかの「飾り」もいくつか取り除いて、シンプルで作業に集中できる画面にしました。ツールバーとスクロールバーを非表示にしつつ、メニューは使えるようにするには、次の設定を.emacsファイルに追加します(OS Xでは、画面上部にマウスを移動しない限りメニューは非表示です)。

(if (fboundp 'scroll-bar-mode) (scroll-bar-mode -1))(if (fboundp 'tool-bar-mode) (tool-bar-mode -1))(if (fboundp 'menu-bar-mode) (menu-bar-mode 1))

Org Mode

私はほとんどの時間をOrg Modeで過ごしています。文書の作成、メモ、ToDoリストなど、日々の作業の90%に使う環境です。Orgはもともと、会議にノートパソコンを持ち込むタイプの人が、メモとToDoリストを組み合わせたツールとして考案しました。私は会議でノートパソコンを使うことには反対ですし、自分でも使いません。そのため、用途は少し異なります。私にとってOrgは、あらゆる種類のコンテンツを構造化して扱うためのものです。Org Modeでは見出しや小見出しなどを使い、アウトラインのように整理できます。ツリーの内容を展開したり折りたたんだり、並べ替えたりできるので、自分の考え方にとてもよく合っており、この使い方は本当に気に入っています。

Org Modeには、日々の作業を快適にする細かな機能もたくさんあります。たとえば、脚注の扱いが優れており、LaTeXやPDFへの出力も素晴らしいです。すべての文書にあるToDoからアジェンダを生成し、日付や時刻に関連付ける機能もあります。共有カレンダーで管理する外部の予定には使いませんが、何かを作り、今後作るものを把握するには欠かせません。インストールは簡単です。org-mode.elをLispディレクトリに追加し、ツリーの階層に合わせてインデントし、文書をすべて展開した状態で開きたい場合は、次の行を.emacsに追加します。

set up org mode(setq org-startup-indented t)(setq org-startup-folded "showall")(setq org-directory "~/org")

最後の行は、アジェンダなどに含めるファイルの場所をOrgに知らせるためのものです。前述のとおり、Dropboxにあるディレクトリへのシンボリックリンクをホームディレクトリに置き、Orgのファイルもそこに置いています。

常にバッファで開いているstuff.orgファイルがあります。メモ帳のように使っています。Orgなら、期限付きのものも含め、TODOなどを簡単に取り出せます。Lispコードをインラインで記述し、必要なときに評価できるのも特に便利です。コンテンツとコードを一緒に扱えるのはとても重宝します。繰り返しになりますが、Emacsならコンピューターそのものを操作できる。それは解放感につながります。

Org Modeで公開する

私は文書の見た目や書式にこだわります。キャリアの出発点はデザイナーで、情報は明確かつ美しく提示できるし、そうあるべきだと考えています。OrgはLaTeXを使ったPDF生成をしっかりサポートしています。LaTeXには少し学習が必要ですが、簡単なことならすぐにできます。

一般的なLaTeXのフォントやスタイル以外を使いたい場合は、いくつか設定が必要です。まず、LaTeX専用フォントではなく通常のシステムフォントを使えるように、XeLaTeXを用意します。次に、これを.emacsに追加します。

(setq org-latex-pdf-process '("xelatex -interaction nonstopmode %f" "xelatex -interaction nonstopmode %f"))

整理しやすいように、これは.emacsのOrgセクションの末尾に置いています。Orgから公開するときに、より多くの書式設定オプションを使えるようになります。たとえば、よく使うのは次のようなものです。

#+LaTeX_HEADER: 
  usepackage{fontspec}

  #+LATEX_HEADER: 
  setmonofont[Scale=0.9]
  {Input Mono}

  #+LATEX_HEADER: 
  setromanfont{Maison Neue}

  #+LATEX_HEADER: 
  linespread{1.5}

  #+LATEX_HEADER: 
  usepackage[margin=1.25in]
  {geometry}

  #+TITLE: 
  Document Title Here

これらは.orgファイルのどこに書いても構いません。本文用のコーポレートフォントはMaison Neueですが、ここには用途に合ったものなら何でも指定できます。Maison Neueは強くおすすめしません。ひどいフォントなので、誰も使うべきではありません。

このファイルは、これらの設定でPDFを出力した例です。標準のLaTeXは、いつも初期状態ではこんな見た目です。まあ問題はありませんが、フォントがありきたりで、少し変わっています。また、標準形式を使うと、学術論文、あるいは学術論文を装ったものを読んでいると思われるでしょう。ご注意ください。

Ace Jump Mode

これは大きな機能というより、ちょっとした便利機能ですが、ぜひ使ってみてください。かつてJef Raskinが考案したLeap機能に少し似ています。[9] 使い方は、まず C-c C-SPC と入力し、ジャンプしたい単語の最初の文字を入力します。その文字で始まる単語がすべてハイライトされ、それぞれがアルファベットに置き換わります。目的の位置に割り当てられたアルファベットを入力するだけで、カーソルがそこにジャンプします。一般的なナビゲーションキーや検索と同じくらい頻繁に使っています。 .el ファイルをLispディレクトリにダウンロードし、これを .emacs に追加してください。

set up ace-jump-mode(add-to-list 'load-path "which-folder-ace-jump-mode-file-in/")(require 'ace-jump-mode)(define-key global-map (kbd "C-c C-SPC" ) 'ace-jump-mode)

続きはまた後で

今回はここまでにしましょう。この記事が、皆さんの目指すところへ進む助けになれば幸いです。プログラミング以外でのEmacsの使い方(もちろん、プログラミングでの使い方も!)や、この記事が役に立ったかどうか、ぜひ教えてください。私のEmacsの使い方には、いかにもPHBらしい的外れなところがいくつもあるかもしれません。気づいた点があれば、ぜひ指摘してもらえるとうれしいです。今後も、機能やモードを紹介する記事を折に触れて書くつもりです。FugueとEmacs、そしてLudwig-modeを、単なるコードのハイライト表示以上に役立つものへと進化させていく方法も、必ず紹介します。ご意見はTwitterの @fugueHQ までお寄せください。

脚注

  1. 今では何らかのPHBで、技術的な経験がまったくないという方には、Emacsは向いていないでしょう。Emacsをきっかけにコンピューティングの技術的な側面に踏み出せる人も少数ながらいるかもしれませんが、おそらくごくわずかです。Emacsのよさを実感するには、UnixやWindowsのターミナルの使い方を知っていて、ドットファイルをいくつか編集したことがあり、人生のどこかでコードを書いた経験があると役立ちます。

  2. http://archive.wired.com/wired/archive/2.08/tufte.html

  3. 主に、文章を書きながら計算するために使っています。たとえば、新しい従業員へのオファーレターを書いていたとき、提示するオプションの数を計算したくなりました。発行済み株式数を表す変数を .emacs で定義してあるので、M-: (* .001 outstanding-shares) と入力するだけで、電卓や表計算ソフトを開かずに、0.1ポイント分を計算できます。コンテキストの切り替えを避けるため、このような変数にたくさんの数値を入れています。

  4. 足りないのはウェブです。ewwというEmacs用のウェブブラウザーがあり、Emacs内でウェブを閲覧できます。私も実際に使っています。優れた広告ブロッカーであるうえ、ウェブデザイナーによる可読性を損なう選択の多くを取り除いてくれるからです。Safariのリーディングモードに少し似ています。残念ながら、多くのウェブサイトには、テキスト表示ではうまく扱えない煩わしい装飾やナビゲーションが大量にあります。

  5. ユーザビリティは、学習しやすさと混同されることがよくあります。学習しやすさとは、ツールの習得がどれほど難しいかということです。ユーザビリティとは、そのツールがどれほど役に立つかです。この2つはしばしば相反します。マウスやメニューがその例です。メニューは覚えやすい一方で、使い勝手はよくありません。そのため、初期のコンピューターの時代からキーボードショートカットが使われてきました。GUI全般について、Raskinが正しかったのに無視された点は数多くあります。今ではOSも、キーボードショートカットで呼び出せる、使い勝手のよい検索機能などを搭載するようになりました。OS XとWindowsでは、私は検索を使って移動するのが基本です。Ubuntuの検索はひどく不出来で、GUIのほかの部分も同様です。

  6. AWS S3は、インターネットがある限り、ファイルストレージの問題を実質的に解決しています。S3には何兆ものオブジェクトが保存されていますが、ひとつも失われたことがありません。クラウドストレージを提供するサービスのほとんどは、S3を基盤にしているか、S3を模倣しています。S3ほどの規模を持つサービスはないので、私はDropbox経由で大切なデータをそこに保管しています。

  7. ここまで読んで、「この人、自転車の話ばかりしていないか?」と思っているかもしれません……。あらゆる面で自転車が大好きなのです。これまでに発明された移動手段の中で、機械として最も効率的です。本当に美しいものにもなります。そして、手入れをすれば一生使えます。2001年にRivendell Bicycle Worksにフレームを作ってもらいましたが、今でも見るたびにうれしくなります。自転車とUNIXは、私が出会った中で最高の発明です。もちろん、Emacsもそうです。

  8. これはEmacsのチュートリアルではありません。Emacsには優れたチュートリアルが付属しています。ここでは、使えるEmacs環境を整えるうえで私が特に大切だと思うことをいくつか紹介しますが、チュートリアルの代わりになるものではありません。

  9. Jef Raskinは、Macintoshプロジェクト(当初は彼が主導していました)をめぐってSteve Jobsと袂を分かった後、1980年代にCanon Catコンピューターを設計しました。Catは文書中心のインターフェース(本来、すべてのコンピューターがそうあるべきです)を備え、Emacsで再現できるような画期的なキーボード操作を採用していました。高解像度の巨大な画面とUnixを搭載した現代版の高性能Catが手に入るなら、すぐにでもMacと交換したいです。https://youtu.be/o_TlE_U_X3c?t=19s

開発者のために設計されたIaCセキュリティ

Snykは、統合されたポリシー・アズ・コードエンジンにより、SDLCからクラウドでの実行時までInfrastructure as Codeを保護します。すべてのチームが安全に開発、デプロイ、運用できるよう支援します。

カテゴリー:

続きを読む

Blog

Stadium Summer:Snyk Connect Fan Zone Tour

SnykのFan Zone Tourでは、8都市と3回のオンラインセッションで、AIセキュリティのワークショップやネットワーキング、楽しい競技を開催しました。参加者はスキルを磨き、アイデアを共有し、共に成長しました。

Blog

Snyk VulnBench JS 1.0:LLMは同じバグを2回見つけられるか?

Snyk VulnBench JS 1.0:300回の反復スキャンで、LLMのセキュリティ検出結果は実行ごとに異なる一方、SASTとモデルはそれぞれ異なる脆弱性の見落としを検出することが明らかに。

feature insights context
Blog

お客様と築くAIセキュリティ:Evoのデザインパートナープログラムから得た5つの教訓

SnykのEvoデザインパートナープログラムから得た5つの重要な教訓をご紹介します。AIの検出、リスクインテリジェンス、ポリシーの自動化によって、チームが生成AIを保護し、拡大するAI利用を大規模に統制する方法をご覧ください。