Table of Contents
1 Emacsを始める
マウスが使えて機能も充実しているのでデスクトップ用のエディタとしてEmacsを使い始めました。
2 チュートリアルなど
最初から入っているチュートリアル(C-h t)で基本的な操作を覚えました。fun learningさんの動画チュートリアルもまとまっています。パッケージマネージャやDired(ファイルマネージャ)についてはjekorさんの動画チュートリアルを流し見ました。Org modeについてはilearnthings.comさんのTaking Notes In Emacs Org-Modeとorgcardを見ながら使い始めました。
3 Org mode
Org modeは予定、メモ、日記などを書くためのEmacsのモードです。GithubではMarkdownのかわりに使えるようです。
3.1 よく行う操作
キーボードショートカットを覚えると速いですが、上側のメニューから操作することもできます。メニューは覚えていないコマンドを一覧として眺めたり、ショートカットを確認するときにも便利です。
C-c C-lで対話的にリンクを挿入できます。いろいろなリンクが張れてとても便利です。
コードブロックなどを挿入するときはEasy Templatesが使えます。例えば
エクスポートするときはC-c C-eでメニューが開きます。例えばC-c C-e h hでhtmlに出力します。
C-c C-lで対話的にリンクを挿入できます。いろいろなリンクが張れてとても便利です。
コードブロックなどを挿入するときはEasy Templatesが使えます。例えば
<s
と打ってTABを押すことで #+BEGIN_SRC ... #+END_SRC
と入力することができます。
エクスポートするときはC-c C-eでメニューが開きます。例えばC-c C-e h hでhtmlに出力します。
3.2 Markdownとの対比
機能面ではOrg modeが圧倒的なので、ここでは共通する機能の書き方についてのみ比べています。MarkdownについてはCommomMarkとGFMを参照しました。
機能 | Org mode | CommomMark |
斜体 | /Italic/ | *Italic* |
太字 | *Bold* | **Bold** |
見出し1 | * Heading 1 | # Heading 1 |
リンク |
[[http://example.com][Link]] [[http://example.com]] |
[Link](http://example.com) <http://example.com> |
画像 | [[./image.png]] | ![](./image.png) |
引用 |
#BEGIN_QUOTE Blockquote #END_QUOTE |
> Blockquote |
段落 |
段落1。 段落2。空行を挟む。 |
段落1。 段落2。空行を挟む。 |
順序なしリスト |
- List - List - List |
- List - List - List |
順序付きリスト |
1. One 2. Two 3. Three |
1. One 2. Two 3. Three |
水平線 | ----- | --- |
行中のコード | src_language{Inline code} | `Inline code` |
コードブロック |
#+BEGIN_SRC python print "Code block." #+END_SRC |
``` python print "Code block." ``` |
3.3 表について
GFMでは以下のように表を書けます。
Org modeの表は以下まで入力してしまえばTABで補完できます。
| foo | bar | | --- | --- | | baz | bim |Org modeの表は以下です。
| foo | bar | |-----+-----| | baz | bim |どちらも出力は以下になります。
foo | bar |
---|---|
baz | bim |
| foo | bar | |-<TAB>そのままTABを入力すると次々とセルを移動してくれます。行、列の挿入と削除はM-S-<矢印キー>で行えます。
3.4 table.el
PandocのMarkdownではmultiline tablesが使えます。
Org modeではtable.elと連携することで同じことができます。使い方はC-h P tableで読むことができます。
table.elの例やEmacsのマニュアルをみると以下は通りそうなのですが、うまくいきません。
これはうまくいきます。
これも通ります。
できあがったhtmlは= =によって整形されています。またtable.elの表はhtmlやLaTeXに変換できますがGithubではうまく表示されません。アスキーアートを整形する手間も半端ではないので、複雑な表はExcelやCalcで作るほうが無難かと思います。
Org modeではtable.elと連携することで同じことができます。使い方はC-h P tableで読むことができます。
+-----+-----+ | foo | bar | +-----+-----+ | baz | bim | | baz | bim | +-----+-----+
foo | bar |
baz baz |
bim bim |
+-----+-----+ | foo | bar | +-----+ | | baz +-----+ | baz | bim | +-----+-----+
foo | bar |
baz baz |
bim |
foo | bar |
+-----+-----+------+ | foo | bar | spam | +-----+ +------+ | baz +-----+ ham | | baz | bim | egg | +-----+-----+------+
foo | bar |
spam |
baz baz |
ham egg |
|
bim |
+---+-----+ |foo| bar | +---+-+---+ | baz |bim| +-----+---+
foo | bar | |
baz | bim |