markdown-preview.nvimは、(Neo)vim用のMarkdownプレビュープラグインです。モダンなブラウザでMarkdownファイルをリアルタイムにプレビューし、スクロール同期も可能です。
主な機能
- クロスプラットフォーム: macOS, Linux, Windowsで動作します。
- スクロール同期: 編集中のカーソル位置とプレビューの表示位置が同期します。
- 高速な非同期更新: 編集内容が即座にプレビューに反映されます。
- 数式サポート: KaTeXによる数式表示に対応しています。
- ダイアグラム: PlantUML, Mermaid, Chart.js, js-sequence-diagrams, Flowchart, dotなどのダイアグラムを記述できます。
- 豊富なMarkdown拡張: 目次(TOC), Emojis, タスクリストなどをサポートします。
- 柔軟な設定: プレビューの挙動やスタイルを細かくカスタマイズできます。
インストールと使い方
インストール方法
dein.vim を使用する場合、init.vim または init.lua に以下のように記述します。
" dein.vim の設定例
call dein#add('iamcco/markdown-preview.nvim', {'build': 'cd app && yarn install'})
" または nodejs と yarn がない場合
" call dein#add('iamcco/markdown-preview.nvim', {'build': 'call mkdp#util#install()'})
インストール後、dein#update() を実行してプラグインをインストールしてください。
基本的な使い方
プラグインのインストール後、以下のコマンドでプレビューを操作します。
-
:MarkdownPreview: プレビューを開始します。 -
:MarkdownPreviewStop: プレビューを停止します。 -
:MarkdownPreviewToggle: プレビューの表示/非表示を切り替えます。
設定
init.vim や init.lua で g:mkdp_ から始まるグローバル変数を設定することで、動作をカスタマイズできます。
オプション変数
| オプション変数 | 説明 | 規定値 |
|---|---|---|
g:mkdp_auto_start |
Markdownバッファに入ったときにプレビューウィンドウを自動で開くか。 | 0 |
g:mkdp_auto_close |
Markdownバッファから別のバッファに移動したときにプレビューウィンドウを自動で閉じるか。 | 1 |
g:mkdp_refresh_slow |
バッファ保存時または挿入モード終了時にMarkdownをリフレッシュするか。0の場合、編集またはカーソル移動時に自動リフレッシュ。 |
0 |
g:mkdp_command_for_global |
MarkdownPreviewコマンドをMarkdownファイル以外でも使用可能にするか。 |
0 |
g:mkdp_open_to_the_world |
プレビューサーバーをネットワーク上の他のデバイスからアクセス可能にするか。 | 0 |
g:mkdp_open_ip |
プレビューページを開くためのカスタムIPアドレス。 | '' |
g:mkdp_browser |
プレビューページを開くブラウザを指定。 | '' |
g:mkdp_echo_preview_url |
プレビューページを開く際にURLをコマンドラインに表示するか。 | 0 |
g:mkdp_browserfunc |
プレビューページを開くカスタムVim関数名。URLが引数として渡される。 | '' |
g:mkdp_preview_options |
Markdownレンダリングに関するオプションの辞書。詳細は下記。 | |
mkit
|
markdown-itのレンダリングオプション。 | {} |
katex
|
KaTeXの数式オプション。 | {} |
uml
|
markdown-it-plantumlのオプション。 | {} |
maid
|
Mermaidのオプション。 | {} |
disable_sync_scroll
|
スクロール同期を無効にするか。 | 0 |
sync_scroll_type
|
スクロール同期のタイプ ('middle', 'top', 'relative')。 |
'middle' |
hide_yaml_meta
|
YAMLメタデータを非表示にするか。 | 1 |
sequence_diagrams
|
js-sequence-diagramsのオプション。 | {} |
flowchart_diagrams
|
Flowchartのオプション。 | {} |
content_editable
|
プレビューページでコンテンツ編集を有効にするか。 | v:false |
disable_filename
|
プレビューページのファイル名ヘッダーを無効にするか。 | 0 |
toc
|
目次に関するオプション。 | {} |
g:mkdp_markdown_css |
カスタムMarkdownスタイルシートの絶対パス。 | '' |
g:mkdp_highlight_css |
カスタムハイライトスタイルシートの絶対パス。 | '' |
g:mkdp_port |
サーバーを起動するカスタムポート。空の場合はランダム。 | '' |
g:mkdp_page_title |
プレビューページのタイトル。${name}はファイル名に置換される。 |
'「${name}」' |
g:mkdp_images_path |
画像のカスタム保存場所。 | /home/user/.markdown_images |
g:mkdp_filetypes |
MarkdownPreviewコマンドが有効なファイルタイプ。 | ['markdown'] |
g:mkdp_theme |
デフォルトのテーマ ('dark' または 'light')。 |
'dark' |
g:mkdp_combine_preview |
プレビューウィンドウを結合し、以前開いたウィンドウを再利用するか。 | 0 |
g:mkdp_combine_preview_auto_refresh |
g:mkdp_combine_previewが有効な場合、Markdownバッファ変更時に結合されたプレビューコンテンツを自動で再取得するか。 |
1 |
その他、多数のオプションが利用可能です。詳細は公式ドキュメントを参照してください。[1]
Sources:
[1] markdown-preview.nvim/README.md at master · iamcco/markdown ... (https://github.com/iamcco/markdown-preview.nvim/blob/master/README.md)