Closed osyo-manga closed 9 years ago
あーこれって gvimですかね. こちらではCUIだとちらつかない気がする
再現したのは GUI 版です。 (Vim 本体を更新したら再現するように鳴った気がしないでもない by 7.4.540
いい加減これをどうにかしたい
原因究明したさですね...
これ、真面目に調べてみたんですが原因がやっとわかりました。
:digraphs
をキャプチャしようとすると何故か画面が再描画されるようです。
" このコードを :so % すると一瞬画面がちらつく
function! s:capture(cmd)
let verbose_save = &verbose
let &verbose = 0
try
redir => result
execute "silent!" a:cmd
redir END
finally
let &verbose = verbose_save
endtry
return result
endfunction
call s:capture(":digraphs")
今のところ不明。
出力が多いのが原因かと思ったんですが、同じく出力が多い :function
や :map
では再現しませんでした。
とりあえず、消極的な解決方法としては Modules.Digraphs
を disconnect()
しておくぐらいでしょうか…。
他の方に確認してもらったのですが Windows Vim 7.3.1314 だとちらつかなかったようです。
再現環境まとめました。Windows だと再現しないぽい感じです
と、思ったら手元の Windows Vim 7.4.475 で再現してしまった…。
おおー原因究明めでたい :tada: ただ手元のlinuxではcui/guiともに上記のcaptureのコードでは再現しませんでした...
解決方法としてはこれも消極的ではありますが,起動時にcaptureするのではなく, <C-k>
を押した時に初めてcaptureするのが筋がいいかなと思います
:so %
では再現しませんが, vital-over使用時にちらついてるのはgvimでは再現してたのでPRしましたっ
ただ手元のlinuxではcui/guiともに上記のcaptureのコードでは再現しませんでした... :so %では再現しませんが,
むむむ…。上記の再現スクリプトだとまだ不十分なのかな…。 とりあえず、解決はしたぽいので閉じます。 ありがとうございました。
解決便利 :tada:
どうにかしたい。
確認環境
ちらつく
ちらつかない