Затура: Как мне добавить связку клавиш для exec?

11

zathuraмой читатель PDF по умолчанию. Некоторые файлы вызывают проблемы, и в таких случаях я запускаю

:exec acroread $FILE

который автоматически открывает тот же файл с Acrobat Reader.

Как добавить комбинацию клавиш в файл конфигурации zathura ( ~/.config/zathura/zathurarc), чтобы сделать это?

Феликс Бу
источник
1
@FelixBou $FILE- единственная подстрока, которая обрабатывается специально. (Это здесь, в источнике. )
Anko

Ответы:

8

Недавно я столкнулся с подобной проблемой и, для дальнейшего использования, вот обходной путь:

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

Это отобразит Ctrl + O (или, в зависимости от того, какая у вас клавиша), чтобы открыть панель ввода, с которой вы обычно открываете: и введите туда этот текст. Затем вы можете нажать Enter, чтобы запустить команду. Это далеко от идеала и все еще требует нажатия двух клавиш, но, безусловно, быстрее, чем писать все команды вручную.

CarloDePieri
источник
Есть ли что-то вроде $ FILE или% в zathura, которое возвращает каталог (не имя файла)?
SdidS
@ Не знаю, насколько мне известно, но документации на zathura довольно не хватает (у них также есть открытая проблема по этому поводу здесь: gitlab ). В любом случае: все после exec выполняется zathura, так что вы можете попытаться передать имя файла в скрипт, который затем извлечет папку из $ FILE и сделает то, что вам нужно. Если вам нужно что-то более конкретное, я предлагаю попробовать открыть вопрос о gitlab, на который я ссылался выше.
CarloDePieri
@CarloDePieriСпасибо, я спросил это здесь и придумал такое же решение, как вы сказали.
SdidS
6

Небольшое улучшение ответа от CarloDePieri может быть таким:

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

Это позволяет избежать второго нажатия клавиш.

Грэм Лич-Кроуз
источник
3

Я согласен, что это было бы серьезно полезно, но вы не можете сделать это в настоящее время.

В исходном коде exec отображение команды input-bar находится здесьconfig.c . Однако, ярлыки (начинающиеся здесь ), которые, кажется, определяют, на какие функции можно ссылаться из конфигов , не упоминаются exec. Код не структурирован так, чтобы легко смешивать «командные» функции и «горячие» функции ...

Разработчики имеют страницу с методами, чтобы связаться с ними .

Анко
источник
0

Пытаясь создать сопоставление, в котором путь текущего PDF-файла помещается в системный буфер обмена, я понял, что должен обернуть всю команду в bash -c "...":

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

В противном случае команда ничего не сделает.

Матиас Браун
источник