Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

UbuntuのVimでPlantUMLをプレビューする

$
0
0

 VimのプラグインにPrevimというMarkDownプレビュー用のプラグインがある。それを改造してMarkDown中に書かれたPlantUMLのコードをプレビューするようにしたものを公開している@kazuphという人がいたので、それを参考にUbuntu上のVimでPlantUMLのプレビューができるようにしてみた。

筆者の環境

  • Ubuntu 16.04 LTS
  • Vim version 8.0.936 (常に最新)
  • PlantUML Version 1.2017.15
  • GraphViz version 2.38.0

GraphVizのインストール

 PlantUMLはGraphVizを利用しているらしいのでインストールする。Ubuntu 16.04のパッケージリポジトリには記事執筆時で最新の(Version 2.38.0)GraphVizが収録されているのでそれを使う。

sudo apt install graphviz

PlantUMLのインストール

 PlantUMLのインストールは以下の手順で行う。

  1. Ubuntu 16.04パッケージリポジトリからのPlantUMLのインストール
  2. 最新のplantuml.jarのダウンロード
  3. スクリプトplantumlの書き換え

の3つである。

Ubuntu 16.04パッケージリポジトリからのPlantUMLのインストール

 PlantUMLは、これもUbuntu 16.04のパッケージリポジトリに、パッケージplantumlが収録されているので、これをインストールする。するとPlantUML本体のjavaプログラムplantuml.jarやその他シェルスクリプト等がインストールされる。

sudo apt install pantuml

最新のplantuml.jarのダウンロード

 Ubuntu 16.04のパッケージリポジトリのplantumlパッケージには問題が1つあって、実はplantuml.jarのバージョンが古い。なので最新のplantuml.jarをダウンロードし、任意のディレクトリに置く。

スクリプトplantumlの書き換え

 先にapt installしたplantumlにはシェルスクリプトplantumlがバンドルされている。シェルスクリプトplantumlは

java -jar /usr/share/plantuml/plantuml.jar ${@}

を実行するだけのスクリプトなのだけど、当然のようにplantumlはパッケージリポジトリ由来のバージョンの古いplantuml.jarを使っている。これではまずいので

sudo vim /usr/bin/plantuml

を実行し

java -jar /foo/bar/plantuml.jar ${@}

と先ほどダウンロードした最新のplantuml.jarのパスに書き換える。

kazuph版Previmのインストール

 Previmは本来MarkDownをプレビューするためのVim Pluginだった。それを@kazuph氏が改造してPlantUMLのソースファイルをプレビューできるようにした。なので@kazuph氏版のPrevimをインストールする。

 @kazuph氏はVim Pluginの管理にNeoBundleを使っていらっしゃるようだけども、筆者はDeinを使っている。なのでPrevimのインストールには.vimrcに

call dein#add('kazuph/previm', {'rev': 'feature/add-plantuml-plugin'})

と書く。またopen-browser.vimを使う場合は.vimrcに

call dein#add('tyru/open-browser.vim')

も書く。あとは

:call dein#install()

を実行すれば良い。

kazuph版Previmの設定

@kazuph版Previmの設定はごくわずかで

nnoremap <silent><Space><Space>p :PrevimOpen<CR>

を.vimrcに書くだけで良い。これでスペースキーを2度押し、続けてpキーを押せばプレビューが実行される。もちろんコマンドラインで

:PrevimOpen

と打ち込んでもいい。

umlファイル作成上の注意点

 Previmでプレビューするumlファイルを書く上で注意しなければならない以下の点がある

  1. ソースファイルはPlantUMLのソースファイルではなくMarkDownファイルでなければならない。
  2. ソースファイルはMarkDown記法のコードのコードの挿入で記述しなければならない

ソースファイルはPlantUMLのソースファイルではなくMarkDownファイルでなければならない

 これはどういうことかというと、ソースファイルの拡張子はpuやuml、pumlではいけない、ということだ。拡張子はMarkDownのソースファイルの拡張子でなければならない。

 またその際、拡張子mdはMarkDownと認識されないので、


augroup PrevimSettings
    autocmd!
    autocmd BufNewFile,BufRead .{md,mdwn,mkd,mkdn,mark} set filetype=markdown
augroup END

と.vimrcに記述する。

ソースファイルはMarkDown記法のコードのコードの挿入で記述しなければならない

 これはどういうことかというと、以下ではだめで

@startuml
title シーケンス図
アリス -> ボブ: リクエスト
ボブ --> アリス: レスポンス
@enduml

以下のように書かねばならない。


```uml  

@startuml
title シーケンス図
アリス -> ボブ: リクエスト
ボブ --> アリス: レスポンス
@enduml  

```

Previmの実行

 ソースファイルが書けたらスペースを2回叩き、pキーを叩く。もしくは

:PrevimOpen

を実行しても良い。

 すると上の例のソースの場合、下図のようにブラウザにUML図が表示される。

UML図が表示されたブラウザ画面


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>