如何在 Vim 中让 shell 命令读取 Vim 变量值?

实现这个快捷键的功能可以简单地:
:%!markdown %:p > %:p:r.html
不想让命令输出替换文件内容的话可以
:read!markdown %:p > %:p:r.html

而在 shell 命令中直接使用 Vim 变量值似乎是不可能的,不过有一个思路:
let filename = expand('%p')
let target_filename = expand('%:p:r').'.html'
system("markdown " . shellescape(filename) . " > " . shellescape(targetfilename) )
参见
vimdoc.sourceforge.net/
原发布于 https://www.zhihu.com/question/20515333/answer/15349524