preservim/vim-markdown
プラグインのまとめ
機能概要
VimでMarkdownファイルを快適に扱うためのプラグイン。主な機能は以下の通りです。
- シンタックスハイライト: Markdownの構文を色付けして見やすくします。
- 折りたたみ: ヘッダー単位で文章を折りたたむことができます。
-
簡易表示 (Concealing):
*bold*
を bold のように、構文を隠して表示をすっきりさせます。 - キーマッピングとコマンド: ヘッダー間の移動や、目次の生成などが簡単に行えます。
インストール方法 (dein.vim)
dein.vim
を使用している場合、設定ファイル(.vimrc
や init.vim
、またはTOMLファイル)に以下を記述します。
依存プラグインについて
Markdownのテーブル(表)整形機能を利用するには、godlygeek/tabular
プラグインが別途必要です。vim-markdown
がこの機能を利用するためには、tabular
を先に読み込む必要があります。
Vim script (.vimrc, init.vim):
call dein#add('godlygeek/tabular')
call dein#add('preservim/vim-markdown')
TOMLファイル (dein.tomlなど):
[[plugins]]
repo = 'godlygeek/tabular'
[[plugins]]
repo = 'preservim/vim-markdown'
その後、Vimを再起動するか、:call dein#install()
を実行してプラグインをインストールしてください。
基本的な操作方法
自動で有効になる機能
-
シンタックスハイライト:
見出し、リスト、強調、コードブロックなどが自動的に色付けされ、視覚的に分かりやすくなります。 -
表示の簡易化 (Concealing):
ノーマルモードでは、*太字*
が太字で表示されたり、_イタリック_
がイタリックで表示されるなど、Markdownの記号が隠れて表示がスッキリします。挿入モードに入れば記号は再び表示されます。
見出し(ヘッダー)間の移動
ノーマルモードで以下のキーを入力すると、#
で始まる見出し行間を素早く移動できます。
-
]]
: 次の見出しに移動します。 -
[[
: 前の見出しに移動します。 -
][
: 次の同じレベルの見出しに移動します。(例:##
から次の##
へ移動) -
[]
: 前の同じレベルの見出しに移動します。
折りたたみ (Folding)
見出しを基準に、セクションを折りたたんだり展開したりできます。
-
za
: カーソル下の折りたたみをトグル(開く/閉じる)します。 -
zM
: すべての折りたたみを閉じます。 -
zR
: すべての折りたたみを開きます。 -
zo
: カーソル下の折りたたみを開きます。 -
zc
: カーソル下の折りたたみを閉じます。
目次の表示
コマンドを実行すると、現在のファイルの目次を生成して新しいウィンドウに表示します。目次内の項目にカーソルを合わせてEnterキーを押すと、対応する見出しにジャンプできます。
-
:Toc
: 垂直分割ウィンドウで目次を開きます。 -
:Toch
: 水平分割ウィンドウで目次を開きます。 -
:Toct
: 新しいタブで目次を開きます。
テーブルの整形 (要: godlygeek/tabular)
godlygeek/tabular
プラグインがインストールされている場合、テーブル(表)の内部で以下のコマンドを実行すると、|
の位置を基準に自動で整形できます。
:TableFormat
その他の便利な操作
-
リンクを開く: URLの上で
gx
と入力すると、Webブラウザでそのリンクを開きます。 -
見出しレベルの変更: 見出し行でノーマルモードのときに、
-
>>
: 見出しレベルを一つ下げます(例:##
→###
)。 -
<<
: 見出しレベルを一つ上げます(例:###
→##
)。
-
オプション変数
折りたたみ (Folding)
変数名 | 説明 | 規定値 | 設定例 |
---|---|---|---|
g:vim_markdown_folding_disabled |
1 に設定すると、折りたたみ機能を無効にします。 |
0 (無効) |
let g:vim_markdown_folding_disabled = 1 |
g:vim_markdown_folding_level |
ファイルを開いた際のデフォルトの展開レベル。 |
0 (すべて展開) |
let g:vim_markdown_folding_level = 1 |
g:vim_markdown_folding_style_pythonic |
1 に設定すると、折りたたみの表示スタイルがPython風になります。 |
0 (Vim標準) |
let g:vim_markdown_folding_style_pythonic = 1 |
表示の簡易化 (Concealing)
変数名 | 説明 | 規定値 | 設定例 |
---|---|---|---|
g:vim_markdown_conceal |
0 に設定すると、簡易表示機能を無効にします。 |
1 (有効) |
let g:vim_markdown_conceal = 0 |
g:vim_markdown_conceal_code_blocks |
0 に設定すると、コードブロックの記号を隠さなくなります。 |
g:vim_markdown_conceal の値に依存 |
let g:vim_markdown_conceal_code_blocks = 0 |
構文拡張 (Syntax Extensions)
変数名 | 説明 | 規定値 | 設定例 |
---|---|---|---|
g:vim_markdown_math |
1 に設定すると、LaTeX数式のハイライトを有効にします。 |
0 (無効) |
let g:vim_markdown_math = 1 |
g:vim_markdown_frontmatter |
1 に設定すると、YAML Front Matterのハイライトを有効にします。 |
0 (無効) |
let g:vim_markdown_frontmatter = 1 |
g:vim_markdown_toml_frontmatter |
1 に設定すると、TOML Front Matterのハイライトを有効にします。 |
0 (無効) |
let g:vim_markdown_toml_frontmatter = 1 |
g:vim_markdown_json_frontmatter |
1 に設定すると、JSON Front Matterのハイライトを有効にします。 |
0 (無効) |
let g:vim_markdown_json_frontmatter = 1 |
g:vim_markdown_strikethrough |
1 に設定すると、取り消し線構文のハイライトを有効にします。 |
0 (無効) |
let g:vim_markdown_strikethrough = 1 |
g:vim_markdown_fenced_languages |
コードブロックの言語指定をカスタマイズします。 | ['c++=cpp', 'viml=vim', 'bash=sh'] |
let g:vim_markdown_fenced_languages = ['ruby=rb'] |
キーマッピングとコマンド
変数名 | 説明 | 規定値 | 設定例 |
---|---|---|---|
g:vim_markdown_no_default_key_mappings |
1 に設定すると、デフォルトのキーマッピングを無効化します。 |
0 (無効) |
let g:vim_markdown_no_default_key_mappings = 1 |
g:vim_markdown_toc_autofit |
1 に設定すると、目次ウィンドウの幅を自動調整します。 |
0 (無効) |
let g:vim_markdown_toc_autofit = 1 |
補足
- 多くの機能は、パフォーマンスや他のプラグインとの競合を避けるため、デフォルトでは無効(
0
)になっています。必要なものだけを明示的に有効(1
)にして使うのが基本的なスタイルです。 -
g:vim_markdown_conceal_code_blocks
のように、他の変数の値に依存するものもあります。