novel_preview.vim
usage.mp4
Vimの現在のバッファの中身をブラウザに縦書き1行40文字でプレビューします。
小説を縦書きでそれっぽくプレビューできるものが欲しかったのでdenopsでさくっと作りました。個人的な使用を目的として作られているので機能は超限定的ですし、正しく動くかはわかりません。 その分ソースコードも超単純(なはず)なので、わからないことがあったら読んでください。欲しい機能は言ってくれたら作るかもしれません。
なお、このプラグインはttrace氏のvscode日本語縦書き小説拡張に触発されています。これのプレビュー機能だけを取り出したVim版だと思ってくれればだいたい合っています。 実装においても大いに参考にしました。感謝します。
denoとdenops.vim
NovelPreviewStartServer
でlocalhost:8899に縦書きプレビューサーバーを起動します。
NovelPreviewSend
でサーバーに現在のバッファの内容とカーソルの位置を送信します。
例えば、
autocmd BufWrite,CursorMoved,TextChangedI <buffer> NovelPreviewSend
とすれば、文章を書き進めるたびにサーバーが更新されます。なお、NovelPreviewAutoSend
はこれを行います。
また例えば、小説を*.novel
という拡張子で保存するようにしている場合、
augroup novelPreview
autocmd!
autocmd BufWrite,CursorMoved,TextChangedI *.novel NovelPreviewSend
augroup END
とすれば、この拡張子のときは常にSendしてくれるようになります。