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