vim 将当前行转换为 figlet 的宏

vim macro to convert current line to figlet

我写了一个宏来测试在一行中调用它以将其转换为 figlet (text ascii-art 版本)

我尝试解决类似

的问题
let @q='"add:r! figlet <c-r>a^M'

let @q='"add:r! figlet ^Ra^M'

等等来自 :help 宏的建议

我只是找不到合适的语法

当我 运行 它在会话中手动运行时它可以工作,所以我猜问题只是语法问题

a
toto
<esc>
qq
"add
:r! figlet ^Ra^M
q
k
@q

然后得到

| |_ ___ | |_ ___                                                                                                                                                                                                                             
| __/ _ \| __/ _ \                                                                                                                                                                                                                            
| || (_) | || (_) |                                                                                                                                                                                                                           
 \__\___/ \__\___/

这是我需要写成宏的类似结果

你的宏太复杂了。

与其删除和插入舞蹈,不如直接使用:help :range!来过滤当前行:

:.!figlet<CR>

这极大地简化了您的宏:

:let @q = ":.!figlet\<CR>"