我将当前缓冲区管道传输到外部命令时出现问题。提出的类似问题无法解决问题。
我想将缓冲区的内容视为字符串,只需将其作为参数传递,其中%s是我文件的内容:
:!thunderbird.exe -compose body=%s
使用%w !{cmd}
的常用方法在这里不起作用,因为thunderbird没有从STDIN读取,如果这个假设是错误的,请纠正我。 (Piping buffer to external command in Vim)
如何将缓冲区内容作为字符串发送到外部命令?
答案 0 :(得分:0)
将整个文件的内容复制到ex命令将很困难,因为您需要转义文本。作为替代方案,我建议创建一个函数将文件的内容复制到剪贴板,然后打开一个新的电子邮件,只需将内容粘贴到正文中。
function! Send()
:%yank +
:silent !thunderbird.exe -compose
:redraw!
endfunction
nnoremap <leader>s :call Send()<cr>