如何使用 vi 或 Vim 获取字符数

问题描述 投票:0回答:3

如何使用 vi 从文本文件中获取字符位置计数?

我试过“:goto number”,但它在 Linux 中不起作用。

为了澄清我的问题,如果我有一个包含三行的文件:

I am going for a walk
because today is a
beautiful day.

我想,比如说,在位置 30 找到一个字母,它会跳到第 2 行,突出显示单词“today”中的字母“t”。这类似于 macOS vi 中的

:goto 30
概念,但适用于 Linux。

vim count character vi
3个回答
32
投票

使用G, Ctrl + G

输出看起来像

Col 1 of 5; Line 1 of 31; Word 1 of 48; Byte 1 of 571 

Col 1 of 5;
指的是光标在你所在的
line
上的位置

Line 1 of 31;
指的是您当前光标所在的行

Byte 1 of 571
指的是你在上的字符(字节 1)与 total 字节,或文件中的“字符”(571)

这应该是你需要的:

:go30

此外,我希望您想到“字符”并使用术语“字节”。这将使您未来关于

vim
的谷歌搜索更有成果。

这是它在命令行中的样子:

在以后的版本中,这个命令返回:

Col 1 of 5; Line 1 of 31; Word 1 of 48; Char 1 of 570; Byte 1 of 571 


4
投票

只计算文件的一部分(如果需要,也可以计算整个文件)中的字符数。 首先可视化您要计数的区域。

  1. v可视化一个段落}
  2. 使用 ggVG 可视化整个文件

然后输入

:%s/\%V./&/g

我需要这个来计算我的 Twitter 帖子(280 个字符限制)。


-2
投票

我找到了解决问题的方法。看起来我的系统上安装了“vi”和“vim”。默认情况下,我使用“vi”编辑文件,

:goto 30
不起作用。经过一番挖掘后,我发现'vi'是
vim-minimal
包的一部分。而'vim'是
vim-enhanced
包的一部分。当我尝试使用“vim”而不是“vi”时,
:goto 30
成功了!所以看起来它肯定是包相关的。感谢 Zak,指出了正确的方向并感谢所有人的帮助。

© www.soinside.com 2019 - 2024. All rights reserved.