zathura: Como adiciono um keybind para exec?

11

zathuraé o meu leitor de PDF padrão. Alguns arquivos causam problemas e, nesses casos, corro

:exec acroread $FILE

que abre automaticamente o mesmo arquivo com o Acrobat Reader.

Como adiciono um atalho de chave ao arquivo de configuração do zathura ( ~/.config/zathura/zathurarc) para fazer isso?

Felix Bou
fonte
1
O @FelixBou $FILEé a única substring tratada especialmente. (Está aqui na fonte ) .
Anko

Respostas:

8

Recentemente, encontrei um problema semelhante e, para referência futura, aqui está uma solução alternativa:

map <C-o> focus_inputbar ":exec acroread $FILE"

Isso mapeará ctrl + o (ou qualquer que seja a sua chave) para abrir a barra de entrada com a qual você normalmente abriria: e insira o texto. Você pode pressionar Enter para iniciar o comando. Isso está longe de ser o ideal e ainda exige o pressionamento de duas teclas, mas certamente mais rápido do que escrever todo o comando manualmente.

CarloDePieri
fonte
Existe algo como $ FILE ou% no zathura que traz de volta o diretório (não o nome do arquivo)?
SdidS
O @SdidS não é do meu conhecimento, mas a documentação do zathura está faltando (eles também têm um problema em aberto sobre isso aqui: gitlab ). Enfim: tudo o que é executado após exec é executado pelo zathura, então você provavelmente pode tentar passar o nome do arquivo para um script que extrairá a pasta do $ FILE e fará o que você precisa. Se você precisar de algo mais específico, sugiro tentar abrir um problema no gitlab vinculado acima.
CarloDePieri
@CarloDePieriObrigado, pedi aqui e veio com a mesma solução que você disse.
SdidS
6

Uma ligeira melhora na resposta oferecida por CarloDePieri pode ser a seguinte:

map <C-o> feedkeys ":exec acroread $FILE<Return>"

Isso evita o segundo pressionamento de tecla.

Graham Leach-Krouse
fonte
3

Concordo que seria seriamente útil, mas atualmente você não pode fazer isso.

No código fonte, o exec mapeamento de comandos da barra de entrada está aquiconfig.c . No entanto, os mapeamentos de atalho (começando aqui ) que parecem definir quais funções podem ser consultadas nas configurações não são mencionados exec. O código ainda não está estruturado para misturar facilmente as funções "comando" e "atalho" ...

Os desenvolvedores têm uma página com métodos para contatá-los .

Anko
fonte
0

Enquanto tentava criar um mapeamento que colocasse o caminho do PDF atual na área de transferência do sistema, percebi que era necessário agrupar todo o comando em bash -c "...":

map y focus_inputbar ":exec bash -c \"echo \\\"$FILE\\\" | xclip -selection c\""

Caso contrário, o comando não fará nada.

Matthias Braun
fonte