Emacs

คำถาม & คำตอบสำหรับผู้ใช้ขยายหรือพัฒนา Emacs

2
ความแตกต่างระหว่างบัฟเฟอร์ไฟล์หน้าต่างและเฟรมคืออะไร
เมื่อโพสต์คำถามในเว็บไซต์นี้บางครั้งผู้คนพูดถึง"windows"เมื่อพวกเขาหมายถึง"เฟรม"และ"บัฟเฟอร์"หรือ"ไฟล์"เมื่อพวกเขาหมายถึง "หน้าต่าง" ดังนั้น: ถาม: อะไรคือความแตกต่างระหว่างบัฟเฟอร์ไฟล์หน้าต่างและเฟรม? (ฉันโพสต์คำถามนี้ในจิตวิญญาณของคำสั่งผสมคำถาม : เพื่อส่งเสริมการใช้คำที่ถูกต้อง)
28 buffers  window  frames  files 


3
ฉันจะพิมพ์เฟรม Emacs ได้อย่างไร
ฟังก์ชั่นps-print-buffer-with-facesพิมพ์บัฟเฟอร์ Emacs มีวิธีพิมพ์เฟรมที่มีมากกว่าหนึ่งบัฟเฟอร์ในนั้นหรือไม่? ฉันต้องการพิมพ์ Emacs Calc frame ทั้งคู่ด้วย RPN stack และ trail trail
28 frames  calc  print 

1
ฉันจะจำลองแบบการพับโค้ดของ Vim ได้อย่างไร?
การพับโค้ดใน Emacs บางครั้งฉันต้องการพับบล็อกข้อความ ในกลุ่มคุณพับได้ง่ายโดยไม่ต้องฝอย โดยไม่ต้องการเพิ่มตัวละครพิเศษใด ๆ เช่น "เครื่องหมาย" หรือ regex {{{ที่เฉพาะเจาะจงเช่น ฉันต้องการเลือกภูมิภาคและพับโดยไม่ต้องยุ่งกับโครงสร้าง เมื่อมองไปรอบ ๆ ดูเหมือนว่ามีคำถามเกี่ยวกับการพับโค้ดใน Emacs อยู่แล้ว บางคนบอกว่าไม่มี "ทางออกที่สมบูรณ์" ตัวอย่างเช่นฉันสร้างคลิปการเขียนโค้ดอย่างง่ายใน Vim: พับธรรมดาเป็นกลุ่ม + ค่อนข้างง่ายเลือกภูมิภาคและพับมัน + มันขัดขืน เมื่อคุณฆ่า buffer / close Vim และเปิดไฟล์อีกครั้งการพับยังคงอยู่ที่นั่น + คุณจะได้รับแถบไฮไลต์เพื่อดูว่าอะไรถูกพับ มีการกำหนดค่าการพับอื่น ๆ มากมายสำหรับ Vim ฉันมีความสุขกับ Emacs แต่นี่เป็นสิ่งหนึ่งที่ฉันคิดถึง ทางเลือกอื่น ๆ ที่ฉันลองตัวอย่างเช่น HideShow: HideShow hide-show minor modeทางเลือกที่ชั่วร้ายด้วย ฉันพบว่าใช้ไม่ได้: …

4
การแก้ไขไฟล์ด้วยหนึ่งประโยคต่อหนึ่งบรรทัด
พื้นหลังเล็กน้อย ฉันพยายามที่จะรุ่นควบคุมเอกสารน้ำยางของฉันและประสิทธิผลของโครงการนี้จะได้รับการปรับปรุงอย่างมากถ้าผมนำมาใช้เป็นหนึ่งประโยคต่อบรรทัดวิธีการ ตัวอย่างเช่นต่อไปนี้เป็นเอกสารของฉันที่มีลักษณะเป็นอย่างไร Some text here. New stencence on the same paragraph. Some more text, still on the same paragraph. This is another paragraph. คำถามของฉันง่าย ฉันสามารถทำการ / ปรับปรุงโดยอัตโนมัติด้วย Emacs ได้เท่าใด จุดสองจุดต่อไปนี้เป็นสิ่งที่ฉันมีอยู่ในใจ ประโยคของฉันมีความยาวดังนั้นฉันจึงจำเป็นต้องพันเส้นโดยไม่ต้องเติมพวกเขาจริง ๆ นั่นคือประโยคที่ยาวมากจำเป็นต้องแสดงบนหลาย ๆ บรรทัดบนหน้าจอของฉัน แต่มันต้องเป็นบรรทัดเดียวในไฟล์“ .tex” สิ่งนี้ควรทำในวิธีที่ไม่ห่อหุ้มสมการ visual-line-modeล้อมที่ความกว้างหน้าต่างที่กว้างเกินไป ฉันต้องการบางสิ่งที่ล้อมรอบเส้นและจำกัดความกว้างของพวกเขาไว้ที่ 80 ตัวอักษรหรือมากกว่านั้น fill-paragraphปกติแล้วจะชอบแต่โดยไม่ทำลายเส้นในไฟล์ ฉันสามารถแบ่งบรรทัดด้วยตนเองหลังจากแต่ละประโยค แต่มันจะดีกว่าถ้าฉันสามารถกำหนดค่าfill-paragraph(หรืออาจจะauto-fill-mode) ให้ใส่หนึ่งประโยคต่อบรรทัดเช่นกัน

4
วิธีที่ง่ายที่สุดในการค้นหาไฟล์ที่มีประโยชน์ทั้งหมดในโครงการเดียวคืออะไร?
เป็นวิธีที่ง่ายที่สุดในการค้นหา regexp ทั่วเนื้อหาไฟล์ทั้งหมดในโครงการปัจจุบันข้ามไฟล์ที่ไม่มีประโยชน์อะไร ไฟล์ที่ไม่มีประโยชน์คือไฟล์ที่รวบรวม, ไลบรารีที่อิมพอร์ต, ไฟล์ควบคุมเวอร์ชัน ฯลฯ ฉันรู้rgrepแต่มันก็แค่ค้นหาทุกอย่าง มีแพคเกจที่ค้นหา 'inteligently' และรู้เกี่ยวกับภาษาการเขียนโปรแกรมที่แตกต่างกันดังนั้นฉันไม่ต้องกำหนดค่าสำหรับแต่ละโครงการหรือไม่
28 search  project 

8
emacs บนแท็บเล็ต?
ถาม: Emacs สามารถติดตั้ง / ใช้งานบนแท็บเล็ตที่มีจำนวนน้ำตาน้อยที่สุดได้หรือไม่? ฉันอยู่ภายใต้การสันนิษฐานว่า Emacs ทำงานโดยทั่วไปทุกอย่าง อย่างไรก็ตามหลังจากที่บางรอบ poking ดูเหมือนว่าทำงาน Emacs บนแท็บเล็ตอาจจะเป็นอย่างมากปวดหัว แต่ฉันรู้อะไร ดังนั้นคำถาม ฉันไม่มีแท็บเล็ตดังนั้นคำศัพท์ของฉันอาจไม่เหมาะกับคุณยาย ความเข้าใจที่ จำกัด ของฉันคือแอปเปิ้ลจะไม่ปล่อยให้ Emacs เข้าไปใน Appstore แต่อาจมีคุกรุ่นที่มีอยู่ในอีเธอร์ มีเวลาเมื่อใครจะได้รับมันในร้านค้า Google Play สำหรับ Android เป็น แต่มันเป็นเรื่องเก่าเสียและต้องมีการเล่นซอไม่น่ารำคาญ ฉันคิดว่ามันยากที่จะเชื่อว่าทางเลือกเดียวที่ทำงานได้คือการใช้Emacs บนแท็บเล็ต Windowsอาจเป็นเพราะการประชดนั้นยอดเยี่ยมเกินไป ฉันส่วนใหญ่สนใจว่าเราสามารถทำสิ่งนี้บนแท็บเล็ต Apple หรือ Android ไม่ใช่จากความรักที่เต็มไปด้วยอารมณ์สำหรับทั้งสองแพลตฟอร์ม แต่เพียงเพราะพวกเขาแพร่หลายมากและดูเหมือนไม่ได้รับการสนับสนุน ดังนั้น: เราจะได้รับ Emacs ใช้งานได้อย่างเต็มที่ (หรือเป็นส่วนใหญ่) ที่ใช้งานอยู่โดยเฉพาะอย่างยิ่งรุ่นที่ไม่ใช่ดีลแบบ one-shot แต่ได้รับการปรับปรุงด้วยรุ่นใหม่ ติดตั้งด้วยน้ำตาน้อยที่สุดความหมายโดยไม่ต้องจำคุกอุปกรณ์หรือใช้เวลามากเกินไปในการติดตั้งRube Goldberg-esque ?
28 android  ios 

7
มีระบบควบคุมเวอร์ชันที่ง่ายขึ้นหรือไม่เหมาะสำหรับการเขียนโค้ดที่ไม่ใช่ผู้ใช้ใน Emacs?
ฉันเป็นนักวิชาการและฉันชอบทำมากที่สุดในการเขียนของฉันใน Emacs สิ่งสำคัญที่ขาดหายไปสำหรับฉันคือความสามารถในการตรวจสอบการเปลี่ยนแปลงที่ฉันทำกับไฟล์ข้อความได้อย่างง่ายดายตลอดเวลา คุณลักษณะการติดตามในบทความ Wikipedia หรือ Google เอกสารต่างก็เป็นไปตามสิ่งที่ฉันกำลังมองหา ฉันได้เล่นกับระบบควบคุมเวอร์ชันเช่น git เพราะดูเหมือนว่า Emacs จะได้รับการสนับสนุนเป็นอย่างดี แต่ฉันพบว่ามันใช้งานยากและซับซ้อนกว่านั้นตามที่ฉันต้องการ การลงทะเบียนที่เก็บเช็คอินและเช็คเอาต์ทั้งหมดเป็นเพียงปัญหา ฉันไม่คิดว่าจะมีแพ็กเกจใด ๆ ที่ให้ฟังก์ชันการทำงานที่ฉันกำลังมองหาในลักษณะที่ใช้งานง่ายใช่ไหม

2
exec-path และ $ PATH
ฉันได้เห็นตัวอย่างออนไลน์ที่ผู้คนเพิ่มเส้นทางไปยังเส้นทางเริ่มต้นใน Emacs ด้วย: (add-to-list 'exec-path "/usr/local/bin/") ฉันใหม่สำหรับ Elisp และฉันคิดว่าฉันเข้าใจว่าข้อความข้างต้นทำอะไร แต่ฉันมีคำถามสองสามข้อ: ในสิ่งที่สั่งซื้อไม่ค้นหา Emacs ผ่านเส้นทางการดำเนินการหรือไม่ ตัวอย่างเช่นพิจารณาถึงค่าของ$PATH(env. variable) เลย (และถ้าเป็นเช่นนั้นก่อนหรือหลังexec-path?) ฉันจะย่อหน้าเส้นทางดังกล่าวหลาย ฉันสามารถต่อพวกเขาต่อกันได้ไหม? เช่น (add-to-list 'exec-path "PATH1", "PATH2") หรือฉันควรทำ: (add-to-list 'exec-path "PATH1:PATH2:PATH3") ฉันยังพบแพคเกจที่น่าสนใจนี้บน GitHub: exec เส้นทางจากเปลือก ทำไมจึงจำเป็นต้องมีแพ็คเกจสำหรับ? แรงจูงใจ เคยพบว่าคำสั่งทำงานในเชลล์ของคุณ แต่ไม่ใช่ใน Emacs? สิ่งนี้เกิดขึ้นมากมายใน OS X ซึ่งอินสแตนซ์ Emacs เริ่มต้นจาก GUI สืบทอดชุดตัวแปรสภาพแวดล้อมเริ่มต้น ไลบรารีนี้ใช้งานได้เพื่อแก้ไขปัญหานี้โดยการคัดลอกตัวแปรสภาพแวดล้อมที่สำคัญจากเชลล์ของผู้ใช้: มันทำงานโดยขอให้เชลล์ของคุณพิมพ์ตัวแปรที่สนใจแล้วคัดลอกลงในสภาพแวดล้อมของ Emacs
28 elisp  path 

12
จัดระเบียบเนื้อหาของ ~ / .emacs.d / init.el และ ~ / emacs.d หรือไม่
เมื่อเราเพิ่มบรรทัดมากขึ้นเรื่อย~/.emacs.d/init.elๆ เพื่อวัตถุประสงค์ต่าง ๆ (สำหรับ python-mode, สำหรับ emacs-eclim, สำหรับ ... ) ไฟล์จะยาวและอ่านได้น้อยลง มีวิธีในการช่วยจัดระเบียบเนื้อหาหรือไม่ ปัจจุบันของฉัน~/.emacs.dดูเหมือนว่านี้ $ ls * init.el auto-save-list: elisp: python-mode.el-6.1.3 elpa: archives auctex-readme.txt s-20140910.334 auctex-11.87.7 emacs-eclim-20140809.207 eshell: history python-mode.el-6.1.3ได้รับการติดตั้งด้วยตนเองในขณะที่ emacs-eclim-20140809.207ถูกติดตั้งด้วยelpaและผมไม่แน่ใจ 100% ว่าสิ่งอื่น ๆ ที่อยู่ภายใต้ได้โดยelpa/ elpaฉันจะจัดระเบียบเนื้อหาของได้~/.emacs.d/อย่างไร
28 init-file 

2
เป็นไปได้หรือไม่ที่จะส่งออกเนื้อหาย่อยโดยไม่มีหัวเรื่อง?
ฉันร่างเอกสารในโหมดองค์กรและส่งออกไปยัง LaTeX, HTML ฯลฯ ตามต้องการ ฉันมักจะใช้แท็ก:no_export:เมื่อใดก็ตามที่ฉันไม่ต้องการทรีย่อยบางอย่างที่จะแสดงในการส่งออก สิ่งที่ฉันต้องการก็คือต้องการให้การส่งออกละเว้นส่วนหัวย่อยบางอย่างโดยสิ้นเชิงแต่ไม่ต้องสนใจเนื้อหาย่อยของทรีย่อยภายใต้ส่วนหัวนั้น กล่าวอีกนัยหนึ่งทรีย่อยบางอย่างควรส่งออกราวกับว่าเนื้อหาของพวกเขาเป็นเพียงความต่อเนื่องของพาเรนต์แทนที่จะมีทรีย่อยของตัวเอง :no_title:ฉันนึกคิดจินตนาการแท็กเช่น ฉันต้องการให้เค้าร่างโหมดองค์กรของฉันดูมากกว่าที่ฉันคุ้นเคย แต่ฉันจะพิจารณาวิธีอื่นด้วยผลลัพธ์ที่คล้ายกัน เพื่อแสดงให้เห็นนี่คือ MWE ของเอกสารร่างในโหมดองค์กร * Chapter 1 ** Section 1 *** Paragraph 1 :no_title: First paragraph of text in the section. *** Paragraph 2 :no_title: Second paragraph of text in the section. * Chapter 2 ** Section 1 *** Subsection …

2
วิธีที่เร็วที่สุดในการโหลดไฟล์. emacs ของฉันคืออะไรเมื่อฉันทำการเปลี่ยนแปลงดังนั้นบัฟเฟอร์ที่ได้รับผลกระทบทั้งหมดของฉันจะรับการเปลี่ยนแปลงเหล่านั้น
ฉันรู้ว่าC-x C-eสิ่งใดeval-last-sexpและM-x eval-bufferสิ่งเหล่านี้ แต่ไม่เพียงพอที่จะรับการเปลี่ยนแปลงทั้งหมด บางครั้งคุณต้องปิดบัฟเฟอร์จริงที่อยู่ในโหมดที่เปลี่ยนการตั้งค่าและบางครั้งคุณต้องรีสตาร์ท emacs ทั้งหมด มีวิธีทั่วไปในการจัดการปัญหานี้มากขึ้นหรือไม่? อีกวิธีหนึ่งมีวิธีในการเริ่มต้นใหม่ emacs โดยไม่สูญเสียบัฟเฟอร์ที่เปิดอยู่และประวัติโต้ตอบ?


4
ฉันสามารถหลีกเลี่ยงไฟล์ elisp ที่ล้าสมัยแล้วได้หรือไม่?
บางครั้งเมื่อฉันเริ่ม Emacs ฉันได้รับข้อความเช่น ซอร์สไฟล์ `/home/USER/.emacs.d/elpa/....el 'ใหม่กว่าไฟล์ที่คอมไพล์ด้วยไบต์ นอกจากนี้บางครั้งฉันแก้ไขแพ็คเกจที่ฉันกำลังพัฒนาและลืมคอมไพล์ใหม่ เมื่อฉันพยายามโหลดไฟล์ใหม่ฉันต้องใช้เวลาสักครู่กว่าจะรู้ว่า Emacs ยังคงใช้ไฟล์ที่คอมไพล์เก่าอยู่ มีวิธีที่ฉันสามารถบอกให้ Emacs หลีกเลี่ยงไฟล์ที่คอมไพล์ด้วยไบต์ที่เก่ากว่าไฟล์ต้นฉบับที่เกี่ยวข้องหรือไม่?

3
ตัวเลือกในการเล่นเพลงจากภายใน Emacs มีอะไรบ้าง
ฉันมี.mp3ไฟล์เพลงมากมาย ( ) บนดิสก์ของฉันและฉันต้องการเล่นจากใน Emacs ฉันลองใช้EMMSแต่ดูเหมือนว่าจะค่อนข้างบวม ฉันอยากรู้เกี่ยวกับความเป็นไปได้อื่น ๆ ด้วยการเปรียบเทียบคุณสมบัติ โดยเฉพาะอย่างยิ่งฉันสนใจสิ่งเหล่านี้: เรียบง่าย - ผู้เล่นที่ให้มานั้นง่ายพอที่จะเริ่มใช้งานได้ภายในไม่กี่นาทีรวมถึงการติดตั้งและการเรียนรู้พื้นฐาน diredการรวม - เพื่อให้ฉันสามารถทำเครื่องหมายไฟล์เพลงบางไฟล์diredและให้พวกเขาเล่น / เพิ่มในรายการเพลง ความสามารถในการแก้ไข - ฉันต้องการความสามารถในการแก้ไขแท็ก id3

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.