vim(gVim)统计字节、字符数

本文介绍如何使用Vim进行字节、字符及单词数的统计,包括当前字符前后、整个文件的统计方法,并提供了实用的Vim命令。

转载:http://www.vimer.cn/2011/11/vimgvim%E7%BB%9F%E8%AE%A1%E5%AD%97%E8%8A%82%E3%80%81%E5%AD%97%E7%AC%A6%E6%95%B0.html


前段时间在做文件扫描的时候,有一些关于字节、字符数统计的需求,考虑到有同学也可能用的到,所以整理一下记录在这里。

1.统计当前字符之前的所有字节数

1
command! -nargs=0 CountBytesBack        :normal mxvgg"ay`x:echo strlen(@a)<CR>

2.统计当前字符之后的所有字节数

1
command! -nargs=0 CountBytesForward     :normal mxv$G"ay`x:echo strlen(@a)<CR>

3.统计当前文件所有字节数

1
command! -nargs=0 CountBytesAll         :normal mxggVG"ay`x:echo strlen(@a)<CR>

4.统计当前文件所有字符数

1
command! -nargs=0 CountCharsAll         :%s/./&/gn|noh

5.统计当前文件所有单词数

1
command! -nargs=0 CountWordsAll         :%s/\i\+/&/gn|noh

统计当前字符前、后的字符数,暂时没有比较好的实现,因为vim的s命令都是基于行的,如果有朋友有解决方案,欢迎不吝告知~~多谢~

感谢依云的帮助,vim确实已经帮忙考虑到了这一点,具体方法如下:

  1. 选择需要统计的文本
  2. 按下 g<C-g>

即会显示需要的统计信息。如果想到对信息进行解析,可以通过:redir命令传到变量中

下载后将文件放置到Gvim 安装路径下的\vimfiles\plugin文件夹里, 例如:C:\Program Files (x86)\Vim\vimfiles\plugin 语法 FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/F:file][/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]strings [[drive:][path]filename[ ...]] 参数 /B 在一行的开始配对模式。 /E 在一行的结尾配对模式。 /L 按字使用搜索字符串。 /R 将搜索字符串作为一般表达式使用。 /S 在当前目录和所有子目录中搜索匹配文件。 /I 指定搜索不分大小写。 /X 打印完全匹配的行。 /V 只打印不包含匹配的行。 /N 在匹配的每行前打印行数。 /M 如果文件含有匹配项,只打印其文件名。 /O 在每个匹配行前打印字符偏移量。 /P 忽略有不可打印字符的文件。 /OFF[LINE] 不跳过带有脱机属性集的文件。 /A:attr 指定有十六进位数字的颜色属性。请见 "color /?" /F:file 从指定文件文件列表 (/ 代表控制台)。 /C:string 使用指定字符串作为文字搜索字符串。 /G:file 从指定的文件获得搜索字符串。 (/ 代表控制台)。 /D:dir 查找以分号为分隔符的目录列表 strings 要查找的文字。 [drive:][path]filename 指定要查找的文件。除非参数有 /C 前缀,请使用空格隔开搜索字符串。 例如: 'FINDSTR "hello there" x.y' 在文件 x.y 中寻找 "hello" 或"there" 。 'FINDSTR /C:"hello there" x.y' 文件 x.y 寻找"hello there"。 一般表达式的快速参考: . 通配符: 任何字符 * 重复: 以前字符或类别出现零或零以上次数 ^ 行位置: 行的开始 $ 行位置: 行的终点 [class] 字符类别: 任何在字符集中的字符 [^class] 补字符类别: 任何不在字符集中的字符 [x-y] 范围: 在指定范围内的任何字符 \x Escape: 元字符 x 的文字用法 \<xyz 字位置: 字的开始 xyz\> 字位置: 字的结束 有关 FINDSTR 常见表达法的详细情况,请见联机命令参考。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值