我正在尝试在vim上编辑文件。您可以下载txt文件here。
我按照blog的说明操作。我也在使用我在StackOverflow上阅读的内容。
首先,我在vim(命令模式)中执行了此操作:
:set textwidth=80
其次,我使用可视模式v
来选择文件中的所有行。我从第一行开始,按下G
(转到最后一行)。这使得所有文件都被选中了。
第三,重新格式化,我做了:
gq
好的,文字接近我想要的。但是,当我这样做时:
:echo max(map(range(1, line('$')), "col([v:val, '$'])")) - 1
输出结果为:
90
上面的命令显示了最长行的字符长度。输出应为80,而不是90!
我设置为文本换行的限制是:80
我犯了什么错误?如何将文本包装到80列?
本周我开始使用Vim。如果这个问题太天真,我很抱歉。
答案 0 :(得分:1)
您的文本宽度和重新格式化工作正常,但表达式<[ngClass]="{{perkResult.perk === perk.perk}} ? 'highlight' : 'none-hightlight' ">
实际上是计算&#34;字节索引&#34;每行末尾的列位置(不是字符位置)。有关<div class="col-xs-12">
<div class="col-xs-12 benefit-selection">
<ul class="benefits-dropdown-ul" *ngIf="perkList"> .
<a class="benefits-dropdown-div" *ngFor="let perkResult of perkList.results" (click)="onAddPerk(perkResult)">
//highlight here
<li class="benefits-dropdown-li">{{ perkResult.perk }}</li>
</a>
</ul>
</div>
</div>
<div class="col-xs-6 benefit-selected" *ngFor="let perk of company.perks; trackBy: customTrackBy; let i = inde
{{ perk.perk }}
</div>
工作原理所需的所有信息,请参阅col
。
相反,尝试使用像strchars这样的字符计数功能:
:help col
在你的示例文本中,我得到的输出为83,因为包装在空格上的工作方式计算为字符。为了解决这个问题,您可以使用类似col
的内容修剪尾随空格,现在我使用strchars上面的示例表达式会按预期返回80.
答案 1 :(得分:0)