スペースを入れなくても改行をしてくれるMarkdownもあるが、本来のMarkdownは改行をするには文末にスペース2つを入れる必要がある。
でもスペースをいれるのは面倒なので、スペースをいれないで書いて、変換が必要なときにPandocを使ってスペースを入れる。
こんな感じのコマンドでおk。
$ pandoc -f markdown+hard_line_breaks -t markdown_strict --wrap=none hoge.md -o hoge.md
このコマンドに意味は
改行を改行とする形式のMarkdown(Markdown+hard_line_breaks)で書かれたhoge.mdの内容を、自動で折り返すオプション無し(--wrap=none
)てhoge.mdに出力する(-o)
である。
PandocではMarkdownの拡張を追加したい時に+
で指定する。+hard_line_breaks
は段落のすべての改行を改行として解釈する拡張。
--wrap=node
はお好みで。
詳しい拡張についてはPandoc ユーザーズガイド 日本語版のPandocによる拡張Markdown参照。
Vimから使うなら
:%!pandoc -f markdown+hard_line_breaks -t markdown_strict --wrap=none
こんな感じで。commandを定義してもよい。
command! -range=% MarkdownStrict :<line1>,<line2>!pandoc -f markdown+hard_line_breaks -t markdown_strict --wrap=none
範囲を指定せずに
:MarkdownStrict
でファイル全体を、visual modeなどで範囲指定して
:'<,'>MarkdownStrict
で、指定した範囲を変換する。