ターミナルを中心に作業をされている方ならMarkdownの閲覧もターミナル上で行いたいものですよね。はい、私も同感です。そこで今回紹介したいのはCLIベースのナビゲーションを備えたMarkdownビューアです。
treemd
treemdはMarkdownをターミナル上で快適に閲覧・ナビゲートできるインタラクティブなツールです。

ツリー構造による見出しのアウトライン表示と、TUI(ターミナルユーザーインターフェース)による対話的な閲覧機能が備わってします。
treemdは2つのモードを備えています。1つはインタラクティブモード、もう1つはコマンドラインモードです。
インタラクティブモード
インタラクティブモードは指定したMarkdownをデュアルペインレイアウトを開きます。

インタラクティブモードではVimキーバインドで操作します。j/kで移動、g/Gでジャンプなど、キーボードから手を離さず作業を継続できます。キーバインドがわからなくなったら?を押すことでHelpがポップアップされます。

左側のツリービューはセクションにカーソルを合わせてhキーで折りたたみ、lキーで展開を行います。もしくはEnterキーを押すことで展開・折りたたみがトグルします。
50以上のプログラミング言語に対応し、コードブロックをハイライトします。
コマンドラインモード
コマンドラインモードは対話的な閲覧ではなく、CLIツールとして活用できます。
# 見出しの一覧表示 treemd -l README.md # ツリー構造の表示 treemd --tree README.md # 特定セクションの抽出 treemd -s "Installation" README.md # JSON形式での出力 treemd -l --json README.md
インストール方法
Rustのパッケージマネージャーcargoを使って簡単にインストールできます:
cargo install treemd
GitHubリポジトリからソースコードをビルドすることも可能です。
https://github.com/Epistates/treemd
macOS、Linux、Windowsのすべてのプラットフォームに対応しており、macOS向けにはコード署名済みのビルド済みバイナリも提供されています。
使ってみよう
基本的な使い方はMarkdownファイルのパスを指定するだけです。
treemd README.md
これだけで、インタラクティブなMarkdownビューアが起動します。Vimユーザーなら違和感なく操作できるでしょう。
まとめ
treemdは、ターミナルでの作業を好む開発者にとって、Markdown文書を効率的に閲覧するための最適なツールです。大きなドキュメントでもツリー構造で見やすく、素早くナビゲートできます。READMEやドキュメントの閲覧、技術仕様書のレビューなど、日常的なMarkdown閲覧の場面でぜひ活用してみてください。
