我正在使用名为lilypond
的音乐符号软件。它能够
将它自己的类似文本的符号标记语言编译成各种格式,
其中png
档。
lilypond
附带的另一个命令是它的伴侣
lilypond-book
,它将编译包含<lilypond>
标记的任何文档,
并把这个地方的代码片段放在这个地方:
<p>
<a href="10/lily-9f8f7b5d.ly">
<img align="middle" border="0" src="10/lily-9f8f7b5d.png"
alt="[image of music]">
</a>
</p>
所以我的愿望,作为VIM
的忠实粉丝,就是使用它的过滤功能和
自动化这种工作,例如当我在这样的文档中时
之一:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>html-with-notation</title>
</head>
<body>
This is some text, before including lilypond notation file
And here is the melody:
<lilypondfile>andantino.ly</lilypondfile>/* <-- TAG THAT WILL BE RECOGNIZED BY LILYPOND-BOOK */
Enjoy!
</body>
</html>
..我想用生成的输出替换<lilypond>
标记
来自lilypond-book
命令。但事情并非那么简单,因为lilypond-book
不会写入stdout
,而是写入名为stdin.html
的文件。 (它命名它
自动这样,认识到输入来自那里)
所以在运行时:
:.!lilypond-book -f html - 2>/dev/null
// ( with errors redirected to `/dev/null` to prevent polluting my buffer with messages being output.)
我没有得到任何回报,这当然是预料之中的,因为所有输出都已归结为文件。
在完成所有处理后,我现在如何回读stdin.html
文件
从lilypond-book
部分到我当前的那条线,在我的vim中
缓冲?当然,一气呵成,无需手动:r stdin.html
。
另外作为奖励,是否可以在将stdin.html读入缓冲区之前,使用pandoc
处理它以将其转换为markdown
,如果我正在处理{ {1}}档案?
答案 0 :(得分:1)
你可以说
:.!lilypond-book -f html - 2>/dev/null && cat stdin.html