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?


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.


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.


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 .


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.