![如何在寄存器重用中捕获 vim 宏](https://linux22.com/image/946246/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%AF%84%E5%AD%98%E5%99%A8%E9%87%8D%E7%94%A8%E4%B8%AD%E6%8D%95%E8%8E%B7%20vim%20%E5%AE%8F.png)
我需要记录或代码一个 vim 宏,它将当前行捕获到寄存器中,然后调用外部命令(如 figlet)使其成为标题形式。
就像是:
qp
"add
因此,这里我将文本放在名为“a”的寄存器中。然后我需要调用它:
:r! figlet ^Ra
然后在 .vimrc 中将其设为宏:
let @q='"add:r! figlet <c-r>a'
但随后将其插入add:r! figlet
为字符串失败。
答案1
我可能误解了你想要做什么。你似乎想在缓冲区中选择文本,输入命令,然后让 figlet 用其版本替换所选文本。
如果是这种情况,您不必将选定的文本放入寄存器中。只需:!figlet
完成这项工作即可。(我刚刚尝试过。有点酷。)