gpt4 book ai didi

vim - 打字时如何计算字符数?

转载 作者:行者123 更新时间:2023-12-02 04:56:28 25 4
gpt4 key购买 nike

我经常使用 VIM 在报纸或博客网站上写评论。

通常有最大字符数限制。

如何创建一个计数器(例如在状态栏中)以在键入时查看我键入的字符(包括空格)?

最佳答案

'statusline' 设置允许使用 %{...} 特殊项计算表达式。

因此,如果我们能想出一个表达式来返回当前缓冲区中的字符数(而不是字节数!),我们就可以将它合并到我们的状态行中来解决问题。

这个命令是这样做的:

:set statusline+=\ %{strwidth(join(getline(1,'$'),'\ '))}

对于带有 CJK characters 的文本strwidth() 不够好,因为它返回显示单元格计数,而不是字符计数。如果双角字符是要求的一部分,请改用此改进版本:

:set statusline+=\ %{strlen(substitute(join(getline(1,'$'),'.'),'.','.','g'))}

但请注意,对缓冲区的每一次更改都会对表达式求值。

参见 :h 'statusline' .


周日下午福利——光标下的字符位置也可以打包成一个表达式。不适合胆小的人:

:set statusline+=\ %{strlen(substitute(join(add(getline(1,line('.')-1),strpart(getline('.'),0,col('.')-1)),'.'),'.','.','g'))+1}

关于vim - 打字时如何计算字符数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17906912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com