使用内置命令可以实现这一点吗? AFAIK,事实并非如此,所以我尝试定义一个使用exec
Zathura 命令来实现此目的的映射。在bash
,
cat ~/.local/share/zathura/history | grep -Po "\[\K[^\]]*" | dmenu | xargs zathura
exec
完成了这项工作,但在 Zathura 中使用该命令时我还没有设法使该命令正常工作。事实上,就像简单的事情
:exec ls | dmenu
ls | dmenu
即使我用引号括起来,也不起作用。因此,一个更普遍的问题是:如何从 Zathura 中使用管道运行命令?
答案1
#!/bin/sh
options='-columns 6 -width 100 -lines 15 -bw 2 -yoffset -2 -location 1'
selected=$(\
cat ~/.local/share/zathura/history | grep -Po '\[\K[^\]]*' \
| rofi -dmenu -i -markup-rows \
${options}
)
# exit if nothing is selected
[[ -z $selected ]] && exit
zathura "$selected"
exit 0
答案2
对我来说,最近的文件可以使用内置的“打开”命令。
尝试输入内容:open /
,然后按 Tab 键。它应该显示“最近的文件”
答案3
像这样的事情就可以了(几乎,因为<cr>
仍然需要按下才能执行):
map H feedkeys ":exec sh -c \"cat ~/.local/share/zathura/history | grep -Po '\[\K[^\]]*' | dmenu | xargs zathura\""