我有以下bash脚本(play.bash):
#!/bin/bash
pico2wave -l=en-US -w=/tmp/test.wav "$1"
aplay /tmp/test.wav
rm /tmp/test.wav
我想用它来阅读vim编辑器中的所选文本。 以下不起作用
:'<,'>w !bash play.bash
命令执行,但我没有听到。
我只想在不离开vim窗口的情况下听到文字。
这可能吗?
答案 0 :(得分:3)
在vim中使用!
命令时,您的选择将通过标准输入传送到您的脚本,而不是作为命令行参数提供。
一个简单的解决方案是修改脚本,使其从标准输入读取:
xargs pico2wave -l=en-US -w=/tmp/test.wav
xargs
从标准输入读取,然后使用数据作为命令行参数调用pico2wave
,删除换行符。