繁体   English   中英

Vim中的Yank列号

[英]Yank column number in Vim

我希望能够通过制作一个宏轻松地在vim中制作漂亮的代码标题 我希望他们喜欢这样的东西:

################################################################################
### Preamble                                                                 ###
################################################################################

为了使这些,我想从以下一行开始:

Preamble

然后,宏将使周围的哈希和空格。 为此,我需要以某种方式提取标题中字符的数字。 因此,在序言的情况下; 我想将8的长度复制到某个寄存器中。

任何想法如何做到这一点?

我不推荐这种样式,因为它的维护需要付出更多的努力(并且不是每个人都在使用像Vim这样的强大编辑器,或者没有您的宏),但是您可以使用strdisplaywidth()函数来做到这一点:

:echo strdisplaywidth(getline('.'))

较旧的Vim版本没有此功能。 strlen()是仅处理普通ASCII字母的替换。

哦,在您询问之前,您可以使用repeat('#', num)创建标题行

正如@FDinoff所说,我将使用“替换”模式粘贴而不是计算长度。 首先,将以下行添加到一个寄存器中,例如t寄存器: t y y

###                                                                          ###

接下来,抓住没有结束线的Preamble行: 0 v g _ d

然后,将我们的行从t粘贴到适当的位置: t P 4 l

最后,使用“替换”模式粘贴“前PreambleR Ctrl + r

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM