字节偏移量不等于列偏移量unix文件

字节偏移量不等于列偏移量unix文件,unix,vim,byte,Unix,Vim,Byte,我想得到文件中字节偏移量不等于Unix中行的列偏移量的所有行。我怎样才能做到 请帮助,我找不到任何解决方案。因此,您希望列出字节数(表示字符)不等于屏幕列数的所有行(因此实际上是包含非ASCII字符或制表符的行) 在Vim中,这可以通过比较strlen()和strdisplaywidth()来实现,并使用:global进行迭代: :global/^/if strlen(getline('.')) != strdisplaywidth(getline('.')) | number | endif

我想得到文件中字节偏移量不等于Unix中行的列偏移量的所有行。我怎样才能做到


请帮助,我找不到任何解决方案。

因此,您希望列出字节数(表示字符)不等于屏幕列数的所有行(因此实际上是包含非ASCII字符或制表符的行)

在Vim中,这可以通过比较
strlen()
strdisplaywidth()
来实现,并使用
:global进行迭代:

:global/^/if strlen(getline('.')) != strdisplaywidth(getline('.')) | number | endif

不几个UTF8字符每个字节可以有一个字符是的,正如我所提到的,这些字符来自7位ASCII。这是否解决了您的问题?获取错误E117:未知函数:strdisplaywidth E15:无效表达式:strlen(getline('.'))!=strdisplaywidth(getline('.'))| number | endif您需要Vim 7.4(或相当新的7.3版本)来实现这一点。