在 Zathura 中打开历史记录中的文件

在 Zathura 中打开历史记录中的文件

使用内置命令可以实现这一点吗? AFAIK,事实并非如此,所以我尝试定义一个使用execZathura 命令来实现此目的的映射。在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\""

相关内容