**Org モード構文 ― テキスト用として最も合理的なマークアップ言語の一つ(2017)**

2026/01/10 18:15

**Org モード構文 ― テキスト用として最も合理的なマークアップ言語の一つ(2017)**

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

(全ての要点を組み合わせたもの)**

本記事は、Org mode の軽量マークアップ構文が Markdown、AsciiDoc、reStructuredText などの他の一般的な言語より優れていると主張し、Emacs を超えてより広く採用されるべきだと述べています。

Org が勝つ理由:

  • シンプルでアスタリスクベースの見出しシステム( …)は、下線やプレフィックス/ポストフィックス方式より学びやすい。
  • 直感的な箇条書きマーカー(*、–、+)と定義リスト(Term :: Definition)は、他のマークアップ言語にある多文字ルールを回避している。
  • 一貫したリンク構文
    [[URL][description]]
    は、Markdown の
    [text](url)
    、AsciiDoc の
    link::
    、reStructuredText の ``text
    _
    より優れている。
  • テーブルは簡単に書ける;列/行の揃えを無視できる点が、AsciiDoc が要求する列/行仕様とは対照的である。
  • 単一の安定した構文(.org ファイル)しかなく、フラグメント化されたバリエーションはない ― これに対し Markdown は GitHub‑Flavored、CommonMark、MultiMarkdown 等、多くの互換性のない派生形が存在する。
  • Pandoc やその他のツールは Org を HTML、PDF、DOCX、LaTeX 等へ変換できるため、本記事が示唆するように Markdown や AsciiDoc が欠けている強力なクロスプラットフォームサポートを提供している。
  • Emacs は TAB、Alt+矢印キー、Ctrl‑Return などの強力なキーボードショートカットを備えており、Org の執筆速度を加速させる;記事は他のエディタも構文をうまく扱っていると指摘している。
  • 正式仕様はないものの、Org の一貫性が非公式な標準として開発者に採用されてきた。
  • 本稿は Markdown の不整合なフォーマットルールや reStructuredText の複雑なリンク構文を批判し、それらの言語が「混乱させる」理由を明示している。
  • Orgdown などのコミュニティ主導イニシアチブは、Emacs を超えて Org の普及を目指している。

結論: Org mode をより広く採用することで、ユーザーや企業は明瞭なドキュメント、簡素化された変換パイプライン、およびプロジェクト横断的に統一されたマークアップ標準を享受できる。これにより、多数のフラグメント化されたマークアップ言語がもたらす混乱を減少させることが可能になる。

本文

更新履歴

  • 2017‑09‑25 :表記法をさらに簡素化
  • 2018‑04‑06 :標準化に関するコメント
  • 2019‑04‑12 :構文例の拡張 – 「Emacs以外でも意味が通る」「ツールサポート」や追加の逆リンク
  • 2020‑05‑02 :Ian Zimmerman のコメント
  • 2021‑05‑24 :AsciiDoc 用の例を増加
  • 2021‑11‑28 :Orgdown(Orgモード構文の新名称)の誕生(概要参照)
  • 2024‑12‑22 :Markdown フレーバー爆発に関する説明部分
  • 2025‑03‑09 :Markdown 標準リストの拡張

免責事項

これは極めて専門的なブログ記事です。軽量マークアップ言語について、そして多くのユースケースで Org モード構文が最適だと考える理由を述べています。「軽量マークアップ言語」とは、見出し・箇条書き・太字/斜体/下線などのフォント変化を表現するための構文そのものです。

Markdown が一般的に悪いという記事も同じように書いています。

本稿は Emacs についてではありません。Org モード構文と、Emacs 外でも使える利点について語ります。vim・Notepad.exe・Atom・Notepad++ など任意のテキストエディタで Org 構文を入力できます。私見として、Markdown・AsciiDoc・Wikitext・reStructuredText など他の軽量マークアップと比べて優位性があります。


Org モード構文は直感的で学びやすく覚えやすい

以下に Org モード構文を知るための全情報をまとめます。

* This Is A Heading
** This Is A Sub‑Heading
*** And A Sub‑Sub‑Heading

Paragraphs are separated by at least one empty line.

*bold* /italic/ _underlined_ +strikethrough+ =monospaced=
[[http://Karl-Voit.at][Link description]]
http://Karl-Voit.at → link without description

- list item
- another item
  - sub‑item
    1. also enumerated
    2. if you like
- [ ] yet to be done
- [X] item which is done

: Simple pre‑formatted text such as for source code.
: This also respects the line breaks. *bold* is not bold here.

高度な構文では、開始と終了のマーカーを使います。

#+BEGIN_SRC python
myresult = 42 * 23
print('Hello Europe! ' + str(myresult))
#+END_SRC

テーブル

テーブルは他言語よりも複雑に見えますが、実際には簡単です。

| My Column 1 | My Column 2 | Last Column |
|-------------+-------------+-------------|
|          42 | foo         | bar         |
|          23 | baz         | abcdefg     |
|-------------+-------------+-------------|
|          65 |             |             |

揃えを無視しても正しく書けます。

| My Column 1 | My Column 2 | Last Column |
|-            |-            |-            |
| 42          | foo         | bar         |
| 23          | baz         | abcdefg     |
|-            |-            |-            |
| 65          |             |             |

Org モード構文は標準化されている

多くの軽量マークアップ言語とは異なり、Org はオリジナルで最も大きい構文セットを持ちます。派生形はすべてこのセットのサブセットであるため、データ移行がスムーズでエラーが少ないです。

正式な Org‑mode 構文定義はまだありませんが、すべての構文要素は Emacs Org‑mode 実装に属しています。ファイル名は常に

.org
拡張子を使用します。


見出しのアプローチ

軽量マークアップ言語では多様な見出しスタイルが提供されます:

  • プレフィックス型
    #
    ,
    ##
    など)
  • 前後付き型
    = Heading =
  • 下線型
    =
    ~
    の行)

Org はアスタリスクのプレフィックスを使用します。アスタリスクが多いほど階層が深くなります。

* Heading 1
** Heading 2
*** Heading 3

リンク

Org ではリンクは次のように表記します。

[[http://Karl-Voit.at][my home page]]

URL が先で、続いて説明です。他構文と比べてシンプルです。

AsciiDoc の例:

[link=http://example.com]Text

Markdown:

[Text](http://example.com)

reStructuredText:

`Text <http://example.com/>`_

フォーマット

Org は各スタイルごとに文字列の前後に 1 文字を置く方式です。

  • /italic/
  • *bold*
  • ~monospace~
  • +strikethrough+

水平線は行単独で3つ以上のハイフンです。

この一貫性が Org を学びやすく、タイピングしやすい理由です。


ツールサポート

Org 構文は Emacs で標準装備されており:

  • TAB で見出し・リスト・ブロックを折り畳む/展開
  • 矢印キーで移動
  • Ctrl‑Return でマークアップを書かずに新しい見出しやリスト項目を作成

Emacs 外では Pandoc などが Org ファイルを HTML・PDF・DOCX 等へ変換できます。多くの軽量マークアップはこのような堅牢なツールサポートを欠いています。


概要

軽量マークアップ言語は、HTML や LaTeX のようなフル機能のマークアップよりも最小限の労力で済ませることを目指します。Markdown・AsciiDoc・reStructuredText では多くの設計決定が使いやすさの観点から疑問視されます。

Org モード構文は学びやすく、入力しやすいだけでなく、ツール間で一貫してサポートされています。会議記録・買い物リスト・Emacs の強力機能と組み合わせた電子書籍作成などに最適です。

Emacs 以外でも動く軽量マークアップ言語を探しているなら、Org モード(および派生形 Orgdown)は検討する価値があります。

同じ日のほかのニュース

一覧に戻る →

2026/01/11 10:50

**Show HN:Ferrite – Rustで作られたマークダウンエディタ、ネイティブMermaid図描画機能付き**

## Japanese Translation: Ferrite は、egui で構築された軽量でネイティブな Rust テキストエディタで、Markdown、JSON、YAML、および TOML ファイルをサポートします。主な編集機能には、WYSIWYG Markdown 編集、ライブプレビュー、クリックで編集できる書式設定ボタン、40 以上の言語に対応した構文ハイライト、正規表現検索&置換、タブごとの Undo/Redo、およびインライン編集が可能な階層データ用トリービューがあります。 表示モードは Raw エディタ、レンダリングビュー、分割ビュー(可変サイズの区切り線付き)、Zen モード、Raw とレンダリングビュー間の双方向同期スクロールから構成されます。 MermaidJS ダイアグラム描画は完全に統合されており、11 種類のダイアグラムをサポートします;バージョン 0.2.1 では高度なシーケンス制御フローブロックとネストされた状態が追加されました。 ワークスペース機能:フォルダーをファイルツリーで開く、クイックスイッチャー(`Ctrl+P`)、検索‑イン‑ファイル(`Ctrl+Shift+F`)、Git 統合(ステータスアイコン、ステージング、コミット、プッシュ/プル、競合解決)およびセッション永続化により、タブ、カーソル位置、およびスクロールオフセットが再起動時に復元されます。 追加の UI オプションには、実行時切替可能なライト/ダークテーマ、ドキュメントアウトラインパネル、テーマ付き HTML へのエクスポートまたは HTML としてコピー、書式設定ツールバー、JSON/YAML をシェルコマンドでパイプするライブパイプライン、およびカスタム境界なしウィンドウモードがあります。 インストールはプリビルトバイナリ(Windows zip、macOS tar.gz、Linux .deb または tar.gz)またはソースビルド(`cargo build --release`)で利用可能です。Rust 1.70+ とプラットフォーム固有の依存関係が必要です。主なショートカット:ファイル操作は `Ctrl+N/O/S/W`、タブは `Ctrl+Tab/Shift+Tab`、クイックスイッチャーは `Ctrl+P`、フルスクリーンは `F11`、設定は `Ctrl+,` などです。 Ferrite は MIT ライセンスの下でオープンソースであり、Rust 1.70+、egui 0.28、comrak 0.22(Markdown パーシング)、syntect 5.1(構文ハイライト)、git2 0.19(Git 統合)に依存しています。

2026/01/11 3:58

**GhostTyの最大メモリリークを発見し修正する**

## Japanese Translation: Ghostty の長時間にわたるセッションは、`mmap`(スクロールバックバッファに使用される)で割り当てられたページが解放されないため、最大 37 GB の RAM をリークしていました。アプリはターミナルコンテンツを **PageList** に保存します。これは「標準」(プールから取得したもの)または「非標準」(`mmap`)のメモリページで構成される双方向リンクリストです。スクロールバックの削減時に、Ghostty は誤って最も古いページを新しいページとして再利用します:そのメタデータだけを「標準サイズ」にリサイズし、大きな `mmap` 割り当てはそのまま残します。この再利用されたページが後で解放されると、Ghostty はそれを標準とみなし、`munmap` を呼び出す代わりにプールへ返却してしまい、メモリブロックがリークしたままとなります。 このバグは Ghostty 1.0 から存在しましたが、大量のスクロールバックバッファ(例:多くの絵文字とハイパーリンクを含む Claude Code など)を生成する CLI アプリでのみ顕在化し、非標準ページ割り当てをトリガーします。既存のリーク検出器は特定の実行時条件下で発生するため、検知できませんでした。 新しいテストが問題を再現しリークを確認しました。統合された修正では、削減中に **非標準ページを破棄**(`self.destroyNode(first)`)し、プールから新しい標準サイズのページで置き換えるようになっています。この修正は Ghostty 1.3(3 月)に組み込まれます。既に Nightly リリースにはパッチが含まれています。 さらに、macOS のメモリタグ付け(`mach.taggedPageAllocator(.application_specific_1)`)を追加し、PageList 割り当てにタグを付与して修正の検出と確認を簡素化しました。この更新により、長時間ターミナルセッションを実行するユーザー—特に重い CLI ワークロードを扱う開発者は――メモリ使用量が急増する問題が解消され、個人およびプロダクションでアプリに依存している組織の両方に対し、より安定かつ信頼性の高い Ghostty エクスペリエンスを提供します。

2026/01/11 1:56

**HNの投稿:** 「Claude Code を使って100冊の本との関連性を発見しました」

## Japanese Translation: **概要** 本文は、スタートアップのピボットが巧妙な洞察よりもむしろ絶望感から動かされることが多いと主張しています。後知恵バイアスがこれらの反応的シフトを事後的に戦略的計画として見せかけ、意図的な天才像を与える仕方を説明しています。代表例として、Odeo が新しいベンチャーへと変貌するケースが挙げられ、ピボット手法の実践的なテキストブック例として機能します。著者は将来のピボットも短期的圧力によって促される反応的なものに留まる可能性が高いと予測し、このパターンを認識することで、創業者・投資家・チームがスタートアップエコシステム内で戦略やリスクについて考える方法を再構築し、企業が方向転換する理由をより現実的に評価できるよう促すと述べています。

**Org モード構文 ― テキスト用として最も合理的なマークアップ言語の一つ(2017)** | そっか~ニュース