Emacs

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

5
ฉันจะทำให้การรหัสฟัซซี่สมบูรณ์
เมื่อใช้ ReSharper ในสัญลักษณ์ Visual Studio สามารถป้อนอัตโนมัติได้โดยใช้การจับคู่แบบคลุมเครือแทนที่จะเป็นการจับคู่คำนำหน้า ตัวอย่างเช่นถ้าฉันกำลังมองหาฟังก์ชั่นที่มีชื่อว่าDoSomethingAmazingฉันสามารถเขียนDoSoAmและมันจะพยายามที่จะขยายแบบสอบถามของฉันเพื่อให้ตรงกับสัญลักษณ์ทั้งหมดที่มีDo, SoและAmหนึ่งในชื่อของพวกเขา อีกตัวอย่างหนึ่งสามารถพบได้ใน gif ด้านล่าง คุณสามารถเห็นการขยายหลายครั้งที่มีการขยายสตริงที่ไม่ใช่คำนำหน้าเป็นสัญลักษณ์ที่ถูกต้อง (ไม่สนใจการขยายตัวอย่างในคำถามนี้ฉันเกี่ยวข้องกับการจับคู่แบบคลุมเครือเท่านั้น) ตัวอย่างอื่นสามารถเห็นได้ในปลั๊กอิน YouCompleteMe สำหรับ Vim: การเติมข้อความอัตโนมัติและโหมด บริษัททั้งคู่ดูเหมือนจะมีการจับคู่คำนำหน้า แต่ฉันไม่สามารถหาวิธีเปิดใช้งานการจับคู่แบบคลุมเครือได้ การแก้ปัญหาจะเป็นการดีที่จะเป็นผู้ไม่เชื่อเรื่องภาษาและนำไปใช้กับแพคเกจการเติมสัญลักษณ์ใด ๆ ที่ฉันใช้ แต่ฉันก็สนใจในการแก้ปัญหาเฉพาะภาษาด้วย ฉันดูHelm แล้วแต่ไม่พบวิธีที่จะนำไปใช้กับการเติมโค้ดให้สมบูรณ์ ฉันได้พิจารณาทางเลือกอื่น ๆ เช่นการมีปุ่มลัดเพื่อเปิดใช้งานการเติมเต็มสัญลักษณ์โดยใช้Helm buffer แต่ฉันหวังว่าจะมีวิธีการทำเช่นนี้โดยใช้การเติมสไตล์ป๊อปอัป ฉันยังเปิดให้ทำการตั้งค่าด้วยตนเองบนพื้นฐานต่อภาษาเนื่องจากบางภาษาแยกสัญลักษณ์ที่มีเครื่องหมายขีดกลางในขณะที่คนอื่นใช้ขีดเส้นใต้หรือขีดคั่นซึ่งฉันคิดว่าจะส่งผลกระทบต่อวิธีการจับคู่จะทำ

2
Git rm จาก magit
นี่เป็นพื้นฐานมาก แต่ฉันไม่สามารถหาคำตอบในเว็บได้ เป็นไปได้git rmหรือไม่ที่จะลบไฟล์ที่ถูกติดตามออกจาก magit? ขอบคุณ
27 magit  deletion 

5
ฉันจะแสดงหมายเลขบรรทัดใน emacs ได้อย่างไร (ไม่ใช่ในโหมดบรรทัด)
ฉันรู้วิธีแสดงหมายเลขบรรทัด (และคอลัมน์) ในโหมดบรรทัด แต่ฉันต้องการให้ emacs แสดงหมายเลขบรรทัดสำหรับทุกบรรทัดทางด้านซ้าย ฉันเคยเห็นสิ่งนี้ทำในกลุ่มและแก้ไขข้อความอื่น ๆ ฉันจะทำสิ่งนี้เพื่อ emacs ได้อย่างไร

2
ค่าเริ่มต้นของพารามิเตอร์ทางเลือก
Emacs Lisp ไม่ได้รับการสนับสนุนด้านการสร้างประโยคสำหรับพารามิเตอร์ที่เป็นตัวเลือก อะไรคือสำนวนที่แนะนำสำหรับการจัดหาพารามิเตอร์เหล่านี้? เพื่อชี้แจงประเด็นของฉันนี่เป็นวิธีหนึ่งที่ชัดเจนเกินไปในการทำเช่นนั้น (defun command (a &optional supplied-b) (let ((b (or supplied-b default-b))) (command-body a b))) สไตล์ที่แนะนำคืออะไร?
26 elisp 

3
ความแตกต่างระหว่างการพุชและการเพิ่มในรายการคืออะไร
ฉันพบว่าแพคเกจต่าง ๆ ในคำแนะนำการติดตั้งใช้ push หรือ add-to-list (ตัวอย่างเช่นการเพิ่มไดเรกทอรีไปยัง load-path) และฉันก็สงสัยว่าอะไรคือความแตกต่างและกรณีการใช้งานของแต่ละคนจะเป็นอย่างไร
26 elisp 

5
วิธีเลื่อนพื้นที่ข้อความที่เลือกใน Emacs ด้วยช่องว่างจำนวนหนึ่ง?
ฉันกำลังเขียนโค้ดไพ ธ อนดังนั้นการขยับ / ย้ายบล็อกของเส้นจึงเป็นสิ่งสำคัญเพื่อหลีกเลี่ยงการผ่านแต่ละบรรทัด ฉันจะทำสิ่งนี้โดยไม่ใช้แอดออนได้อย่างไร? มีคำสั่งการกดแป้นการดำเนินการชนิดหนึ่งที่จะทำสิ่งนี้
26 whitespace 


2
การขยายโหมดองค์กรด้วยมาร์กอัปเพิ่มเติม
ฉันต้องการเพิ่มมาร์กอัปและการจัดรูปแบบสำหรับมาร์กอัปนั้นเช่น<kbd>...</kbd>มีกล่องล้อมรอบมาร์กอัปดังกล่าว (setq org-hide-emphasis-markers t)ฉันยังต้องการเครื่องหมายขึ้นเพื่อเป็นที่เข้ากันได้กับ นั่นคือเมื่อตัวแปรมีการตั้งค่าtที่<kbd>และ</kbd>แท็กจะหายไปทิ้งข้อความระหว่างมันกับที่ระบุไว้ข้างต้นการจัดรูปแบบ คำตอบที่โพสต์ในคำถามนี้: วิธีการเน้นข้อความอย่างถาวรในโหมดองค์กร ไม่สามารถแก้ปัญหานี้ได้เนื่องจากมันจะใช้ได้เฉพาะกับมาร์กอัปที่มีอยู่เท่านั้นไม่ขยาย Org ด้วยมาร์กอัปใหม่


4
ฉันจะจำลองเหตุการณ์กุญแจ Arbitary จาก Elisp ได้อย่างไร
เป็นไปได้หรือไม่ที่จะจำลองเหตุการณ์กุญแจโดยพลการจาก elisp? ฉันตระหนักถึงวิธีที่ฉันสามารถค้นหาการเชื่อมโยงสำหรับคีย์ที่กำหนดและจากนั้นเรียกคำสั่งนั้นแบบโต้ตอบ แต่จะเกิดอะไรขึ้นถ้าเหตุการณ์คีย์นั้นไม่ได้ผูกไว้กับคำสั่ง ในฐานะที่เป็นหนึ่งในตัวอย่างสิ่งที่ถ้าผมอยากจะผูกC-`จะประพฤติเช่นเดียวกับESCที่สำคัญในบริบททั้งหมด ?

3
วิธีทำให้ Emacs แสดงผล HTML โดยไม่ต้องบันทึกไฟล์
หากคุณเคยใช้JS Binคุณจะรู้ว่าเมื่อคุณพิมพ์รหัส (HTML, CSS, Javascript) ทางด้านขวาจะได้รับการอัปเดตเพื่อให้เหมาะกับสิ่งที่คุณพิมพ์ ฉันพบว่านี่เป็นหนึ่งในเครื่องมือที่มีประโยชน์ที่สุดสำหรับการสร้างโค้ดขนาดเล็ก อย่างไรก็ตามฉันต้องการคุณสมบัติเดียวกันที่จะนำไปใช้กับ Emacs ดังนั้นเมื่อฉันพิมพ์ / แก้ไขรหัสในบัฟเฟอร์ Emac ของฉันหน้าเว็บจะรีเฟรชหรือโหลดแบบอะซิงโครนัสโดยไม่ต้องบันทึกไฟล์หรือรีเฟรชหน้า ขณะที่ทราบด้าน: ฉันไม่ดูแลถ้าเว็บเบราเซอร์เป็นเหมือนภายในw3หรือภายนอกเช่นGoogle Chrome
26 html 

2
บรรทัดใหม่ในชื่อเรื่องของเอกสาร html ที่ส่งออกโหมด
ฉันใช้โหมด org เพื่อจัดทำเอกสารและมักจะส่งออกเป็น pdf (ผ่าน latex) และ html หาก\\อักขระอยู่ท้ายบรรทัดบรรทัดนั้นจะบังคับให้อักขระขึ้นบรรทัดใหม่เมื่อส่งออกไปยังทั้ง pdf และ html แต่ฉันต้องการทราบวิธีบังคับอักขระขึ้นบรรทัดใหม่ระหว่างบรรทัดเมื่อส่งออกเป็น html มันจะมีประโยชน์ที่จะมีทางออกนี้เพื่อให้ฉันสามารถมีชื่อหลายบรรทัดในการส่งออก html ด้วย ตัวอย่าง: #+TITLE: First Line of Title \\ Second Line of Title การส่งออกข้างต้นไปยัง 2 บรรทัดในการส่งออกในรูปแบบ pdf แต่\\ตัวอักษรนั้นยังคงอยู่ในการส่งออกแบบ html (เนื่องจากไม่ได้อยู่ที่ท้ายบรรทัด) ฉันจะจัดรูปแบบชื่อเรื่องอย่างไรเพื่อให้ชื่อหลายบรรทัดส่งออกได้ดีในทั้งสองรูปแบบ

4
ฉันจะวัดประสิทธิภาพของรหัส elisp ได้อย่างไร
ฉันจะวัดประสิทธิภาพของรหัส elisp ของฉันได้อย่างไร มีเครื่องมือ / แพ็คเกจภายนอกใดบ้างที่ฉันสามารถวัดเวลาได้ นอกจากเวลาทั้งหมดแล้วฉันสามารถดูโปรไฟล์ที่แสดงเวลาที่ใช้ต่อฟังก์ชั่นได้หรือไม่ ฉันจะโปรไฟล์การใช้หน่วยความจำด้วยหรือไม่

4
วิธีบันทึกบัฟเฟอร์อัตโนมัติเมื่อ Emacs หมดโฟกัส
ฉันเพิ่งมีผู้ใช้ Sublime Text ลองใช้ Emac สักพักหนึ่งและเขาก็สนใจที่จะรับพฤติกรรมการบันทึกอัตโนมัติแบบเดียวกันใน Emacs โดยทั่วไปเขาต้องการให้บัฟเฟอร์ทั้งหมดถูกบันทึกเมื่อใดก็ตามที่เฟรมสูญเสียการโฟกัส (บันทึกไว้จริงๆไม่ใช่แค่สำรองข้อมูล) ซึ่งรวมถึงเมื่อเปลี่ยนหน้าต่างไปเป็นแอปพลิเคชันที่แตกต่างอย่างสิ้นเชิง ฉันไม่พบเหตุการณ์ใด ๆ ที่เกิดขึ้นเมื่อเปลี่ยนเป็นแอปพลิเคชันอื่น มีเหตุการณ์ดังกล่าวหรือมีวิธีการอื่นเพื่อให้บรรลุพฤติกรรมเดียวกันได้หรือไม่ โปรดทราบว่าโซลูชันที่ใช้เวลาไม่เป็นที่พอใจและพฤติกรรมการสำรองข้อมูลอัตโนมัติเริ่มต้นก็ไม่เป็นเช่นนั้น เขาต้องการให้มีการบันทึกบัฟเฟอร์ (เช่นเดียวกับsave-buffer) สำหรับไฟล์ทั้งหมด
26 buffers  saving 

3
Emacs 64 บิตอย่างเป็นทางการสำหรับ Windows อยู่ที่ไหน (คู่มือบอกว่ามี!)
ฉันมักจะดาวน์โหลด Emacs สำหรับ Windows จากเว็บไซต์ GNU เป็นทางการ: http://ftp.gnu.org/gnu/emacs/windows/ รุ่นล่าสุดคือ: emacs-24.5-bin-i686-mingw32.zip ฉันอยากรู้ว่าทำไมไม่มี 64- บิต? จากคู่มือ Emacs: http://www.gnu.org/software/emacs/manual/html_mono/efaq-w32.html 2.1 ฉันจะดาวน์โหลด Emacs ได้ที่ไหน รุ่นที่คอมไพล์ล่วงหน้าถูกแจกจ่ายจากมิรเรอร์ ftp.gnu.org ไบนารีของ Emacs นั้นถูกแจกจ่ายเป็นไฟล์ซิปโดยผู้พัฒนาที่สร้างมันขึ้นเซ็นแบบดิจิทัล โดยทั่วไปผู้ใช้ส่วนใหญ่จะต้องการไฟล์ emacs-24.5-bin-i686-pc-mingw.zipสำหรับ32 บิตสร้างและ emacs-24.5-bin-x86_64-w64-mingw32.zipสำหรับ64 บิตสร้าง ไฟล์ zip มีทุกสิ่งที่คุณต้องการในการเริ่มต้น แหล่งข้อมูลล่าสุดพร้อมใช้งานจากมิเรอร์ ftp.gnu.org มันถูกแจกจ่ายเป็นไฟล์ tar บีบอัดซึ่งถูกเซ็นชื่อโดยผู้ดูแลระบบที่ทำการเผยแพร่ รุ่นพัฒนาของ Emacs นั้นมาจากสะวันนาซึ่งเป็นเว็บไซต์พัฒนาของ GNU เนื่องจากคู่มือบอกว่ามี 64- บิตอยู่ที่ไหน ปรับปรุง นี่คือการตอบสนองจาก debugs.gnu.org: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20851 โดยทั่วไป …

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