Ketika saya M-x find-file
PDF, itu dibuka di Emacs. Meskipun ini bagus, penampil PDF Emacs 'tidak memiliki banyak fitur yang saya butuhkan dan saya lebih suka membuka PDF dalam program eksternal. Bagaimana saya bisa mengkonfigurasi Emacs untuk menggunakan program eksternal sebagai penampil default untuk PDF?
42
find-file
. Misalnya, mengirim email dengan PDF yang dilampirkan (via mu4e) menyebabkan PDF terlampir dibuka di editor eksternal dan pengiriman gagal (lihat di sini untuk detailnya).openwith-mode
untuk mematikannya: lihat intisari ini .Jika Anda ingin melihat PDF dengan banyak fitur (menyoroti pencarian, menyoroti pilihan, anotasi, struktur konten), gunakan pdf-tools . Seperti yang Anda lihat di demo , saya bisa menggunakan Isearch dengan highlighting. Emacs sekarang menjadi pembaca PDF favorit saya. Anda juga dapat mem-bookmark halaman PDF tertentu dengan menggunakan Bookmark (+).
EDIT : Jika Anda menggunakan
helm
dan ingin menggunakan program eksternal,helm
sudah memiliki satu dalam menu tindakan untuk membuka file eksternal:Open file externally C-c C-x. C-u to choose again
. Apa fungsinya yang menawarkan daftar semua program yang tersedia di sistem Anda dan memberi Anda antarmuka Helm yang bagus untuk dipilih; setelah Anda memilih, Helm akan mengingatnya sampai Anda menjalankan perintah dengan argumen awalanC-u
untuk memilih yang baru.sumber
pdf-tools
!! Paket LUAR BIASA. Suka! Demo Anda sangat bagus juga, meskipun hanya menggores permukaan dari apa yang mungkin ... :)pdf-tools
repo dan kompilasi dan menginstal bagian C di mana saja Emacs Anda dapat melihat biner, sebelum menginstal dan menggunakan bagian Emacs Lisp.Anda bertanya tentang
find-file
. Selain apa yang orang lain (misalnya, Dan) katakan tentang itu, ada baiknya juga mengetahui tentang membuka file menggunakan aplikasi yang terkait dengan jenis file (misalnya ekstensi) dalam opsidired-guess-shell-alist-user
. Dan jika Anda menggunakan Emacs pada MS Windows, maka ada baiknya mengetahui cara membuka file menggunakan asosiasi file Windows.Opsi
dired-guess-shell-alist-user
tersedia setelah Anda memuat pustaka standardired-x.el
. Asosiasi default file PDF didefinisikan dalam variabeldired-guess-shell-alist-default
, dan ini adalah programxpdf
(tersedia di UNIX dan GNU / Linux). Menggunakan pilihandired-guess-shell-alist-user
Anda dapat, misalnya, mengasosiasikannya bukan dengan Adobe Acrobat Reader dengan menambahkan asosiasi ini untuk alist yang:("\.pdf$" . "AcroRd32.exe")
.Kemudian Anda dapat membuka file PDF di Dired hanya dengan menggunakan
!
. Itu memberikan program default sebagai "tebakan", yang dapat Anda akses dengan mengulangiM-n
. Maka!
diikuti olehM-n
akan memberi Anda perintah shellAcroRd32.exe
jika titik ada pada nama file PDF dan jika perintah / program itu dikaitkan dengan regexp\.pdf$
.Selain Dired, Anda dapat menggunakan asosiasi file
dired-guess-shell-alist-user
sebagai penangan file bookmark, yaitu, apakah asosiasi file PDF berlaku untuk bookmark apa pun ke file PDF, jika Anda menggunakan library Bookmark + . Nilai saatdired-guess-shell-alist-user
ini digunakan sebagai nilai default opsibmkp-default-handlers-for-file-types
, yang mengontrol ini.Anda dapat memikirkan opsi
dired-guess-shell-alist-user
danbmkp-default-handlers-for-file-types
agak analogauto-mode-alist
. Tetapi mereka memetakan pola nama-file untuk mengajukan tindakan alih-alih memetakannya ke mode buffer. Dan mereka berlaku hanya ketika Anda menggunakan perintah tertentu.Jika Anda menggunakan MS Windows maka Anda dapat (atau juga) mengambil keuntungan dari asosiasi file Windows yang ada saat Anda membuka file di Dired atau "melompat" ke bookmark. Untuk ini, Anda perlu perpustakaan
w32-browser.el
.Untuk Dired, Anda juga memerlukan library Dired + - lihat Menggunakan Windows File Associations di Dired . Untuk bookmark, Anda juga perlu Bookmark + - lihat Memberi Bookmark File yang Tidak Dapat Anda Kunjungi Dengan Emacs dan Membuka Bookmark Menggunakan Windows File Associations .
sumber
Saya menggunakan pelari . Ini kutipan file konfigurasi saya
sumber
Cara saya untuk mencapai ini tanpa plugin adalah berikut ini. Saya menjalankan Emacs 25.3 di bawah Ubuntu 16.04 LTS. Jika OS Anda adalah macOS atau Windows, Anda pasti perlu mengubah fungsi pertama yang
xdg-open
didefinisikan di sini. Saya menemukan tautan ini sangat membantu sebagai titik awal.Setelah kode di atas dimuat, ketika Anda menekan
C-x C-f
untuk PDF dan file kata, itu akan secara otomatis membuka file menggunakan aplikasi standar sistem.Saya sangat suka mekanisme saran yang disediakan oleh Emacs, lihat (elisp) Fungsi Penasihat . Dengan menyarankan fungsi yang ada dengan cara yang kompatibel, saya menghindari mengikat kembali kunci umum seperti
C-x C-f
ke fungsi baru.sumber