如何根据字节偏移而不是行和列显示标尺中的当前光标位置? (后续问题:可以同时显示十进制和十六进制吗?)
#1 楼
:goto 2356
跳转到缓冲区中的第2356个字节。
使用
%o
或'statusline'
中的'rulerformat'
字段显示光标下字符的字节数。使用
%O
以十六进制格式显示值。参考:
:help :goto
:help 'statusline'
:help 'rulerformat'
#2 楼
要显示字节位置,可以使用以下命令:echo line2byte(line("."))+col(".")-1
请参阅问题:获取vim中当前缓冲区的偏移量
评论
Vivian De Smedt可能在行尾忘记了()。让我猜想他的意思是:echo(eval(line2byte(line(“。”))+ col(“。”)-1))
– Sam Cenzored
20 Dec 9'在8:55
我宁愿建议使用:echo eval(line2byte(line(“。”))+ col(“。”)-1)(例如,删除第一个括号)
–克里斯蒂安·布拉班德(Christian Brabandt)
20 Dec 9'在9:16
@SamCenzored我已经将您的答案转换为评论,因为您似乎正在澄清一个帖子(请参阅vi.stackexchange.com/help/privileges/comment)。欢迎来到Vi和Vim!
– D. Ben Knoble♦
20 Dec 9'在17:38