Unicode 为什么col()返回字节,而不是列

Unicode 为什么col()返回字节,而不是列,unicode,vim,Unicode,Vim,在编辑Unicode文本时,我意识到Vim函数col('.')返回行中的当前字节位置,而不是字符或列。因此,此代码无法正常工作: let cur_column = col('.') ... execute "normal! " . cur_column . '|' 每次我在非ASCII线上时,都会将光标移到错误的前进位置 我正在使用插件,它在statusline中显示光标位置,还有字节位置,而不是字符。但在没有任何插件的vim上,它显示了行、字节字符,因此我认为有可能获得正确的信息。您可以使用

在编辑Unicode文本时,我意识到Vim函数
col('.')
返回行中的当前字节位置,而不是字符或列。因此,此代码无法正常工作:

let cur_column = col('.')
...
execute "normal! " . cur_column . '|'
每次我在非ASCII线上时,都会将光标移到错误的前进位置


我正在使用插件,它在statusline中显示光标位置,还有字节位置,而不是字符。但在没有任何插件的vim上,它显示了行、字节字符,因此我认为有可能获得正确的信息。

您可以使用另一个功能:

virtcol('.')

这是光标的屏幕列。

谢谢。这就是我要找的。