
markdown-preview.nvim から Vivify に乗り換えた - Markdown / Jupyter ライブビューワーの実用ガイド
長年使ってきた markdown-preview.nvim ですが、本家のメンテナンスが事実上止まっていることを別記事で確認したのを機に、思い切って Vivify(jannis-baum/Vivify)に乗り換えてみました。
乗り換えの背景はこちらの記事にまとめています。 Neovim マークダウンプレビュー 2026年版 - markdown-preview.nvim メンテ停止後の選び方
数日使ってみて、軽くて快適に動くという好印象を得られたので、Vivify そのものを単独で紹介する記事をまとめます。
Vivify とは
Vivify は、ブラウザでファイルを「生き生きと(vivify)」表示してくれる、ローカル動作のライブビューワーです。
主なターゲットは Markdown と Jupyter 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)
brew install jannis-baum/tap/vivify私も Mac では Homebrew で入れました。一瞬で終わります。
AUR(Arch Linux)
yay -S vivifyNixpkgs
nix-shell -p vivifyManual インストール
GitHub の Releases から macOS / Linux 用バイナリをダウンロードして、viv と vivify の2つの実行ファイルを $PATH 上のディレクトリに配置するだけ。
自前ビルド
git clone https://github.com/jannis-baum/Vivify.git
cd Vivify
yarn
./configure <install_dir>
make installビルド要件: yarn, make, zip。
基本の使い方
インストールが終わったら、viv コマンドにファイルやディレクトリを渡すだけです。
# Markdown ファイルを開く
viv README.md
# ディレクトリを開く(ファイルブラウザになる)
viv ./
# Jupyter Notebook を開く
viv analysis.ipynb
# 画像を開く
viv ./assets/diagram.svgブラウザのタブが開き、リアルタイムでレンダリング結果が表示されます。 ファイルを保存すれば、ビューワーは即座に更新。
Neovim 連携 - vivify.vim
Neovim から 保存しなくてもリアルタイムで反映 させたい場合は、公式プラグイン vivify.vim を入れます。
前提
- Vivify 本体が
$PATHにインストール済みであること
lazy.nvim での導入
{
"jannis-baum/vivify.vim",
ft = { "markdown" },
cmd = { "Vivify" },
}vim-plug の場合
Plug 'jannis-baum/vivify.vim'使い方
Markdown バッファで :Vivify を実行するだけ。
:Vivifyブラウザに Vivify ビューワーが開き、入力中の文字がそのままライブ反映されます。カーソル移動に追従して自動スクロールもしてくれます。
設定オプション
| オプション | 値 | 説明 |
|---|---|---|
g:vivify_instant_refresh | 1(デフォルト) / 0 | 1 = TextChanged で即時反映、0 = CursorHold で遅延反映 |
g:vivify_auto_scroll | 1(デフォルト) / 0 | カーソル位置に応じてビューワーを自動スクロール |
g:vivify_filetypes | リスト | Markdown 扱いにする追加 filetype(例: ['vimwiki']) |
たとえば「VimWiki も Vivify でプレビューしたい」場合はこんな感じ:
vim.g.vivify_filetypes = { 'vimwiki' }キーマップ例
<Space>mp でトグルできるように、私はこう設定しています。
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 で編集」みたいな構成が、ほぼ標準のフローで組めるようになります。
インストール
pip install jupyviv
# Python カーネル
pip install ipykernelNeovim 連携プラグイン
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 関連
- Vivify - GitHub
- Vivify Releases
- vivify.vim - GitHub
- micro-vivify - Codeberg
- Jupyviv - GitHub
- jupyviv.nvim - GitHub
- Vivify ドキュメント (customization)
- Vivify ドキュメント (alerts)
- Vivify ドキュメント (PDF生成)