読者です 読者をやめる 読者になる 読者になる

Re: previmでプレビューのタイミングがよりリアルタイムになったりcssを定義できるようにした

vim

前回の更新 で問題がいくつか報告されました。

それを受けて考え直し、以下のように仕様を変えました。

デフォルトではリアルタイムにプレビューしない

保存時のみプレビューを更新します。
これまでと同じです。
挿入モードを抜けてもプレビューは更新されません。

リアルタイムにする場合はg:previm_enable_realtimeを1にする

前回の記事では以下のように説明しました。

  • g:previm_enable_realtime はデフォルトで1
  • リアルタイムプレビューを無効にしたければ明示的に0を設定すること

今回の修正で以下のようになりました。

  • g:previm_enable_realtime はデフォルトで0
  • リアルタイムプレビューを有効にしたければ明示的に1を設定すること

おまけ

あと前回の修正ではプラグイン側でupdatetimeを変えていました。
リアルタイムを有効にした場合、updatetimeに依存して更新されるためです。
updatetimeはVimのデフォルトで4000(4秒)です。
updatetimeを小さく設定しているユーザーなら問題ないのですが、今回の用途ではちょっと遅いなあと思っていました。

ただ「ユーザー側でupdatetime変えればいいだけか」と考え、書き換えるのを辞めました。

例えばこんな設定でリアルタイムプレビューの間隔を早められる(はず)。
関数に切り出してtry-catchしてってのがお行儀良いのだろうか。
その辺りは良く分かっていない。

" .vimrcに書く。この例では.markdownの場合のみ
augroup Markdown
  autocmd!
  autocmd BufEnter *.markdown let s:updatetime_origin = &updatetime | let &updatetime = 100
  autocmd BufLeave *.markdown let &updatetime = get(s:, 'updatetime_origin', &updatetime)
augroup END