Emacs

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

2
วิธีจัดการรายการอาร์กิวเมนต์ใน nadvice.el
ทำตามคำตอบของคำถามอีกข้อหนึ่งเกี่ยวกับระบบคำแนะนำใหม่ : ในแบบเก่าadvice.elมันเป็นไปได้ที่จะจัดการกับสมาชิกแต่ละคนของรายการอาร์กิวเมนต์ของฟังก์ชั่นที่แนะนำโดยไม่ต้องทำการยืนยันใด ๆ เกี่ยวกับสมาชิกเหล่านั้นที่ไม่ได้จัดการ ตัวอย่างเช่นคำแนะนำต่อไปนี้: (defadvice ansi-term (around prompt-for-name last) (let ((name (read-from-minibuffer "Tag: "))) (and (not (string= name "")) (ad-set-arg 1 (concat "Term: " name))) ad-do-it)) อนุญาตให้มีการจัดเตรียม (เป็นทางเลือก) ของอาร์กิวเมนต์ชื่อบัฟเฟอร์ansi-termในขณะที่ansi-termจะยังคงได้รับอาร์กิวเมนต์แรกโดยการพร้อมท์ตามรูปแบบโต้ตอบของตัวเอง (สำหรับการอ้างอิงในภายหลังansi-termลายเซ็นของคือ(PROGRAM &optional BUFFER-NAME)และรูปแบบการโต้ตอบของมันแจ้งให้ PROGRAM ที่มีค่าเริ่มต้นที่เป็นไปได้หลายประการ แต่ไม่ได้ทำอะไรเกี่ยวกับ BUFFER-NAME) nadvice.elฉันไม่แน่ใจหรือไม่ว่านี้คือในความเป็นไปได้ หากเป็นเช่นนั้นฉันไม่แน่ใจว่าจะสามารถทำได้ ฉันพบสองวิธีในการแทนที่รายการอาร์กิวเมนต์ของฟังก์ชันที่แนะนำ ตัวอย่างเช่นจากcombinators คำแนะนำจาก* info * (elisp) : `:filter-args' Call FUNCTION …
12 advice  arguments 

2
ฉันจะแก้ไขตัวอ่านของ Elisp ได้อย่างไร
การแก้ไขเครื่องอ่านจะช่วยให้สามารถแนะนำไวยากรณ์การอ่านใหม่ (เช่น#(hash table)และ'(quoted)) Lisps หลายคนมีความสามารถนี้ แต่ดูเหมือนจะไม่มีสิ่งอำนวยความสะดวกสำหรับ elisp
12 elisp 

2
ฉันสามารถใช้รูปภาพในโมเดลไฟแช็กของฉันได้หรือไม่?
Modeline ของฉันรกรุงรัง ฉันสามารถทำให้มันแสดงรูปภาพแทนชื่อโหมดได้หรือไม่? ฉันสามารถใช้ unicode Emoji (เช่น🐍สำหรับ Python หรือ🐓สำหรับ Coq) ได้ แต่เครื่องบางเครื่องที่ใช้ Emacs config ของฉันไม่ได้ติดตั้งฟอนต์ที่ถูกต้องไว้ล่วงหน้า โหมดที่ฉันกำลังเขียนดังนั้นฉันไม่สามารถคาดหวังให้ผู้ใช้ตั้งค่าแบบอักษรที่ถูกต้องได้) ฉันพยายามเพิ่ม:imageคุณสมบัติการแสดงผลลงใน modeline ที่เบากว่าของของเล่นรองโหมด แต่ไม่มีอะไรปรากฏใน modeline: (define-minor-mode my/test-mode "Test mode." :lighter (propertize " 🐓" 'display '(image :type imagemagick :file "/home/clement/.emacs.d/rooster.png")))

2
ต้นกำเนิดของคำว่า "งัด" คืออะไร?
ฉันสนใจที่จะเรียนรู้ว่าคำว่า "งัด" ได้รับชื่ออย่างไร ฉันสนใจด้วยเช่นกันว่าทำไม Emac "yank" จึงแตกต่างจาก vi / vim "yank" ดูเพิ่มเติม: คำถามที่สองเกี่ยวกับ Vi , บน Unix & Linux ;
12 yank  history 

1
ฉันสามารถอนุญาตให้เครื่องหมายวรรคตอนเรียกใช้คอลัมน์เติมที่ผ่านมาได้หรือไม่
ในวิชาการพิมพ์มีการฝึกที่เรียกว่า 'การยื่นออกมา' (หรือเครื่องหมายวรรคตอนที่แขวนอยู่ ) ที่อนุญาตให้สัญลักษณ์บางอย่างแขวนอยู่ที่ส่วนท้ายของระยะขอบ: ฉันต้องการทำสิ่งเดียวกันสำหรับเอกสารข้อความของฉัน ฉันสามารถเปลี่ยนfill-paragraph(และเพื่อน ๆ ) เพื่อละเว้นเครื่องหมายวรรคตอนท้ายบรรทัด ( .?!:;,'"-) เมื่อเติมย่อหน้าหรือไม่

5
ปิดใช้งาน smartparens ใน spacemacs
smartparens-modeไม่เหมาะกับสไตล์ของฉันของการแก้ไข หากฉันพยายามที่จะปิดการใช้งานทั่วโลกใน spacemacs โหมดจะเปิดใช้งานอีกครั้ง: (smartparens-global-mode -1) ฉันจะปิดการใช้งานโหมด smartparens ได้อย่างไร

3
ใส่ชื่อไฟล์ปัจจุบันใน minibuffer
ฉันจะแทรกชื่อไฟล์ของบัฟเฟอร์ไฟล์ที่ใช้งานอยู่ในคำสั่งได้อย่างไร เมื่อฉันเรียกใช้คำสั่งที่ต้องการชื่อไฟล์ฉันมักจะทำเช่นนั้นจากบัฟเฟอร์ไฟล์และต้องการชื่อของไฟล์นั้นในขณะที่พิมพ์คำสั่งลงใน minibuffer ฉันกำลังมองหาสมมุติC-x…ว่าฉันสามารถพิมพ์ในระหว่างการสร้างบรรทัดคำสั่งใน minibuffer ดังนั้นหากในขณะที่บัฟเฟอร์ปัจจุบันเป็นไฟล์ชื่อLorem Ipsum.txtฉันพิมพ์สิ่งนี้: M-x grep RET 'foo' SPC C-x … RET M-xgrepRETของขวัญ minibuffer กระตุ้นสำหรับgrepคำสั่ง ในการตอบสนองฉันพิมพ์อาร์กิวเมนต์รูปแบบ regex ( 'foo') แล้วใส่อาร์กิวเมนต์ชื่อไฟล์ ( C-x…) minibuffer นั้นจะจบลงเมื่อ: grep -nH -e 'foo' 'Lorem Ipsum.txt' คำสั่งใดที่มีอยู่จะได้รับชื่อไฟล์บัฟเฟอร์ปัจจุบันเช่นนี้ การเชื่อมโยงคีย์เริ่มต้นคืออะไร
12 files  minibuffer 

4
ฉันจะหลีกเลี่ยง * ในโหมดองค์กรได้อย่างไรเพื่อป้องกันการจัดรูปแบบตัวหนา
ถ้าผมเขียนสิ่งที่ต้องการ*shrug*ในโหมด org ก็จะถูก fontified โดยอัตโนมัติขณะที่ข้อความเป็นตัวหนา ฉันจะป้องกันสิ่งนั้นได้เช่นว่าจริง ๆ แล้ว*shrug*ปรากฏเป็นคำต่อคำเมื่อส่งออก? แก้ไข: ฉันยังต้องการที่จะใช้การจัดรูปแบบตัวหนา (โดยไม่ต้องเปลี่ยนรูปแบบตัวอักษรเริ่มต้นสำหรับตัวหนา) และมันไม่สำคัญว่าไฟล์ org ของฉันจะถูกส่งออกในรูปแบบไฟล์ใดเช่นควรทำงานกับ Markdown และ HTML ส่งออก. นี่คือบางสิ่งที่สำคัญนั่นคือเหตุผลที่มันถูกเขียนเป็นตัวหนา แต่สำหรับอย่างอื่นฉันไม่มีความคิด * ยัก *
12 org-mode 

3
การกำหนดค่าเดียวกันให้กับหลาย ๆ ตัวแปร?
บางครั้งฉันต้องตั้งค่าเดียวกันเป็นตัวแปรหลายตัว ใน Python ฉันสามารถทำได้ f_loc1 = f_loc2 = "/foo/bar" แต่ในข้อเขียนฉันเขียน (setq f_loc1 "/foo/bar" f_loc2 "/foo/bar") ฉันสงสัยว่าจะมีวิธีในการบรรลุผลนี้โดยใช้"/foo/bar"เพียงครั้งเดียวหรือไม่?
12 variables  setq 

1
จะเน้นบรรทัดปัจจุบันเฉพาะในหน้าต่างที่เลือกได้อย่างไร
ถาม : มีวิธีการhl-line-modeเน้นบรรทัดปัจจุบันเฉพาะในหน้าต่างที่เลือกหรือไม่ เมื่อฉันมีหลายหน้าต่างแสดงบัฟเฟอร์ด้วยhl-line-mode มันเป็นเรื่องยากที่จะบอกได้อย่างรวดเร็วซึ่งเป็นหน้าต่างปัจจุบัน ฉันได้cursor-in-non-selected-windowsตั้งค่าตัวแปรnilให้แสดงเคอร์เซอร์เฉพาะในหน้าต่างปัจจุบัน แต่คิวภาพนั้นเต็มไปด้วยเส้นที่ถูกเน้นสีในหน้าต่าง มีการตั้งค่าที่คล้ายกันหรือไม่ที่อนุญาตให้ฉันhl-line-modeแสดงบรรทัดที่ถูกเน้นสีในหน้าต่างปัจจุบันเท่านั้น? ยิ่งไปกว่านั้นมีวิธีที่จะให้บรรทัดที่เน้นสีแตกต่างกันเมื่ออยู่ในหน้าต่างที่ไม่ใช้งาน (คล้ายกับmode-line-inactive) หรือไม่? PS: ใช่ฉันสามารถดูบรรทัดของโหมดเพื่อบอกว่าหน้าต่างใดเปิดใช้งานอยู่ แต่การทำเช่นนั้นจะทำให้ตาของฉันออกไปจากสิ่งที่ฉันกำลังทำอยู่และหยุดพักสมาธิ

1
การเพิ่ม company-dabbrev ลงในป๊อปอัปเสร็จสิ้นของ บริษัท ได้อย่างไร
ติดตั้ง: GUI รุ่น GNU Emacs 25.0.50.1 (x86_64-w64-mingw32) ปี 2015-07-25 ใน KAEL รวบรวมจาก EmacsW64 ใช้เวอร์ชันล่าสุดของจาก MELPA Windows 7 x64 บิต สถานการณ์: ตัวอย่างเช่นฉันพิมพ์ลงในบัฟเฟอร์เพื่อการแสดงผล จากนั้นเริ่มบรรทัดใหม่ด้านล่างและพิมพ์ fooba ฉันคาดว่าจะได้รับการfoobarsentenceแนะนำจากหน้าต่างป๊อปอัปของ บริษัท foobarsentenceแต่ไม่มี ผมพบว่ามันออกมาจากคำตอบที่ฉันสามารถใช้ บริษัท dabbrev`` M-/ที่อื่นที่ถูกผูกไว้ แต่ฉันไม่สามารถหาวิธีที่ฉันสามารถ 'ป้อน' คำแนะนำจากcompany-dabbrevในหน้าต่างป๊อปอัป ฉันทำ screencast gif เพื่อทำให้คำถามของฉันชัดเจน ในขณะที่คุณสามารถดูสายM-/ company-dabbrevแต่ฉันอยากจะเห็นสิ่งที่เสนอในป๊อปอัป บริษัท เสร็จสมบูรณ์ ฉันประหลาดใจที่นี่ไม่ใช่ค่าเริ่มต้น ข้อเสนอแนะใด ๆ เพื่อ 'ป้อน' คำแนะนำจากcompany-dabbrevไปยังหน้าต่างป๊อปอัปของ บริษัท

3
เส้นแบ่งในวาระการประชุมองค์กร?
ถาม : ฉันสามารถใส่เส้นแบ่งในorgมุมมองกำหนดการของฉันได้หรือไม่? บัฟเฟอร์ของวาระการประชุมของฉันอาจยุ่งเล็กน้อยเมื่อฉันครบกำหนด ความยุ่งเหยิงนี้มีผลในทางลบทำให้ฉันหลีกเลี่ยงการดูวาระของฉันเพราะมันทำให้ฉันประหลาดใจ ฉันกำลังมองหาวิธีที่จะทำให้มันดูน่ากลัวน้อยลง สิ่งหนึ่งที่ฉันต้องการคือสามารถใส่เส้นแบ่ง (เช่นเส้นประ) ในระหว่างวาระการประชุมที่: มีกำหนดวันนี้ ผ่านพ้นกำหนดส่ง (เกินกำหนด X วัน) และ มีกำหนดส่งใหม่ (ครบกำหนดใน X วัน) เป็นไปได้หรือไม่ที่จะใส่เส้นแบ่งในมุมมองกำหนดการ ถ้าใช่ฉันจะทำอย่างไร

2
เวอร์ชันที่คอมไพล์ด้วยไฟล์ elisp
ฉันมีทั้ง.elไฟล์รวบรวมและเวอร์ชันไบต์ ( .elc) ของ elisp ฉันลบ.elไฟล์โดยไม่ตั้งใจ ฉันสามารถดึง.elไฟล์จาก.elcเวอร์ชันได้หรือไม่ เป็น.elcไฟล์ที่ไม่มี.elไฟล์ทำงานหรือไม่?

2
ฉันจะกระโดดออกจากวงเล็บปิดได้อย่างไร
ฉันใช้spacemacsเพื่อแก้ไขรหัสหลาม เมื่อฉันพิมพ์วงเล็บเปิดวงเล็บปิดจะถูกแทรกให้ฉันโดยอัตโนมัติและเคอร์เซอร์จะอยู่ตรงกลางเพื่อพิมพ์ต่อไป แต่: เมื่อฉันพิมพ์ภายในวงเล็บฉันต้องการวิธีที่รวดเร็วในการกระโดดออกจากพวกเขาและเชื่อมโยงไปถึงหลังจากวงเล็บปิด ตอนนี้ผมเปลี่ยนไปสภาพปกติเลื่อนเคอร์เซอร์หนึ่งหน่วย (เมื่อฉันในตัวละครก่อนวงเล็บปิด) aและจากนั้นก็กลับเข้ามาแทรกรัฐที่มี ฉันจะทำสิ่งนี้ได้อย่างมีประสิทธิภาพมากขึ้นได้อย่างไร

2
บันทึกเส้นทางการคำนวณเพื่อใช้ในภายหลัง
มีความเป็นไปได้ในการบันทึก Emacs Calculator Trail (เป็นไฟล์) และกู้คืนในภายหลังหรือไม่? ถ้าไม่มันควรจะเป็นคุณสมบัติ? ตัวอย่างเช่นเมื่อฉันมีการคำนวณที่ไม่สมบูรณ์ แต่ต้องปิด Emacs ของฉันมันจะดีมากถ้าฉันสามารถดำเนินการต่อในภายหลัง กรณีที่สอง: ฉันทำการคำนวณบางอย่างและต้องการเก็บวิธีที่ฉันทำเพื่อตรวจสอบในภายหลังว่าฉันทำถูกต้องหรือต้องการแก้ไข เหตุผลที่สองคือเหตุผลที่ฉันใช้ MATLAB (ฉันรู้มากเกินไป) สำหรับการคำนวณเพียงเล็กน้อยเพื่อให้ฉันสามารถกู้คืนได้ แต่ฉันต้องการใช้ Emacs Calc เท่านั้น! ขอบคุณสำหรับคำตอบ
12 saving  calc 

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