Emacs

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

3
Magit แยกก้อนใหญ่ออกเป็นสองก้อน
มีคำถามเกี่ยวกับเกี่ยวกับ hunks แยกโดยใช้ magit เอและทั้งสองได้รับการแก้ปัญหาเป็นไปขั้นตอนทั้งภูมิภาค (ทำเครื่องหมายภูมิภาคเวทีตี) หรือหดตัว / เติบโต hunks ทั้งหมดที่ใช้และ+ -นั่นไม่ใช่สิ่งที่ฉันตามมา ในบัฟเฟอร์สถานะของ magit ฉันต้องการแยกก้อนใหญ่ออกเป็นสอง hunks ณ จุดนั้นหรืออย่างน้อยก็ที่เส้นรอบจุด เปลี่ยนเป็น (แก้ตัวการจัดรูปแบบ diff ของฉันไม่ดี) @@ blah blah blah - foo + bar + baz + เข้าไป @@ blah blah - foo + bar @ blah blah + baz เมื่อแต้มอยู่บนแถบ แรงจูงใจ: bazเป็นคำสั่ง debug …
34 magit 

1
วิธีทำให้โหมด บริษัท เป็นแบบตัวพิมพ์ใหญ่ - เล็กบนข้อความล้วน
ตามค่าเริ่มต้นโหมด บริษัท ดูเหมือนจะแปลงการคาดคะเนทั้งหมดเป็นตัวพิมพ์เล็ก เช่น: HelloWorldOfGoo HelloWorldOfEmacs -> Hell [Helloworldofgoo] //Company prediction [Helloworldofemacs] สิ่งนี้ไม่สามารถใช้งานได้จริงสำหรับภาษาการเขียนโปรแกรมที่เล็กและใหญ่โดยไม่มีแบ็กเอนด์พิเศษ ฉันจะทำให้ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ของ บริษัท อ่อนตัวได้อย่างไร

2
วิธีล้างแคชไฟล์ projectile ใน spacemacs?
ฉันกำลังใช้spacemacsและมักจะใช้การSPC p fเชื่อมโยงคีย์เพื่อค้นหาไฟล์ในprojectileโครงการ แต่แม้หลังจากลบไฟล์ออกจากคอมไพล์แล้วSPC p fก็จะแสดงไฟล์ที่ถูกลบนั้นให้ฉันด้วย ฉันพยายามใช้SPC p Iแคชที่ไม่ถูกต้อง แต่นั่นไม่ได้ผล วิธีแก้ปัญหา

2
ESS วางแผนโดยตรงกับ Emacs buffer หรือไม่?
ถาม:ฉันจะให้ ESS (R) พล็อตตรงไปยังบัฟเฟอร์ Emacs ได้อย่างไร เมื่อโต้ตอบกับ R ถึง ESS ค่าเริ่มต้น R จะวางไข่หน้าต่างกราฟิกแยกต่างหากด้านนอกของ Emacs เพื่อวาดแผนผัง (แน่นอนหนึ่งสามารถเลือกอุปกรณ์กราฟิกอื่น ๆ ซึ่งเป็นวิธีที่เราวางแผนเป็น PDF และอื่น ๆ ) สองประเด็น: ประการแรกหน้าต่างใหม่ขโมยโฟกัสจาก Emacs และที่สองแน่นอนว่ามันจะดีเพื่อให้ทุกอย่างเรียบร้อยและเป็นระเบียบเรียบร้อย ภายในระบบนิเวศของ Emacs ดังนั้น: มีวิธีใดบ้างในการพล็อต "โดยตรง" (หรือแม้แต่ทางอ้อม) ไปยังบัฟเฟอร์ของ Emacs และที่สำคัญกว่านั้นคือการทำเช่นนั้นโดยไม่มีการแทรกแซงโดยผู้ใช้จำนวนมาก? มีการพูดคุยกันก่อนหน้านี้ในเธรดสแต็คโอเวอร์โฟลว์เก่านี้แต่การแก้ปัญหาบางส่วนที่เสนอนั้นไม่เหมาะ พวกเขาส่วนใหญ่เกี่ยวข้องกับการเปลี่ยนอุปกรณ์การพล็อตใน R (พูดเป็น PNG) การพล็อตเป็นไฟล์ชั่วคราวจากนั้นไปที่ไฟล์นั้นด้วยตนเองในบัฟเฟอร์ Emacs ทั้งหมดนี้ทำให้ฉันรู้สึกว่าเป็น clunky มากโดยเฉพาะอย่างยิ่งถ้าเป้าหมายคือการใช้หน้าต่างพล็อต / บัฟเฟอร์แบบโต้ตอบและวาดพล็อตจำนวนมากในเซสชัน (หรือเพิ่มเลเยอร์ให้กับพวกเขาได้ทันที) ฉันคาดเดาที่นี่ แต่มันทำให้ฉันรู้สึกว่าเนื่องจากทั้ง …
33 ess  r 

3
ฟังก์ชันใดขาดหายไปใน GNU Emacs เมื่อเปรียบเทียบกับ XEmacs
ในแง่ของการใช้งานอะไรคือประเด็นสำคัญที่ทำให้ XEmacs แตกต่างจาก GNU Emacs ในปัจจุบัน? ในการพิจารณาถึงตารางการวางจำหน่ายที่แตกต่างกันเวอร์ชั่นการพัฒนาล่าสุดของแต่ละรสชาติของ Emacs ควรได้รับการพิจารณาเป็นพื้นฐานสำหรับการเปรียบเทียบ เราควรหลีกเลี่ยงข้อโต้แย้งเกี่ยวกับปัญหาประวัติศาสตร์ / องค์กร / ปรัชญา / ... ดังนั้นโปรดพูดถึงความแตกต่างด้านการทำงาน / เทคนิคอย่างหมดจดเท่านั้น
32 xemacs 

6
การเรียกใช้ spacemacs ข้าง emacs ปกติ: วิธีแยก. emacs.d แยกต่างหาก
ฉันต้องการลองใช้ spacemacs แต่ฉันยังไม่ต้องการเปลี่ยนจากการกำหนดค่า emacs ปกติของฉันดังนั้นฉันต้องการให้การกำหนดค่าที่อยู่ในของฉัน.emacs.dอยู่ในไดเรกทอรีเดียวและการกำหนดค่าที่เทียบเท่าสำหรับ spacemacs จะอยู่ในไดเรกทอรีอื่น ฉันไม่สนใจว่าชื่อใดไดเรกทอรีใดมี เป็นไปได้หรือไม่ที่ chroots / LD_PRELOAD / กลอุบายอื่น ๆ ฉันจะทำมันได้อย่างไร

10
ฆ่าหรือคัดลอกบรรทัดปัจจุบันด้วยการกดแป้นน้อยที่สุด
ฉันC-a C-k C-kจะฆ่าจุดเส้นทั้งหมดที่อยู่บน หากฉันต้องการคัดลอกบรรทัดแทนที่จะฆ่ามันฉันสามารถกดได้C-/ C-/ หลังจากพิมพ์ลำดับด้านบน C-a C-SPC C-n M-wหรือฉันสามารถทำได้ มีวิธีที่เร็วกว่าในการฆ่าหรือคัดลอกจุดเส้นทั้งหมดที่เปิดอยู่?

8
วิธีดำเนินการกับ package.el การตรวจสอบลายเซ็นล้มเหลว
ฉันเพียงแค่พยายามที่จะติดตั้งascii-art-to-unicodeจากที่เก็บ GNU ( http://elpa.gnu.org/ ) list-packagesผ่าน ฉันได้รับข้อผิดพลาดต่อไปนี้: package--check-signature: Failed to verify signature ascii-art-to-unicode-1.9.el.sig: ("No public key for 474F05837FBDEF9B created at 2014-09-24T16:20:01+0200 using DSA") ฉันใช้ cask / pallet เพื่อจัดการแพ็คเกจของฉัน มีการตั้งค่าบางอย่างที่ฉันพลาดหรือไม่? มีการเปลี่ยนแปลงล่าสุดของ elpa หรือไม่ ฉันใช้ emacs 24.4 pre-release

3
โหมด Org บนโทรศัพท์หรือใน Evernote?
ฉันใช้โหมด Org เพื่อติดตามทุกอย่าง แนวคิด, บันทึก, รายการที่ต้องทำ, ตัวอย่างโค้ด, ฯลฯ คุณตั้งชื่อมัน ปัญหาหนึ่งที่ฉันมีคือฉันไม่สามารถดึงข้อมูลโหมดองค์กรของฉันบนโทรศัพท์ของฉันได้อย่างง่ายดายแม้ว่าจะเป็นเพียงการตรวจสอบบันทึกย่อของฉันหรือค้นหาภายในพวกเขาอย่างรวดเร็ว เพื่อความชัดเจนฉันจะเก็บไฟล์ org ของฉันไว้ในที่เก็บ Github ซึ่งยอดเยี่ยม แต่นี่ก็ยังไม่คลาดเคลื่อนสำหรับการเรียกดูและค้นหาสมาร์ทโฟน จะเป็นการดีสิ่งที่ฉันกำลังมองหาวิธีที่จะบันทึกประสาน org โหมดด้วยEvernote เป็นไปได้หรือไม่ ถ้าไม่ใช่ฉันมีทางเลือกอะไรในการเรียกดูไฟล์โหมด org บนโทรศัพท์ของฉัน? ฉันจะซิงค์ได้อย่างง่ายดายและเรียกดูภายหลังและค้นหาไฟล์โหมดองค์กรของฉันจากโทรศัพท์ของฉันได้อย่างไร
31 org-mode 

3
มีโหมด Emacs หรือไม่ซึ่งเน้นความแตกต่างจากเวอร์ชั่นที่กำหนดไว้?
คุณสมบัติหนึ่งที่ Xcode มีซึ่งฉันคิดว่าค่อนข้างเรียบร้อยคือโหมด "การเปรียบเทียบ" ซึ่งแสดงความแตกต่างอย่างต่อเนื่องระหว่างบัฟเฟอร์ปัจจุบันและการกระทำล่าสุด มีอะไรแบบนี้สำหรับ Emacs ไหม? ฉันไม่สนใจเกี่ยวกับมุมมองด้านข้างพร้อมกัน เพียงแค่เน้นพื้นหลังของบรรทัดใด ๆ ที่มีการเปลี่ยนแปลงจะเป็นความช่วยเหลือที่ดี ฉันรู้ว่าฉันสามารถทำได้ตลอดเวลาC-x v =แต่มันเป็นมุมมองคงที่ของเวลาหนึ่งจุดและแสดงให้เห็นถึงความแตกต่าง ฉันต้องการที่จะเห็นไฟล์ทั้งหมดของฉันแก้ไขได้โดยมีการเน้นสี

3
ทำไม `ให้ 'เร็วขึ้นด้วยขอบเขตศัพท์?
ขณะอ่านผ่านซอร์สโค้ดของdolistมาโครฉันพบความคิดเห็นต่อไปนี้ ;; นี้ไม่ได้มีการทดสอบความน่าเชื่อถือ แต่มันก็ไม่ได้เรื่องเพราะทั้งสองความหมายเป็นที่ยอมรับสรรพสินค้าหนึ่งที่เร็วขึ้นเล็กน้อยกับการกำหนดขอบเขตแบบไดนามิกและอื่น ๆ ที่เป็นเร็วขึ้นเล็กน้อย (และมีความหมายทำความสะอาด) ที่มีการกำหนดขอบเขตของคำศัพท์ ซึ่งอ้างถึงตัวอย่างนี้ (ซึ่งฉันได้ทำให้เข้าใจง่ายขึ้น) (if lexical-binding (let ((temp list)) (while temp (let ((it (car temp))) ;; Body goes here (setq temp (cdr temp))))) (let ((temp list) it) (while temp (setq it (car temp)) ;; Body goes here (setq temp (cdr temp))))) มันทำให้ฉันประหลาดใจเมื่อเห็นletรูปแบบที่ใช้ในวง ฉันเคยคิดว่ามันช้าเมื่อเทียบกับการใช้ซ้ำ ๆsetqกับตัวแปรภายนอกเดียวกัน …

8
วิธีการเลือกภูมิภาคที่ไม่ต่อเนื่องใน Emacs
สมมติว่าฉันได้เลือกข้อความบางส่วนในบัฟเฟอร์ปัจจุบันแล้ว เป็นไปได้หรือไม่ที่จะเลือกข้อความอีกส่วนหนึ่งในขณะที่ยังคงส่วนที่เลือกไว้ก่อนหน้า (และอื่น ๆ ) เพิ่ม : หนึ่งแรงจูงใจสำหรับการทำงานนี้เป็นดังนี้: สมมติว่าฉันมีข้อความที่มีลักษณะเช่นนี้: paragraph 1 ... paragraph 2 ... paragraph 3 ... paragraph 4 ... paragraph 5 ... ฉันต้องการลบย่อหน้าบางส่วน (เช่น 2, 4 และ 6) และแทรกไว้ข้างหน้าวรรค 1
31 region 

5
มีวิธีใช้การแทนที่แบบสอบถามจากโหมดเอาต์พุต grep / ack / ag หรือไม่?
ฉันรู้find-grep-diredแล้วทำเครื่องหมายไฟล์ที่เกี่ยวข้องแล้วกดQเพื่อเรียกใช้dired-do-query-replace-regexpไฟล์ที่ทำเครื่องหมาย น่าเสียดายที่ต้องรีสตาร์ท grep และไม่ต้องใช้ git-grep, ack หรือ ag และเปลี่ยนเป็นใช้find-grepซึ่งมีไวยากรณ์ที่แตกต่างกันสำหรับการค้นหา ฉันรู้multi-occurและoccur-edit-modeด้วย แต่ต้องเริ่มต้นใหม่โดยใช้การค้นหาเกิดขึ้น ในที่สุดag-diredดูเหมือนจะตรงกับชื่อไฟล์ไม่ใช่เนื้อหาของไฟล์ วิธีการปัจจุบันของฉันคือการสร้างเอาต์พุต grep จากนั้นเรียกใช้แมโครที่เริ่มต้นในบัฟเฟอร์ grep และเข้าชมแต่ละรายการที่ตรงกันและเปลี่ยนแปลง ฉันต้องการใช้query-replaceโดยตรงกับชุดการแข่งขันที่พบ สิ่งที่ฉันต้องการจะทำคือการอย่างใดอย่างหนึ่งได้อย่างรวดเร็วสร้างบัฟเฟอร์ dired จากการส่งออก grep ที่มีอยู่เพื่อที่ฉันสามารถทำเครื่องหมายไฟล์ที่เหมาะสมและโทรสอบถาม regexp กับพวกเขาหรือเปลี่ยนเอาท์พุท grep ลงในรายการของบัฟเฟอร์สำหรับmulti-occurเพื่อที่ฉันสามารถใช้occur-edit-modeเพื่อ แก้ไขให้ถูกต้องและรันquery-replaceบนบัฟเฟอร์นั้น ฟังก์ชันนี้มีอยู่หรือมีเวิร์กโฟลว์อื่นที่สามารถแก้ไขปัญหานี้ได้หรือไม่
31 dired  editing  replace  occur 

2
การทำความเข้าใจกับ emacs align-regexp
ฉันอ่านเอกสาร Emacs แล้วalign-regexpแต่ยังคงมีปัญหาในการทำความเข้าใจวิธีการทำงาน สิ่งที่ผมพูดเกี่ยวกับการเป็นรูปแบบนำหน้ามันไม่ได้แบบง่ายๆC-uM-xalign-regexp M-xalign-regexpนี่คือคำถามของฉัน: พารามิเตอร์แรก (regex) ต้องจับคู่กับสตริงทั้งหมดหรือไม่ จะเกิดอะไรขึ้นถ้า regex จับคู่กับส่วนของสตริงเท่านั้น? สิ่งที่จะจัดหาให้กับพารามิเตอร์ที่สอง (กลุ่มวงเล็บเพื่อแก้ไข (จัดชิดถ้าลบ)) ตามที่ฉันเข้าใจที่นี่ฉันต้องระบุหมายเลขกลุ่มที่ถูกจับ (นับจาก 1) ใช่ไหม "ปรับว่าลบหรือไม่" หมายความว่าถ้าฉันต้องการจัดกลุ่ม 3 ให้ชิดขวาฉันจะส่ง-3เป็นอินพุตหรือไม่ พารามิเตอร์ที่สาม "จำนวนระยะห่าง (หรือคอลัมน์ถ้าลบ)" หมายถึงอะไร ฉันแค่ไม่เข้าใจว่าพารามิเตอร์นี้ทำอะไร ฉันรวบรวมตัวอย่างข้อความเพื่อฝึกฝน หากใครสามารถใช้ข้อความด้านล่างเป็นตัวอย่างที่จะเป็นประโยชน์มาก จาก class CreateStudents < ActiveRecord::Migration def change create_table :students, :comment => "学生信息表" do |t| t.string :political_status, :comment => "政治面貌" t.string :education_level, …

3
จะทราบได้อย่างไรว่าจะใช้อัญประกาศเดี่ยวข้างหน้าชื่อตัวแปรเมื่อใดหรือไม่
ฉันมีด้านล่าง: (setq some-variable "less") ฉันกำลังสับสนว่าทำไมผมต้องใช้คำพูดเดียวกับแต่ไม่ได้มีboundpbound-and-true-p ตัวอย่างที่ 1: (when (boundp 'some-variable) (message "some-variable is %s" some-variable)) ผล: "บางตัวแปรน้อย" ตัวอย่าง 2a: (when (bound-and-true-p some-variable) ;; Note that using single-quote causes error (message "some-variable is %s" some-variable)) ผล: "บางตัวแปรน้อย" ตัวอย่าง 2b: (when (bound-and-true-p 'some-variable) ;; Note that using single-quote causes error (message "some-variable …
31 elisp  quote 

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