OctopressのCodeblockの構文が結構気持ち悪い感じです。
{% raw %} {% codeblock lang:<lang> %} <content> {% endcodeblock %} {% endraw %}
こんなのを毎回書いていられないので、Shougo/neosnippet.vimを使ってみました。 インストールや設定については公式のREADMEを参照。
markdown用のスニペットファイルを作成するには、以下のコマンドを実行します。(実際には適当なキーにマッピングしてます。)
:NeoSnippetEdit markdown
すると、スニペットフォルダにmarkdown.snipが作られるので、ここにスニペットを記述していきます。
今回は3つのスニペットを試しに加えてみました。
- シンプルなCodeblock
- ハイライト用のCodeblock
- ハイパーリンク
{% raw %} snippet codeblock abbr cb alias code cb options head {% codeblock %} ${1} {% endcodeblock %} snippet codeblocklang abbr cbl alias codel cbl options head {% codeblock lang:${1} %} ${2} {% endcodeblock %} snippet hyperlink abbr hl alias hl [${1:text}](${2:url}) {% endraw %}
- ${1}などとあるのは、スニペット展開時に
(公式設定コピペの場合)を押す度にカーソルが当たる場所です。
これでmarkdownファイルの編集時にcodeなどと入力すると、NeoComplCacheがスニペットを含む候補一覧を表示してくれます。
Octopressは他にも似たような構文があるので、よく使いそうなものからどんどん追加してこうかと思います。