Fast word count function in Vim

后端 未结 16 2069
后悔当初
后悔当初 2020-12-08 00:27

I am trying to display a live word count in the vim statusline. I do this by setting my status line in my .vimrc and inserting a function into it. The idea of this function

16条回答
  •  星月不相逢
    2020-12-08 01:27

    Here's a usable version of Rodrigo Queiro's idea. It doesn't change the status bar, and it restores the statusmsg variable.

    function WordCount()
      let s:old_status = v:statusmsg
      exe "silent normal g\"
      let s:word_count = str2nr(split(v:statusmsg)[11])
      let v:statusmsg = s:old_status
      return s:word_count
    endfunction
    

    This seems to be fast enough to include directly in the status line, e.g.:

    :set statusline=wc:%{WordCount()}
    

提交回复
热议问题