VimでAsciiDocを確認しながら編集を行う設定方法

AsciiDocとは

軽量マークアップ言語の一つ。
記法などの紹介は他のサイトで沢山書いてくれているので割愛。

Asciidoctor 文法クイックリファレンス(日本語訳)
Markdownでかけなかったアレ、Asciidocならこうかけますよ。 #Markdown - Qiita

先輩が利用していて、以下が非常に良いなと思い、Markdownから変更することを思案中。

  • Markdownで小回りが利かない部分なども対応(してそう)
  • マーカー機能やnoteなどのアイコンなどビジュアライズ機能がデフォルト装備
  • (出力系に左右されるところはあるが)出力後のHTMLが綺麗
  • 拡張機能を用いればUMLや図などを記述、組込が楽

Vimで設定方法

VSCodeを利用すれば楽に使えるが、Vimに出戻りしてきたので、Vim for Windowsで設定を行う。

(設定方法)
1. QuickRunやPreVimを導入する
自身は以前MarkdownVim + Chromeを用いて表示する環境を構築済なので不要
Vim8系でMarkdownを確認しながら編集を行う設定(Windows編) - 雑記帳

2. AsciiDocの出力設定を行う
PreVimがAsciiDocを出力する機構が存在するため、1.の作業後に以下をgvimrcに追記すれば、環境構築完了(※1)

" 拡張子とファイルタイプの関連付け
autocmd BufNewFile,BufRead *.{asciidoc,adoc,asc} set filetype=asciidoc

" quickrunでasciidocを閲覧する場合にPrevimOpenを起動させる様に関連づけ
let g:quickrun_config = {
    \ 'asciidoc': {
    \   'runner': 'shell',
    \   'outputter': 'null',
    \   'command': ':PrevimOpen',
    \   'exec': '%c',
    \ },
    \ }

※1
let g:quickrun_config を既に定義している場合は、マージする必要有
複数定義するともれなく定義したどちらかのQuickRunが失敗します。。。

注意点

PreVimがAsciiDocの出力にそこまで力入れていないためか、この設定ではいくつか未対応部分有

  • 第一段落より上位に記載した内容が反応しない(:authorや:revdateなど)
  • noteなどといった一部がそのまま出力される
  • PlantUMLなどに関しても当然非対応なのでそのまま出力される

→私は色々設定するのが面倒なので重たくなるのが嫌なので、見せる場合などの綺麗にしたい場合は以下で出力する事にしました。
(AsciiDoc Tiny Editor)
AsciiDoc Tiny Editor
本当に使い込むのであれば、AsciiDoctorなどインストールして、ローカルで出力できるようにするのがベストだと思いますが、まだMarkdownから乗り換えるか分からないので。。