คำถามติดแท็ก init-file

สำหรับคำถามเกี่ยวกับไฟล์การเริ่มต้น `. emacs` หรือ` init.el อย่าใช้แท็กนี้หากคุณคิดว่าคำตอบต้องใช้ไฟล์เริ่มต้นที่ปรับแต่งได้เนื่องจากโซลูชันจำนวนมากไม่เกี่ยวข้องกับการจัดการไฟล์เริ่มต้นโดยตรง

4
วิธีรับสภาพแวดล้อม Emacs เดียวกันบนคอมพิวเตอร์เครื่องอื่น?
ฉันเป็นผู้เริ่มต้นใน Emacs (ใช้มันประมาณ 2 สัปดาห์แล้วและรักมัน) เมื่อฉันอัปเดตและขยาย~/.emacs.d/init.elไฟล์ของฉันสิ่งที่ฉันเขียนนั้นขึ้นอยู่กับแพ็คเกจที่ฉันติดตั้งจาก MELPA โดยใช้M-x package-installกับ.elไฟล์ที่ฉันเขียนเองเป็นต้น คำถามของฉันคือฉันควรเปลี่ยนคอมพิวเตอร์ในอนาคตเป็นวิธีที่ดีที่สุดในการรับสภาพแวดล้อม Emacs ที่เหมือนกันบนคอมพิวเตอร์เครื่องใหม่อย่างที่ฉันมีอยู่ตอนนี้หรือไม่
16 init-file  config 

6
ฉันจะตั้งค่าตำแหน่งอื่นสำหรับไฟล์ dot emacs .emacs บน Windows 7 ได้อย่างไร
ฉันใช้คอมพิวเตอร์ที่ใช้ Windows 7 และไม่สามารถเข้าถึงผู้ดูแลระบบได้ ดังนั้นฉันไม่สามารถวางไฟล์ dot emacs ในไดเรกทอรีรากได้ มีวิธีให้ฉันระบุตำแหน่งอื่นสำหรับไฟล์ dot emacs หรือไม่


2
เมื่อใดที่ฉันควรใช้ with-eval-after-load ในไฟล์กำหนดค่าของฉัน
ฉันไปที่ไฟล์กำหนดค่าของฉันและต้องการล้างข้อมูล ความเข้าใจของฉันwith-eval-after-loadคือว่าร่างกายของมันจะได้รับการประเมินทันทีหลังจากโหลดแพ็คเกจที่เกี่ยวข้อง with-eval-after-loadในขณะที่การทำความสะอาดไฟล์การกำหนดค่าของฉันและแยกพวกเขามากขึ้นผมอยากจะใส่ทุกแพคเกจค่ากับ ทุกอย่างเป็นไปตามที่คาดไว้จนกว่าฉันจะปิดล้อมการกำหนดค่าสำหรับและhelmhelm-projectile นี่คือสิ่งที่ฉันมีอยู่ในใจ ( lisp / init-helm.el ): (with-eval-after-load 'helm (setq helm-mode-line-string "") (add-to-list 'helm-sources-using-default-as-input 'helm-source-man-pages) (define-key global-map (kbd "C-c m") 'helm-imenu) (define-key global-map (kbd "C-x b") 'helm-buffers-list)) (with-eval-after-load 'helm-command (global-set-key (kbd "M-x") 'helm-M-x)) (with-eval-after-load 'helm-projectile (helm-projectile-on)) หลังจากรีสตาร์ท Emacs ฉันได้รับปัญหาขนาดหน้าต่างนี้: นี่คือวิธีปรับขนาดหน้าต่างของฉัน: (set-frame-parameter nil 'fullscreen 'fullboth) ฉันเดาว่าฉันใช้ผิดwith-eval-after-loadวิธีหนึ่งจะทำให้การกำหนดค่า Emacs ของเขาถูกสุขลักษณะและทำให้แน่ใจได้ว่าไม่มีอะไรผิดพลาดไม่ว่าจะติดตั้งแพ็คเกจใด

5
ฉันจะ“ ขอกลุ่ม” ตะขอได้อย่างไร
มีบางอย่างเช่นการแสดงของช่องว่างต่อท้าย, การแสดงของขอบเขตบัฟเฟอร์, ตัวคั่นสีรุ้งและอื่น ๆ อีกมากมายที่ฉันต้องการเปิดใช้งานในโหมดส่วนใหญ่หรือมากกว่านั้นทั้งหมดที่เกี่ยวข้องกับการเขียนโปรแกรมและข้อความ (เพราะแสดงช่องว่างต่อท้ายใน พูดediff-modeจะขัดแย้งกับโหมดหลัก) แทนการใช้โหมดย่อยทั่วโลกด้วยกฎข้อยกเว้น ตั้งแต่โหมดส่วนใหญ่จะมาจากทั้งสองprog-modeหรือtext-modeเพิ่มฟังก์ชั่นในคำถามทั้งสองprog-mode-hookและtext-mode-hookไม่ทำงาน แต่มีโหมดพอที่จะไม่ได้ตามนี้เช่นหรือcss-modeLaTeX-mode ฉันต้องการกำหนด hook ที่ครอบคลุมโหมดเหล่านี้ทั้งหมดในขณะนั้นเพื่อเพิ่มฟังก์ชั่นให้กับหนึ่ง hook เท่านั้น ลองเรียกมันว่าnon-special-mode-hook(เพื่อแยกมันออกจากspecial-mode-hook) ฉันจะสร้างเบ็ดดังกล่าวที่ทำงานสำหรับโหมดหลักทั้งหมดที่สร้างขึ้นได้อย่างไร
14 init-file 

2
ฉันควรรวมการเริ่มต้นที่ขี้เกียจที่ไหน?
ฉันต้องการเพิ่มคีย์เฉพาะการผูกกับโหมดลาเท็กซ์: (define-key latex-mode-map (kbd "<f6>") 'my-latex-defun) ในเวลาเดียวกันฉันต้องการตั้งค่าเฉพาะเมื่อโหลดโหมดเฉพาะ ดังนั้นฉันต้องการทราบว่ามีการตั้งค่า (แนวปฏิบัติที่ดีที่สุด) ระหว่างการใช้ hook ที่เหมาะสม ( latex-mode-hook) เพื่อให้บรรลุหรือใช้ clause (with-eval-after-load "tex-mode" ...เพื่อตัดคำจำกัดความการโยงคีย์ ฉันทดสอบทั้งคู่และทำงานได้ดี แต่ฉันสงสัยว่าอันไหนเป็นวิธีที่ถูกต้องที่จะทำ
13 init-file  hooks 

1
after-init-hook vs eval-after-load / with-eval-after-load
ฉันได้พบว่ามีประโยชน์มากกว่าวิธีการแพคเกจทำงานใน Emacs 24แต่ฉันต้องการคำตอบที่ชัดเจนจากผู้ใช้ที่มีประสบการณ์หรือนักพัฒนาหลักซึ่งสิ่งเหล่านี้เป็นที่ต้องการในกรณีทั่วไปใน 24.4 Afaik (add-hook 'after-init-hook ...)เป็นวิธีที่จะพูดถึงสัตว์เดรัจฉานบังคับในการตั้งค่าการปรับแต่งสำหรับแพคเกจ อย่างไรก็ตามeval-after-loadและความหวานของ syntactically มากขึ้นwith-eval-after-loadดูเหมือนจะเหมาะสมสำหรับการกำหนดค่าแบบไดนามิกมากขึ้นและเม็ดเล็กที่ดีที่เล่นได้ดีกับการโหลดส่วนขยายทีละส่วนแยกและขี้เกียจ ฉันเข้าใจถูกต้องหรือไม่ ฉันควรจำอะไรอีก

2
Elisp: จะแยกข้อมูลที่ละเอียดอ่อนออกจากไฟล์ init อย่างไร (เช่นข้อมูลรับรองการเข้าสู่ระบบ)
ฉันต้องการกำหนดฟังก์ชั่นเข้าสู่ระบบในสคริปต์ init ของฉัน แต่ฉันไม่ต้องการ hardcode หนังสือรับรองการเข้าสู่ระบบของฉัน ฉันคิดว่าวิธีแก้ปัญหาที่ดีคือการให้สคริปต์ init อ่านในข้อมูลรับรองการเข้าสู่ระบบจากไฟล์ในเครื่องและบันทึกค่าเหล่านี้เป็นตัวแปร ด้วยวิธีนี้ฉันสามารถแยกไฟล์ออกจากดัชนี git ของฉันซึ่งทำให้ข้อมูลรับรองการเข้าสู่ระบบของฉันปลอดภัย มีคำแนะนำใด ๆ เกี่ยวกับวิธีการนี้หรือวิธีตั้งค่าอาร์กิวเมนต์เป็นค่าที่กำหนดไว้ในไฟล์หรือไม่? ตัวอย่างเช่นฉันต้องการใช้สิ่งต่อไปนี้ในinit.el: ;; Set up our login variables here: (setq file-location "~/.emacs.d/.login") (setq erc-username "default-name") (setq erc-password "default-password") (setq erc-url "default-url") (setq erc-port "default-port") (defun read-lines (filePath) "Return a list of lines of a file at …

1
ส่งออกไฟล์โหมดองค์กรเป็น PDF ผ่านบรรทัดคำสั่งหรือไม่
ฉันใช้อาร์กิวเมนต์บรรทัดคำสั่งใดเพื่อให้ Emacs ส่งออกไฟล์โหมด org ไปยัง Beamer PDF (ฉันต้องการสร้างไฟล์Makefileที่สร้าง PDF เมื่อผู้ใช้รันmake) ฉันลองทำตามคำตอบนี้แต่ไม่สามารถใช้งานได้: $ emacs --batch foo.org -f org-beamer-export-to-pdf Symbol's function definition is void: org-beamer-export-to-pdf $ emacs --batch -l ox-beamer foo.org -f org-beamer-export-to-pdf Cannot open load file: ox-beamer ข้อผิดพลาดข้างต้นมาจากความจริงที่ว่าไฟล์โหมด org อยู่ในตำแหน่งที่กำหนดเองและฉัน~/.emacs.d/init.elไม่ได้โหลด ( --batchหมายถึง-qaka --no-init-file) ถ้าฉันบอก Emac ให้โหลดไฟล์ init มันจะทำงาน: $ emacs --batch …

2
Emacs มักจะขอให้เชื่อถือชุดรูปแบบสีเมื่อเริ่มต้น
Emacs ของฉันจะแจ้งให้ฉันเสมอว่าควรเชื่อถือชุดรูปแบบสีที่เลือกหรือไม่ ฉันมักจะตอบyและyให้ความไว้วางใจและจดจำตัวเลือกของฉัน ฉันกำลังโหลดธีมสีด้วยตนเอง: (load-theme 'my-favourite-theme) ฉันคิดว่านี่เป็นเพราะการปรับแต่งง่ายอยู่ด้านล่างโหลดธีมสี เป็นวิธีการแก้ไขหรือไม่ หรือฉันควรมอบหมายการโหลดธีมสีเพื่อการปรับแต่งง่ายเช่นกัน?

4
จะเปลี่ยนข้อความ minibuffer เริ่มต้นได้อย่างไร
หลังจากโหลดไฟล์เสร็จฉันได้รับข้อความนี้ใน minibuffer: สำหรับข้อมูลเกี่ยวกับ GNU Emacs และระบบ GNU ให้พิมพ์ Ch Ca มันถูกกระตุ้นโดยอะไรและฉันจะเปลี่ยนมันได้อย่างไร

1
Cocoa Emacs 24.5 ปัญหาแบบอักษร (Inconsolata-dz)
ฉันพยายามตั้งค่า [Inconsolata-dz] [1] เป็นแบบอักษรเริ่มต้นของฉันเป็น Emacs Inconsolata ปกติทำงานได้ดี แต่รุ่น dz ทำงานไม่ถูกต้อง ฟังก์ชั่นส่วนใหญ่ที่ฉันใช้จะโยนข้อผิดพลาดนี้ (ทำตามคำแนะนำทั้งหมดทางออนไลน์เกี่ยวกับวิธีการตั้งค่าแบบอักษรของ Emacs): set-face-attribute: Invalid font name: "-*-Inconsolata-dz-normal-normal-normal-*-13-*-*-*-m-0-iso10646-1" ในที่สุดผมก็มีมันในการทำงานโดยการทำเช่นนี้ในของฉันinit.el: (setq initial-frame-alist '((font . "Inconsolata-dz-13"))) (setq default-frame-alist '((font . "Inconsolata-dz-13"))) ฉันยังมีสิ่งนี้init.elซึ่งสร้างขึ้นโดยcustomize-facesแต่ดูเหมือนว่าจะเปลี่ยนแบบอักษรเป็น Helvetica (เว้นแต่จะถูกแทนที่ด้วยรหัสด้านบน): (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it …
10 init-file  osx  faces  fonts 

2
ไฟล์ init เฉพาะโครงการ
ฉันมีการปรับแต่งบางอย่างสำหรับ emacs ที่ฉันต้องการใช้สำหรับโครงการเดียว แต่ไม่ส่งผลกระทบต่อ emacs ทั่วโลก มีวิธีใดบ้างที่ฉันสามารถให้ emacs โหลดไฟล์ init เฉพาะเมื่อเรียกใช้จากไดเรกทอรีหนึ่งหรือโหลดไฟล์ init ทั้งหมดโดยอัตโนมัติในไดเรกทอรีที่เปิดตัว
10 init-file 

1
ระบบการเข้ารหัส utf-8 บน Mac - อันไหนและทำไมเป็นค่าเริ่มต้น?
ฉันต้องการเปลี่ยนระบบเข้ารหัสเริ่มต้นจากไม่ได้กำหนดเป็น UTF-8 (ฉันคิดว่ามันจะมีประโยชน์) ตอนนี้ฉันได้เห็นระบบการเข้ารหัส UTF-8 ที่แตกต่างกันมากมาย: mule-utf-8 mule-utf-8-dos mule-utf-8-mac mule-utf-8-unix prefer-utf-8 prefer-utf-8-dos prefer-utf-8-mac prefer-utf-8-unix utf-8 utf-8-auto utf-8-auto-dos utf-8-auto-mac utf-8-auto-unix utf-8-dos utf-8-emacs utf-8-emacs-dos utf-8-emacs-mac utf-8-emacs-unix utf-8-hfs utf-8-hfs-dos utf-8-hfs-mac utf-8-hfs-unix utf-8-mac utf-8-unix utf-8-with-signature utf-8-with-signature-dos utf-8-with-signature-mac utf-8-with-signature-unix ฉันใช้ Mac และฉันยังสับสนเกี่ยวกับระบบการเข้ารหัส hfs และ mac ที่แตกต่างกันเหล่านี้ ในขณะนี้ฉันตัดสินใจใช้ utf-8 ดังต่อไปนี้ตามคำตอบนี้ : (setq utf-translate-cjk-mode nil) ; disable …

1
การแทนที่ย่อหน้าเติมในโหมด LaTeX
ฉันต้องการเปลี่ยนพฤติกรรมของfill-paragraphในบางโหมด (เช่นLaTeX-modeให้บริการโดยAucTeX) ฉันสามารถไขกุญแจM-qได้ แต่ฉันก็ใช้evil-modeซึ่งการนำไปevil-fill-and-moveใช้งานfill-regionด้วย เป็นการดีที่ฟังก์ชั่นการเติมแบบกำหนดเองของฉันเพื่อแทนที่ทั้งฟังก์ชั่นfill-paragraph(เพื่อให้ทำงานได้M-q) และfill-region(เพื่อให้ทำงานได้ด้วยevil) สมมติว่าฉันมีโปรแกรมแบบสแตนด์อโลนformatที่ใช้ในรหัส LaTeX ผ่านstdinและส่งออกในรูปแบบรหัสstdoutฉันจะไปแทนที่ฟังก์ชันเติมสองข้างต้นเพื่อใช้งานได้formatอย่างไร (หมายเหตุ: นี้จะคล้ายกับvimของformatprgตัวเลือก.)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.