markdown-preview.nvim から Vivify に乗り換えた - Markdown / Jupyter ライブビューワーの実用ガイド

markdown-preview.nvim から Vivify に乗り換えた - Markdown / Jupyter ライブビューワーの実用ガイド

作成日:
更新日:

長年使ってきた markdown-preview.nvim ですが、本家のメンテナンスが事実上止まっていることを別記事で確認したのを機に、思い切って Vivifyjannis-baum/Vivify)に乗り換えてみました。

乗り換えの背景はこちらの記事にまとめています。 Neovim マークダウンプレビュー 2026年版 - markdown-preview.nvim メンテ停止後の選び方

数日使ってみて、軽くて快適に動くという好印象を得られたので、Vivify そのものを単独で紹介する記事をまとめます。


Vivify とは

Vivify は、ブラウザでファイルを「生き生きと(vivify)」表示してくれる、ローカル動作のライブビューワーです。

主なターゲットは MarkdownJupyter Notebook ですが、それ以外にも:

  • コードファイルをシンタックスハイライト付きで表示
  • 画像ファイルの表示
  • ディレクトリのブラウズ(パンくずナビ付き)
  • HTML ファイルのレンダリング(任意)

までこなしてくれます。位置づけとしては、「軽量・スタンドアロン・エディタ非依存」 なライブビューワー、というイメージです。

項目内容
公式jannis-baum/Vivify
ライセンスGPL-3.0
主な対応Markdown / Jupyter Notebook / コード / 画像 / ディレクトリ
起動コマンドviv
サーバー必要時のみ起動・誰も見ていなければ自動シャットダウン
最新バージョンv0.13.0(2026年2月3日、最終更新 2026年4月1日)
Stars★135

「最近の Markdown / Jupyter 周りのライブビューワー界隈」では、markdown-preview.nvim の事実上の後継候補として名前が挙がる存在です。


なぜ markdown-preview.nvim から乗り換えたのか

前回の記事 でも書きましたが、ざっくり言うと次の3点です。

ポイント詳細
メンテが止まっている本家 markdown-preview.nvim は最終 push が 2024年7月、Issue 261件・PR 33件が未対応のまま積み上がり
重い・遅いNode.js サーバー+ブラウザ+多言語ライブラリで、起動と編集中の同期がやや重い
CLI として使えないエディタ専用なので、VS Code や CLI から開きたいファイルにも使えない

Vivify は、これらをきれいに解消してくれます。

  • アクティブにメンテされている(v0.13 → v0.14 が議論中、PRも進行中)
  • 遅延起動・自動シャットダウンで軽い
  • viv ファイル名 の単一CLIとして使える(エディタ依存ゼロ)

Vivify の主要機能

1. 豊富な Markdown 機能

  • Basic / Extended Markdown 構文を完全サポート
  • KaTeX による数式
  • Mermaid によるダイアグラム・チャート
  • Graphviz / dot グラフ
  • アラートブロック(GitHub 風 + Obsidian コールアウト風カスタムマーカー対応)
  • 相対リンク(GitHub と同じ書き方)と絶対パスリンク
  • 属性付与markdown-it-attrs 互換、{.class #id} で class / id を直書き可能)
  • [[toc]] で自動目次
  • <kbd> タグ でキーボードショートカット表示

2. Jupyter Notebook ビューワー

.ipynb ファイルを直接開いてレンダリング表示できます。 さらに後述の Jupyviv を組み合わせると、Neovim から Jupyter Notebook を編集するワークフローまで実現できます。

3. コードファイル・画像・ディレクトリビューワー

  • コードファイルはシンタックスハイライト付き
  • 画像ファイル(PNG / JPG / SVG など)も表示
  • ディレクトリ指定で起動するとファイルブラウザになり、各ファイルを順に閲覧可能
  • 「親ディレクトリに戻る」ボタンが左上に固定で出るので、ブラウザのように行き来できる

4. ファイル変更を自動リロード

ファイルを保存すれば自動的にビューワーが追従。保存しなくても、対応エディタプラグイン(後述)と組み合わせれば、編集中の状態をそのままライブ反映できます。

5. サーバーは「必要なときだけ」起動

  • 初回 viv 実行時にサーバーが起動
  • すべてのビューワーを閉じると、サーバーは自動でシャットダウン
  • 常駐プロセスを抱え込まなくて済むので、軽い

6. PDF 出力

Markdown から綺麗な PDF を生成できます(公式 docs/pdfs.md 参照)。LaTeX 環境を別途用意せずに済むのが地味に嬉しいポイント。

7. フロントマター対応

YAML フロントマターを自動パースしてくれるので、メタ情報をビューワー側で活用できます(docs/front-matter.md)。

8. ガッツリカスタマイズ可能

  • 独自スタイルシートの注入
  • アラートブロックのアイコン(octicons / SVG)とタイトル
  • HTML ファイルの「描画モード/ソース表示モード」切替
  • など、docs/customization.md でカバーされる範囲が広い

インストール

Homebrew(macOS / Linux)

Bash
brew install jannis-baum/tap/vivify

私も Mac では Homebrew で入れました。一瞬で終わります。

AUR(Arch Linux)

Bash
yay -S vivify

Nixpkgs

Bash
nix-shell -p vivify

Manual インストール

GitHub の Releases から macOS / Linux 用バイナリをダウンロードして、vivvivify の2つの実行ファイルを $PATH 上のディレクトリに配置するだけ。

自前ビルド

Bash
git clone https://github.com/jannis-baum/Vivify.git
cd Vivify
yarn
./configure <install_dir>
make install

ビルド要件: yarn, make, zip


基本の使い方

インストールが終わったら、viv コマンドにファイルやディレクトリを渡すだけです。

Bash
# Markdown ファイルを開く
viv README.md
 
# ディレクトリを開く(ファイルブラウザになる)
viv ./
 
# Jupyter Notebook を開く
viv analysis.ipynb
 
# 画像を開く
viv ./assets/diagram.svg

ブラウザのタブが開き、リアルタイムでレンダリング結果が表示されます。 ファイルを保存すれば、ビューワーは即座に更新。


Neovim 連携 - vivify.vim

Neovim から 保存しなくてもリアルタイムで反映 させたい場合は、公式プラグイン vivify.vim を入れます。

前提

  • Vivify 本体が $PATH にインストール済みであること

lazy.nvim での導入

Lua
{
  "jannis-baum/vivify.vim",
  ft = { "markdown" },
  cmd = { "Vivify" },
}

vim-plug の場合

Vim script
Plug 'jannis-baum/vivify.vim'

使い方

Markdown バッファで :Vivify を実行するだけ。

コマンド
:Vivify

ブラウザに Vivify ビューワーが開き、入力中の文字がそのままライブ反映されます。カーソル移動に追従して自動スクロールもしてくれます。

設定オプション

オプション説明
g:vivify_instant_refresh1(デフォルト) / 01 = TextChanged で即時反映、0 = CursorHold で遅延反映
g:vivify_auto_scroll1(デフォルト) / 0カーソル位置に応じてビューワーを自動スクロール
g:vivify_filetypesリストMarkdown 扱いにする追加 filetype(例: ['vimwiki']

たとえば「VimWiki も Vivify でプレビューしたい」場合はこんな感じ:

Lua
vim.g.vivify_filetypes = { 'vimwiki' }

キーマップ例

<Space>mp でトグルできるように、私はこう設定しています。

Lua
vim.keymap.set('n', '<Space>mp', ':Vivify<CR>', { desc = 'Vivify Preview' })

micro エディタにも対応

ちなみに micro 用には micro-vivify というプラグインが用意されています。エディタを問わず使える設計が嬉しいところ。


おまけ: Jupyviv で Jupyter Notebook を Neovim で編集する

Vivify の作者は Jupyviv というツールも作っています。 これを使うと、Neovim で .ipynb を直接編集しながら、Vivify でライブ表示できます。

Jupyviv の特徴

  • エディタは Neovim(または任意のプレーンテキストエディタ)
  • 計算(カーネル実行)は 完全に分離 された別プロセス
  • 計算は SSH 越しのリモートマシンで動かしてもOK
  • ローカルが切断・シャットダウンしても、リモート計算は走り続ける(標準 Jupyter にはできない芸当)

「VPS 上で重い処理を回しながら、ローカル Neovim で編集」みたいな構成が、ほぼ標準のフローで組めるようになります。

インストール

Bash
pip install jupyviv
 
# Python カーネル
pip install ipykernel

Neovim 連携プラグイン

jupyviv.nvim があります(執筆時点でアクティブ開発中)。

注意: Jupyviv はまだバージョン v0.1.x の段階。本番投入はまだ早めですが、「Jupyter をテキストエディタの世界に持ち込みたい」というニーズには刺さる実験です。

詳しい Jupyter Notebook そのものについては、こちらの記事をどうぞ。 Jupyter Notebook 完全ガイド 2026年版 - Notebook 7時代の使い方とJupyter AI v3まで


数日使ってみての所感

良かったこと

  • 起動が速いviv ファイル から1秒でブラウザに表示
  • viv コマンドが便利 — エディタ問わず、CLI から READMEの確認・PRレビューができる
  • Mermaid / KaTeX が普通に動く — 普段の技術ブログ・社内ドキュメントは9割これで足りる
  • アラートブロックが綺麗 — GitHub と同じ > [!NOTE] 記法に対応、見栄えがいい
  • PDF生成がついてくる — markdown-preview.nvim では別途 pandoc を呼んでいたので、ここが素で済むのは嬉しい
  • サーバーが勝手に閉じるpgrep node で markdown-preview のプロセスを探さなくて済む

markdown-preview.nvim と比べて足りない部分

  • PlantUML / Chart.js / シーケンス図 / flowchart.js は未対応 — これらが必須なファイルでは、まだ selimacerbas/markdown-preview.nvim(フォーク版)と併用
  • mkdp_preview_options 相当のレンダリング細部の調整は薄め — その代わりCSS差し替えで対応する設計
  • GitHub と一部見た目が違う — Vivify 独自の機能(属性付与など)を使うと、GitHub 上では崩れる

移行のコツ

  • まず Vivify を「メイン」として使い始め、PlantUML や Chart.js が必要なファイルだけ markdown-preview.nvim フォーク版にフォールバックする運用が現実的
  • 既存の <Space>mp のキーマップを :Vivify に張り替えるだけで、体感はほぼ違和感なし
  • カラースキームが気に入らなければ、docs/customization.md の手順で カスタムCSS を当てる

まとめ

  • Vivify軽量・エディタ非依存・Markdown / Jupyter / コードに対応 したライブビューワー
  • markdown-preview.nvim のメンテ停止に対する現実的な後継候補
  • Neovim 連携は vivify.vim で十分
  • PlantUML / Chart.js が必要なら selimacerbas/markdown-preview.nvim と併用を
  • Jupyter Notebook も視野に入れているなら、Jupyviv と組み合わせて先取りもアリ

「とりあえず軽いやつに乗り換えたい」「ブラウザでサッと見れればいい」というニーズには、現時点でかなり良い選択肢だと感じました。 個人ブログや README、社内ドキュメントの確認用としては、しばらくはこれ1本でいけると思います。


参考リンク

Vivify 関連

関連記事