问题描述
我想在Vim的寄存器中添加一些单词。但是,我不想在没有分隔符的情况下附加单词,而是在单词之间添加“-”。
我正在记录一个宏以查找单词并将其附加到特定的寄存器中,这很容易做到,但是当我将单词添加到单词时,我不知道如何告诉vim如何在每个单词之后附加文本分隔符注册。
有人有什么主意吗?
qa-开始录制宏a
谢谢。
解决方法
您将必须执行以下操作:
:let @z .= '-'
在下一个"Zyiw
之前。
这可以通过自定义映射自动完成:
nnoremap <key> :let @z .= '-' + expand('<cword>')
参考:
:help :let-@
:help expand()
:help <cword>
由于我们正在执行vimscript,因此通常建议使用:help setreg()
和:help getreg()
操作寄存器,以便我们可以采用几乎完全编程的解决方案:
nnoremap <key> :call setreg('Z','-' . expand('<cword>'))