Vim でタイマーを一時停止する

気がついたら Vim 7.4.2180 で timer_pause() なるものが追加されていました。 これは、任意の Timer を一時停止たり再開したりすることが出来ます。

" 一時停止
call timer_pause(timer, 1)

" 再開
call timer_pause(timer, 0)

[ストップウォッチ]

と、言うことで簡単なストップウォッチをつくってみた

function! Start()
    let counter = 0
    let timer = timer_start(1000, { -> [execute("let counter += 1 | echo counter", ""), counter]}, { "repeat" : -1 })

    function! Pause() closure
        call timer_pause(timer, 1)
    endfunction

    function! Restart() closure
        call timer_pause(timer, 0)
    endfunction
endfunction

Vim script 進化しまくり。