zathura: Bagaimana cara menambahkan keybind untuk exec?

11

zathuraadalah pembaca PDF default saya. Beberapa file menyebabkan masalah, dan dalam kasus seperti itu saya jalankan

:exec acroread $FILE

yang secara otomatis membuka file yang sama dengan Acrobat Reader.

Bagaimana cara menambahkan pintasan kunci ke file konfigurasi zathura ( ~/.config/zathura/zathurarc) untuk melakukannya?

Felix Bou
sumber
1
@FelixBou $FILEadalah satu-satunya substring yang diperlakukan secara khusus. (Ada di sini di sumbernya. )
Anko

Jawaban:

8

Saya baru-baru ini bertemu dengan masalah yang sama dan, untuk referensi di masa mendatang, berikut adalah solusinya:

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

Ini akan memetakan ctrl + o (atau apa pun kunci Anda) untuk membuka bilah masukan yang biasanya Anda buka: dan memasukkan teks itu ke sana. Anda kemudian dapat menekan Enter untuk meluncurkan perintah. Ini jauh dari ideal dan masih membutuhkan pers dua tombol, tetapi tentunya lebih cepat daripada menulis semua perintah dengan tangan.

CarloDePieri
sumber
Apakah ada sesuatu seperti $ FILE atau% di zathura yang mengembalikan direktori (bukan nama file)?
Sdid
@SdidS tidak sepengetahuan saya, tetapi dokumentasi zathura cukup kurang (mereka juga memiliki masalah terbuka tentang ini di sini: gitlab ). Bagaimanapun: segala sesuatu setelah exec dieksekusi oleh zathura sehingga Anda mungkin bisa mencoba untuk meneruskan nama file ke skrip yang kemudian akan mengekstrak folder dari $ FILE dan melakukan apa yang perlu Anda lakukan. Jika Anda membutuhkan sesuatu yang lebih spesifik saya sarankan mencoba membuka masalah pada gitlab yang saya tautkan di atas.
CarloDePieri
@CarloDePieriTerima kasih, saya sudah bertanya di sini dan datang dengan solusi yang sama seperti yang Anda katakan.
Sdid
6

Sedikit perbaikan pada jawaban yang ditawarkan oleh CarloDePieri mungkin adalah ini:

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

Ini menghindari penekanan tombol kedua.

Graham Leach-Krouse
sumber
3

Saya setuju itu akan sangat bermanfaat, tetapi saat ini Anda tidak dapat melakukan ini.

Dalam kode sumber, exec pemetaan perintah bilah masukan ada di siniconfig.c . Namun, pemetaan jalan pintas (mulai di sini ) yang tampaknya mendefinisikan fungsi apa yang dapat dirujuk dari konfigurasi tidak disebutkan exec. Kode tidak terstruktur untuk dengan mudah menggabungkan fungsi "perintah" dan fungsi "pintasan" ...

Pengembang memiliki halaman dengan metode untuk menghubungi mereka .

Anko
sumber
0

Ketika mencoba membuat pemetaan yang menempatkan jalur PDF saat ini di clipboard sistem, saya menyadari bahwa saya harus membungkus seluruh perintah di bash -c "...":

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

Kalau tidak, perintah tidak akan melakukan apa pun.

Matthias Braun
sumber