Emacs ถูกหยุดเมื่อเปิดไฟล์ pdf


11

เมื่อฉันเปิด pdf ด้วย emacs มันจะแข็ง และฉันติดตั้งเครื่องมือ PDF, เปิด PDF มันก็แข็งขึ้นอีกครั้ง

กระบวนการขีดเส้นใต้คืออะไรเมื่อ emacs เปิดไฟล์ PDF มีงานแปลงจำนวนมากหรือไม่ ฉันควรทำอย่างไรเพื่อเร่งความเร็ว

  • Emacs 24.4
  • Ubuntu 14.04 LTS
  • Intel 2.4GHz x 2
  • 4G RAM

อัปเดต :

ฉันเพิ่งพบหน้านี้:

"เรียนรู้บทเรียนอย่าเปิด PDF ใน emacs อย่าทำโดยไม่ตั้งใจด้วยซ้ำ"

https://twitter.com/ergoemacs/status/456088661059457024

มันเป็นข่าวที่น่าเศร้าสำหรับฉัน! เป็นความคิดที่ดีที่จะดู PDF โดยใช้ Emacs หรือไม่?

อัปเดต 2

ฉันคิดว่ามันเป็นเพราะไฟล์ pdf ของฉันมีขนาดใหญ่เกินไป:

5.7M, 1313 pages

ดังนั้นฉันจึงลองไฟล์ pdf ขนาดเล็ก

402K, 66 pages

มันถูกแช่แข็งอีกครั้ง

อัปเดต 3

ผมเปิดไฟล์ PDF ที่ใช้C-c C-xจากhelmและจะเปิดไฟล์ PDF ในมุมมองภายนอก: zathura เนื่องจากไม่มีกระบวนการแปลงไฟล์จึงเปิดไฟอย่างรวดเร็ว (เร็วเท่าmupdfกันฉันเดาว่า zathura ใช้ mupdf เป็นส่วนท้าย)

มีสี่จุดที่ทำให้ zathura โดดเด่น:

  1. แสงสว่างเร็ว (ทั้งเปิดและค้นหา)
  2. จอแสดงผลคุณภาพสูง
  3. Tab แสดงเมนูบท / ส่วนเช่นเดียวกับ Adobe Reader
  4. รองรับแป้นพิมพ์ลัดที่ดี (อันที่จริงแล้วมันใช้ปุ่มลัดแบบ vim-style ซึ่งเหมาะสมเพราะไม่จำเป็นต้องเปลี่ยนโหมดในโปรแกรมดู pdf

อัปเดต 4

ภาพหน้าจอสำหรับการเปรียบเทียบคุณภาพ:

! ซ้าย: Zathura; ขวา: PDF ใน Emacs

ฉันสับสนในสิ่งที่ Emacs ใช้สำหรับ PDF แบบเปิด (ฉันได้ลบเครื่องมือ pdf ออกไปแล้ว)


คุณไม่ต้องการบอกเราเพิ่มเติมเกี่ยวกับการกำหนดค่า Emacs ของคุณที่เกี่ยวข้องกับไฟล์ pdf หรือไม่?
— Nsukami _

@Nsukami_ ขอบคุณที่ถาม จริงๆแล้วฉันไม่มีอะไรเกี่ยวข้องกับไฟล์ pdf ในการกำหนดค่าของฉัน 1. ฉันเปิดไฟล์ PDF พร้อมการติดตั้งเริ่มต้น 2. ติดตั้งเครื่องมือ pdf, เปิด PDF
— นิค

คุณสามารถใช้ Emacs เป็นตัวอ่าน PDF ได้ดี ตอนนี้ฉันใช้ Emacs เพื่ออ่าน PDF โดยเฉพาะ ฉันยังใช้ Ubuntu แต่ไฟล์ PDF ของคุณมีขนาดเท่าใด
— Tu Do

4
เห็นได้ชัดว่าถึงเวลาemacs -Qอีกแล้ว
— wasamasa

2
การติดตั้งpdf-toolsคุณต้องโคลน repo เรียกใช้./autogen.shและปฏิบัติตามขั้นตอนมาตรฐาน: ./configure&& &&make sudo make installจากนั้นจะสร้างpdf-tools.tar.gzในไดเรกทอรีเครื่องมือ pdf ที่คุณโคลน จากนั้นใส่ที่(pdf-tools-install)ใดที่หนึ่งในไฟล์ init ของคุณ จากนี้ไป Emacs จะใช้pdf-view-mdoeซึ่งให้คุณภาพที่ดีขึ้นและความเร็วการแสดงผลที่ดีขึ้น
— Tu Do

คำตอบ:


12

คุณควรปิดการใช้งานlinum-modeเมื่อเปิดไฟล์ PDF มิฉะนั้นมันจะแขวน Emac ของคุณ คือเพิ่มลงในprog-modeสำหรับการแก้ไขข้อความเท่านั้น:

(add-hook 'prog-mode-hook 'linum-on)

วิธีติดตั้งpdf-tools:

  • คุณต้องโคลนที่เก็บ :

    git clone https://github.com/politza/pdf-tools.git

  • cd pdf-tools

  • makeวิ่ง

  • จากนั้นจะสร้าง a pdf-tools-${VERSION}.tarในpdf-toolsไดเรกทอรีที่คุณโคลน ใน EmacsM-x package-install-file RET pdf-tools-${VERSION}.tar RET

  • จากนั้นใส่ที่(pdf-tools-install)ใดที่หนึ่งในไฟล์ init ของคุณ จากนี้ไป Emacs จะใช้pdf-view-modeซึ่งให้คุณภาพที่ดีขึ้นและความเร็วการแสดงผลที่ดีขึ้น

นี่คือการสาธิตการใช้รูปแบบไฟล์ PDF เครื่องมือ ไฟล์ PDF คือ 28MB และใช้เวลาเปิดไม่กี่วินาที โปรดทราบว่าคุณภาพของภาพใน gif นั้นต่ำกว่าคุณภาพจริงเล็กน้อยเมื่อเทียบกับแหล่งที่มาจริง แต่อย่างที่คุณเห็นข้อความนั้นใส ฉันไม่ได้บันทึกทั้งหน้าจอเพื่อลดขนาดของ gif เพราะมันมีขนาด 13MB แล้ว

ฉันใช้ธรรมดา Isearch ใช้C-sในบัฟเฟอร์อื่น ๆ สำหรับการค้นหา อย่ากดเร็วเกินไปปล่อยให้ความล่าช้าระหว่างการค้นหาประมาณ 1 วินาที คุณควรใช้ Isearch เพื่อค้นหาหน้าปัจจุบันหรือหน้าใกล้เคียง ในการค้นหาเอกสารทั้งหมดให้ใช้pdf-occur; คำสั่งค่อนข้างเร็ว คุณอาจต้องการเก็บผลลัพธ์การค้นหาเพื่อใช้ในภายหลัง (ในเซสชั่นเดียวกัน) โดยการเปลี่ยนชื่อ*PDF-Occur*บัฟเฟอร์เริ่มต้นที่เกิดขึ้นเป็นชื่ออื่น ๆ เพื่อหลีกเลี่ยงการถูกแทนที่โดยการค้นหาในอนาคต

หากคุณต้องการตารางของเนื้อหาในรูปแบบไฟล์ PDF กดบัฟเฟอร์เพื่อเปิดในooutline-mode


แนะนำหมวกให้กับแพ็คเกจสุดยอดนี้ (และคำตอบ) ความแตกต่างนั้นมากถ้าคุณเปรียบเทียบกับตัวแสดงเริ่มต้น
— KookieMonster

(add-hook 'prog-mode-hook 'linum-on)ควรเป็น(add-hook 'prog-mode-hook 'linum-mode)24.5.1
— ยาง

4

ฉันใช้ Emacs สำหรับการอ่านเอกสารเอกสารทางวิทยาศาสตร์และหนังสือ - ทุกที่โดยไม่มีปัญหา

My doc-view-modeใช้mudraw (จากmupdf ) สำหรับการแสดงผล PDF ตามที่คุณเห็นโดยการตรวจสอบตัวแปรdoc-view-pdfdraw-program :

doc-view-pdfdraw-program เป็นตัวแปรที่กำหนดใน `doc-view.el ' ค่าของมันคือเอกสาร "mudraw": ชื่อโปรแกรมของ MuPDF เพื่อแปลงไฟล์ PDF เป็น PNG แนะนำตัวแปรนี้หรือเปลี่ยนแปลงค่าเริ่มต้นในเวอร์ชั่น 24.4 ของ Emacs

โดยค่าเริ่มต้นโหมด doc-view ใช้ gshotscript ของ gs สำหรับการเรนเดอร์ซึ่งสามารถทำการเปรียบเทียบได้ช้า คุณสามารถอ่านเกี่ยวกับการเปลี่ยนจาก gs ของ ghostscript เป็น mrawdf ของ mupdf:

ฉันได้รับการทดสอบแพทช์ที่และไม่เคยหันกลับมามองตั้งแต่สวิตช์เร่งการแปลง pdf-> png โดยปัจจัยที่สองและนำการต่อต้านนามแฝงกับมัน

ในสถานการณ์ของคุณ:

  1. ติดตั้ง mupdf และเปิด PDF ในเซสชัน emacs โดยไม่มีการกำหนดค่าของคุณเช่น:

    env HOME=/tmp emacs -Q
    

    และตรวจสอบว่าโปรแกรมdoc-view-pdfdrawถูกตั้งค่าเป็นMudrawอย่างถูกต้องหรือไม่

  2. รายงานกลับหากสถานการณ์ด้านบนของคุณดีขึ้น

PS ผมมีประสบการณ์ที่ไม่มีรูปแบบไฟล์ PDF เครื่องมือ


ฉันติดตั้ง mupdf และเร็วอย่างน่าประหลาดใจ ฉันรัน env HOME = / tmp emacs -Q, emacs sais "ยังคงแปลง ... " และใช้เวลาสักครู่ในการแปลง ความเร็วดี แต่คุณภาพไม่ดี ความประหลาดใจของฉันไม่มีตัวแปรชื่อ doc-view-pdfdraw-program หาก Emacs สามารถใช้ mupdf นั่นจะยอดเยี่ยมจริงๆ!
— นิค

คุณแน่ใจหรือว่าคุณใช้ 24.4 โปรแกรม doc-view-pdfdraw-ควรมีในกรณีดังกล่าว คือmudrawที่มีอยู่ในเปลือกของคุณหรือไม่
— kmicu

ใช่ฉันใช้ Emacs 24.4 This is GNU Emacs 24.4.2 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.8) mudrawไม่มีประโยชน์ดังนั้นฉันจึงติดตั้ง (แพ็คเกจ mupdf-tools) ดังนั้นฉันสามารถเรียกใช้ mudraw ในเชลล์ได้ ความเร็วในการแปลงช้ากว่าและคุณภาพการแสดงผล pdf ยังคงแย่
— นิค

"ด้วยความประหลาดใจของฉันไม่มีตัวแปรชื่อ doc-view-pdfdraw-program" โดยไม่ทราบว่ามีการตั้งค่าในตัวแปรที่เราไม่สามารถแน่ใจว่าคุณจริงๆใช้mudrawในโหมด doc-มุมมองนี้อาจจะยังคงGS "คุณภาพการแสดงผล pdf ยังคงแย่" เป็นคำสั่งที่เกี่ยวข้องและเป็นอัตนัยคุณสามารถอัปเดตคำถามของคุณด้วยภาพหน้าจอบางหน้าได้หรือไม่? สำหรับฉัน Zathura (ที่มีแบ็กเอนด์ mupdf) มีคุณภาพและความเร็วในการเรนเดอร์ PDF เหมือนกับใน Emacs
— kmicu

1
(require 'doc-view)ที่จะได้รับตัวแปรที่คุณต้องโหลด: ฉันคิดว่าmudrawเป็นค่าเริ่มต้นและปัญหาคือdoc-viewไม่สามารถใส่หน้า PDF ทั้งหมดลงในบัฟเฟอร์ทั้งหมด และฉันไม่แน่ใจเกี่ยวกับคุณภาพ
— Tu Do
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.