我经常使用vi命令
:set number
我最近试图将一些基于零的索引的数据与vim中的行号对齐,后者具有基于1的索引.有没有办法让vi从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编号的内容,请告诉我.