LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 978|回复: 7

如何将选取的文本或复制了的文本传递给程序?

[复制链接]
发表于 2007-4-8 07:42:34 | 显示全部楼层 |阅读模式
如题,我想将选取或复制的文本传给sdcv,这样就实现了鼠标取词了;p
发表于 2007-4-8 16:18:16 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2007-4-9 09:03:19 | 显示全部楼层
好东西,早就想要了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-9 19:54:39 | 显示全部楼层
是好东东!
可是不知如何传递给sdcv,因为它是CLI程序,在X下我是用urxvtc -e sdcv来激活的,试了
xclip -o | urxvt -e sdcv;
urxvt -e `xclip -o | sdcv`等等,好多方法都不行,哪们教教我如何实现呢?
多谢!
回复 支持 反对

使用道具 举报

发表于 2007-4-9 20:25:28 | 显示全部楼层
urxvt -e "xclip -o | sdcv" 应该是可以的,执行完之后urxvt就退出了,所以窗口一闪就没了。

你需要的是在后面再加一句不让urxvt退出的话,或许urxvt本身有这个参数。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-9 21:08:09 | 显示全部楼层
-hold就是这个功能,试过不行:urxvt: unable to exec child.
回复 支持 反对

使用道具 举报

发表于 2007-4-9 22:55:45 | 显示全部楼层
pipeline and back quote are features of shell, they are not understood by the -e instruction (you're invoking a raw command, not a shell)

instead, write up a shell script and put it in your path, e.g.,
~/bin/tmp.sh:
#!/bin/sh
xclip -o | sdcv | more

then urxvt -e tmp.sh
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-10 08:13:26 | 显示全部楼层
Post by galilette
pipeline and back quote are features of shell, they are not understood by the -e instruction (you're invoking a raw command, not a shell)

instead, write up a shell script and put it in your path, e.g.,
~/bin/tmp.sh:
#!/bin/sh
xclip -o | sdcv | more

then urxvt -e tmp.sh


多谢,我已从你的提示采用了:urxvt -e sh -c "xclip -o | sdcv | less"
非常管用呵呵,现在是真正的用sdcv实现了鼠标取词了;p
great!

可惜这样子似乎不支持中文,也不知还有什么解决方法呢?
看了看,好像主要是xclip不支持中文的原因 T_T
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表