Я использовал немного другой подход для этого. Вместо того чтобы убедиться, что функция подсчета слов работает особенно быстро, я вызываю ее только тогда, когда курсор перестает двигаться. Эти команды сделают это:
:au CursorHold * exe "normal g\<c-g>"
:au CursorHoldI * exe "normal g\<c-g>"
Возможно, не совсем то, что хотел спрашивающий, но гораздо проще, чем некоторые ответы здесь, и достаточно хорошо для моего варианта использования (взгляните вниз, чтобы увидеть количество слов после ввода предложения или двух).
Установка updatetime
на меньшее значение также помогает здесь:
set updatetime=300
Не существует большого опроса для подсчета слов, потому что CursorHold
и CursorHoldI
только запускают один раз , когда курсор перестает двигаться, не каждые updatetime
мс.