我可以从0开始有vi编号行吗?

时间:2014-03-12 17:35:24

标签: editor vi

我经常使用vi命令

:set number

我最近试图将一些基于零的索引的数据与vim中的行号对齐,后者具有基于1的索引。有没有办法让vi从0开始编号,或者更广泛地从任何其他起点编号?

1 个答案:

答案 0 :(得分:0)

@David的评论让我最终找到了这个链接:Add line numbers to source code in vim

就我的目的而言,我所需要的不一定是持久编号,而只是一个临时编号。快速插入/删除行号,然后采用标准编号。对于这种情况,我没想过简单地插入然后删除我自己的行编号。以下效果很好。编号的可能性是无穷无尽的(参见例如https://stackoverflow.com/a/252774/2816571

%!awk '{print NR,$0}'

对于添加数字的本地vi解决方案(从https://stackoverflow.com/a/253041/2816571),下面将插入行号,然后插入空格字符:

:%s/^/\=line('.').' '/

然后(感谢Lance)https://stackoverflow.com/a/4674574/2816571完成编号后,执行类似的操作,但您可能需要调整搜索模式,具体取决于您是否放置空格,逗号分隔符

:%s/^[0-9]* //

如果我在vim内部遗漏了一些可以执行持续0编号的内容,请告诉我。