คำถามติดแท็ก start-up

3
ฉันจะทำอย่างไรเพื่อเร่งความเร็วการเริ่มต้นใช้งาน
ฉันสามารถทำสิ่งพื้นฐานบางอย่างเพื่อลดเวลาเริ่มต้นได้อย่างไร มีสิ่งใดที่ฉันควรให้ความสนใจเป็นพิเศษ หมายเหตุ: เวลาเริ่มต้นสามารถลดลงได้โดยการเริ่มต้น Emacs น้อยลง (หนึ่งครั้งต่อเซสชัน) และการเปิดไฟล์ในอินสแตนซ์ที่กำลังทำงานอยู่ คำถามนี้เกี่ยวกับการลดเวลาเริ่มต้นให้น้อยที่สุดสำหรับการเริ่มเซสชันหรือเวลาอื่น ๆ เมื่อจำเป็นต้องเริ่มต้น Emacs ดูคำถามเดียวกันที่ได้รับการตอบใน Stack Overflow พร้อมกับคำถามและคำตอบคะแนนมากกว่าบุ๊คมาร์ค "ที่ชื่นชอบ" กว่า 50 และ 30 คำตอบที่ดีที่นี่ควรเป็นมากกว่าสิ่งที่มีอยู่ใน Stack Overflow

2
แพคเกจเริ่มต้น: อาร์กิวเมนต์ประเภทที่ไม่ถูกต้อง: arrayp, ศูนย์
ในขณะที่ผ่านemacs ในฐานะที่เป็นผู้แก้ไข ac / c ++ฉันพบรหัสบรรทัดต่อไปนี้เพื่อรวมไว้ใน~/.emacsไฟล์ของฉันเพื่อเชื่อมต่อกับ melpa archivesการติดตั้งแพ็คเกจ (require 'package) (add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/")) (package-initialize) หลังจากบันทึกบรรทัดเหล่านี้เป็น emacs เมื่อฉันเริ่ม emacs มันแสดงให้ฉันเห็นwrong type argument: arrayp, nilในพื้นที่ minibuffer เมื่อฉันพยายาม$ emacs --debug -initฉันได้: Debugger entered--Lisp error: (wrong-type-argument arrayp nil) package--add-to-archive-contents(nil "melpa") package-read-archive-contents("melpa") package-read-all-archive-contents() package-initialize() eval-buffer(#<buffer *load*> nil "/home/anupam/.emacs" nil t) ; Reading at …
29 package  start-up 

2
ฉันจะปรับปรุงเวลาเริ่มต้นได้อย่างไรแม้จะมีหลายแพ็คเกจ
TL; DRฉันมีแพคเกจจำนวนมากเช่นนี้ซึ่งทำให้เจ็บเวลาเริ่มต้นของฉัน หากคุณไม่เชื่อว่าเป็นเช่นนั้นอ่านต่อ เวลาเริ่มต้น Emacs ของฉันค่อนข้างเล็ก ฉันไม่ได้ใช้use-packageฉันเพิ่งตั้ง hooks และautoloads หลาย ๆ ตัวเพื่อให้โค้ดเกือบทั้งหมดถูกเลื่อนออกไป ในความเป็นจริงสิ่งต่าง ๆ ถูกโหลดโดยปกติแล้วจะน้อยกว่าครึ่งวินาทีแม้ว่ามันจะดูเหมือนเป็นบ้าก็ตาม แต่เมื่อเวลาผ่านไปผมสังเกตเห็นว่าเวลาเริ่มต้นของฉันได้รับพิถีพิถันช้าลงอย่างลึกลับ สิ่งนี้ได้มาถึงจุดที่เวลาเริ่มต้นคือ≥ 1 วินาที ในที่สุดฉันก็มีเพียงพอและขุดลงไปในรากของปัญหา ในที่สุดฉันก็แสดงความคิดเห็น~/.emacsไฟล์ทั้งหมดของฉันและพบว่าเวลาเริ่มต้นยังคงเป็น≥ 1 วินาที อันที่จริงแล้วมันก็แค่โกนออก ~ 0.2วินาทีบางครั้งก็น้อยลง จากนั้นฉันลองemacs -qและพบว่าเวลาเริ่มต้นคือ ~ 0.1วินาที จากการตรวจสอบในส่วนของคู่มือ Elisp นี้ฉันพบว่าทำไมemacs -qลดเวลาในการเริ่มต้นให้มาก เห็นได้ชัดว่าemacs -qหยุด Emacs จากการทำสามสิ่งเมื่อเริ่มต้น: โหลดไฟล์ init ของคุณ กำลังโหลดdefault.elไฟล์ของคุณ โทร package-initialize เราได้ตัดออกไฟล์ init ของฉันแล้วเนื่องจากการแสดงความคิดเห็นทั้งหมดของฉัน~/.emacsไม่ได้ทำอะไรเลย ฉันไม่ได้ใช้default.elไฟล์เพื่อตัดออกไป ซึ่งปล่อยpackage-initializeให้เป็นผู้กระทำความผิดสำหรับการแสดงยอดฮิต เหตุใดจึงpackage-initializeต้องสละเวลาเริ่มต้นมาก …

3
แทนที่หน้าจอเริ่มต้นด้วยรายการล่าสุด
หน้าจอเริ่มต้นมีประโยชน์ในการเริ่มต้น แต่ตอนนี้ฉันต้องการสิ่งที่มีประโยชน์มากกว่านี้: ฉันต้องการให้รายการของไฟล์ที่เปิดล่าสุดเมื่อเริ่มต้น emacs หากไม่มีไฟล์ที่กำหนดไว้ล่วงหน้าเพื่อเปิด ยิ่งไปกว่านั้นถ้ามันเป็นhelm-recentfหน้าต่าง (ฉันใช้helmแพ็คเกจ)
18 start-up  recentf 

1
มีข้อเสียในการตั้งค่า 'gc-cons-threshold` สูงมากและเก็บขยะเมื่อไม่ได้ใช้งานหรือไม่?
ฉันเพิ่มสองบรรทัดต่อไปนี้ที่ด้านบนของinit.el: (setq gc-cons-threshold (eval-when-compile (* 1024 1024 1024))) (run-with-idle-timer 2 t (lambda () (garbage-collect))) นั่นหมายความว่าแทนที่จะรวบรวมขยะทุก ๆ 800kb ของหน่วยความจำที่จัดสรร Emacs ทำเช่นนั้นเมื่อไม่ได้ใช้งานนั่นคือเมื่อการหยุดชั่วคราวไม่รบกวนฉัน (มันยังรวบรวมหลังจากจัดสรรหน่วยความจำ 1GB แล้ว แต่ฉันไม่คิดว่ามันจะเกิดขึ้น) นี่เป็นการปรับปรุงเวลาเริ่มต้นของฉันประมาณสองในสาม ในทางทฤษฎีมันควรปรับปรุงประสิทธิภาพโดยทั่วไป มีข้อเสียสำหรับวิธีนี้หรือไม่?

2
ทำไม Emacs ใช้เวลานานในการเริ่มต้นบน Windows มากกว่าบน Linux
การกำหนดค่า: ระบบเดียว ระบบปฏิบัติการ Windows 10 เป็นบูตคู่ ระบบปฏิบัติการ Ubuntu 15.10 เป็นบูตคู่ Emacs 25.0.1 พร้อม GUI ฉันมีหนึ่งdot-emacsไฟล์และทุกอย่างใน.emacs.dโฟลเดอร์ของฉัน(แพคเกจยังอยู่ใน.emacs.d) ไฟล์เหล่านี้ทั้งหมดอยู่ในโฟลเดอร์ Dropbox หนึ่งโฟลเดอร์ ใน Windows 10: ฉันเชื่อมโยงdot-emacsและ.emacs.dจากโฟลเดอร์โฮมใน Windows ไปยังตำแหน่งต่างๆใน Dropbox บน Linux / Ubuntu 15.10: ฉันได้ symlinked dot-emacsและ.emacs.dจากโฟลเดอร์บ้าน Ubuntu ของฉัน (/ home / user / ไปยังตำแหน่งใน Dropbox ด้วย ดังนั้นไฟล์ทั้งหมดที่เกี่ยวข้องกับ Emacs จะถูกเก็บไว้ในโฟลเดอร์ Dropbox หนึ่งข้ามระบบปฏิบัติการต่าง ๆ Windows …
14 start-up 


3
Emacs จัดการอย่างไรเพื่อเริ่มต้นทันทีด้วยไฟล์ el หลายไฟล์?
ดังที่ Emacs'er ทุกคนจะรู้ฉันกำลังเผชิญกับการกำหนดค่า dot-Emacs ที่กว้างขวางของฉัน แพคเกจของฉันทั้งหมดอยู่ภายในภาชนะบรรจุของuse-packageและฉัน bytecompiled ทั้งหมดของฉัน.el-Files แม้ว่าจะมี Emacs ก็เริ่มใน 6.4 วินาทีจากนั้นโหลดแพ็กเกจที่เหลือ (ประมาณ 40 แพ็กเกจ) หลังจากนั้น ฉันกำลังคิดหาวิธีอื่นในการแก้ปัญหาเวลาเริ่มต้นที่ยาวนานจากนั้นฉันก็สังเกตเห็นบางสิ่ง Emacs เริ่มต้น (ไม่มีการกำหนดค่าผู้ใช้) ใช้.elไลบรารีจำนวนมากซึ่งรวมอยู่ใน Emac ทุกเครื่อง \shares\emacs\version number\lisp\พวกเขากำลังอยู่ใน แม้จะมีไฟล์เสียงกระเพื่อมหลายไฟล์ก็สามารถเริ่มต้นได้ในหนึ่งวินาที เมื่อฉันตรวจสอบไฟล์ของแพ็คเกจจำนวนมากที่มาพร้อมกับ Emacs ที่เป็นค่าเริ่มต้นฉันพบว่าไม่มีอะไรพิเศษเลยที่สามารถอธิบายได้ว่าทำไม Emacs จึงจัดการเพื่อเริ่มต้นภายในหนึ่งวินาที ใครสามารถบอกฉันได้ว่า Emacs จัดการสิ่งนั้นอย่างไรแม้จะมีไฟล์หลายพัน.elไฟล์
11 start-up 

1
Emacs desktop-save-mode - บันทึกเดสก์ทอปเฉพาะเมื่อเดสก์ทอปก่อนหน้านี้ได้รับการกู้คืนอย่างสมบูรณ์
ฉันมีดังต่อไปนี้ในของฉัน.emacs: (desktop-save-mode 1) (setq desktop-restore-eager 10) (setq desktop-save t) บ่อยครั้งที่ฉันเปิดบัฟเฟอร์จำนวนมาก (100 หรือมากกว่านั้น) สิ่งนี้ช่วยได้จริงๆเพราะ emacs กำลังโหลดบัฟเฟอร์เฉพาะเมื่อไม่ยุ่งกับสิ่งอื่น บางครั้งเหตุการณ์ต่อไปนี้เกิดขึ้น: ฉันปิด emacs ก่อนที่ฉันจะปิดแล็ปท็อปของฉัน จากนั้นฉันก็รู้ - ฉันต้องแก้ไขไฟล์อีกหนึ่งไฟล์อย่างรวดเร็ว - ดังนั้นฉันเปิด emacs อีกครั้งทำการแก้ไขแล้วปิดมัน หากสิ่งนี้เกิดขึ้นภายในระยะเวลาอันสั้นแสดงว่าdesktop-save-modeไม่สามารถกู้คืนบัฟเฟอร์ที่บันทึกไว้ก่อนหน้านี้ทั้งหมดได้ ในกรณีนี้เมื่อฉันปิด emacs อีกครั้งเฉพาะบัฟเฟอร์ที่ถูกกู้คืนจะถูกบันทึกและสถานะก่อนการปิดเครื่องครั้งแรกจะหายไป มีวิธีที่จะทำให้desktop-saveเกิดขึ้นเท่านั้นหากเดสก์ท็อปที่บันทึกไว้ก่อนหน้านี้ได้รับการกู้คืนอย่างสมบูรณ์หรือไม่
11 start-up  desktop 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.