在vim中编辑文件时如何计算文件中的单词数

Mic*_*ant 28 vim vi

我知道我可以wc用于在命令行计算字符、单词和文件行数

有什么办法可以在 vim 中计算单词数吗?

cha*_*aos 32

您可以vi使用vi自己的计数器来计算里面的单词和行数:

g然后CTRL- g。然后底线看起来像这样:

Col 1 of 11; Line 1 of 106; Word 1 of 344; Byte 1 of 2644
Run Code Online (Sandbox Code Playgroud)

或者使用vi的方法调用shell命令:

:w !wc -w
Run Code Online (Sandbox Code Playgroud)

这首先调用 save ( :w) 命令,然后wc -w显示输出。例子:

:w !wc -w
344

Press ENTER or type command to continue
Run Code Online (Sandbox Code Playgroud)

Enter返回vi


Ser*_*ndt 6

vim版本 7.4.1042开始

vim版本 7.4.1042 开始,可以简单地更改statusline如下:

set statusline+=%{wordcount().words}\ words
set laststatus=2    " enables the statusline.
Run Code Online (Sandbox Code Playgroud)

字数统计vim-airline

字数统计是由vim-airline多种文件类型提供的标准,在撰写本文时: asciidoc, help, mail, markdown, org, rst, tex ,text

如果字数统计未显示在 中vim-airline,则通常是由于无法识别的文件类型造成的。例如,至少目前,字数统计markdown.pandoc无法识别复合文件类型。通过修改以下内容vim-airline可以轻松解决此问题:.vimrc

let g:airline#extensions#wordcount#filetypes = '\vasciidoc|help|mail|markdown|markdown.pandoc|org|rst|tex|text'
set laststatus=2    " enables vim-airline.
Run Code Online (Sandbox Code Playgroud)

\v语句覆盖默认g:airline#extensions#wordcount#filetypes变量。最后一行确保vim-airline已启用。

如有疑问,&filetype发出以下命令后将返回打开的文件的 :

:echo &filetype
Run Code Online (Sandbox Code Playgroud)

这是一个元示例:

vim-航空公司字数统计