[英]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
最后,使用“替换”模式粘贴“前Preamble
: R Ctrl + r “
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.