Emacs

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

1
เหตุใดนิพจน์ทั่วไปที่สร้างด้วยตัวสร้าง regex ใช้ไวยากรณ์ต่างจากนิพจน์ทั่วไปเชิงโต้ตอบ
ดังนั้นการใช้เครื่องมือสร้างนิพจน์ทั่วไป (Mx re-builder) การค้นหาบรรทัดที่ลงท้ายด้วย \ take "\\ $" ในขณะที่ค้นหาและแทนที่ด้วย regex จะใช้เวลาเพียง "\ $" ฉันคาดว่าผู้สร้าง regex จะสร้างนิพจน์ที่ใช้งานได้โดยตรงดังนั้นสิ่งที่บัญชีสำหรับความแตกต่างนี้

1
วิธีเก็บไฟล์แต่ละไฟล์ด้วย magit
คอมไพล์สามารถ stashing ของแต่ละ hunks ด้วย--patchคุณสามารถเลือกล่าสัตว์ได้จากส่วนต่างระหว่างHEADและแผนผังการทำงานที่จะซ่อน รายการ stash ถูกสร้างขึ้นเพื่อให้สถานะดัชนีเหมือนกับสถานะดัชนีของที่เก็บของคุณและ worktree มีเฉพาะการเปลี่ยนแปลงที่คุณเลือกแบบโต้ตอบ การเปลี่ยนแปลงที่เลือกจะถูกย้อนกลับจาก worktree ของคุณ ดูส่วน"โหมดโต้ตอบ"ของgit-add [1]เพื่อเรียนรู้วิธีการใช้งาน--patchโหมด เป็นไปได้ไหมที่จะใช้ร่วมกับ magit frontend? Magit ลดความยุ่งยากในการใช้งานโหมดแก้ไขสำหรับการแสดงละครที่งดงาม มันสามารถทำงานแบบเดียวกันกับที่หยุดทำงานได้หรือไม่?
25 magit 

2
ฟังก์ชั่นสามารถเข้าถึงชื่อของพวกเขา?
ใน C มีตัวแปรเวทย์มนตร์__func__ที่เก็บชื่อฟังก์ชั่นปัจจุบัน ใน Bash มีอาร์เรย์ที่FUNCNAMEถือชื่อของฟังก์ชั่นทั้งหมดในสแตกการโทร !!! มีสิ่งที่คล้ายกันใน Emacs Lisp หรือไม่? หรือวิธีง่ายๆสำหรับฟังก์ชั่นในการเข้าถึงชื่อหรือไม่? ฉันไม่พบคำตอบในคู่มือ Emacs Lisp (บทที่ 12 เกี่ยวกับฟังก์ชั่นหรือดัชนีของตัวแปรและฟังก์ชั่นและ .. )
25 elisp  functions 

3
ความแตกต่างระหว่างการใช้ vim ที่แตกต่างกันคืออะไร?
ฉันตระหนักถึงการใช้ vim ที่แตกต่างกันใน Emacs มีโหมดชั่วร้าย, มรณะ, vimpulse และ vim-mode มีคนอื่นไหม? พวกเขาเปรียบเทียบอย่างไร ฉันทราบว่ามีevil-*แพคเกจจำนวนมากใน MELPA แนะนำว่าไม่มีแพ็คเกจใดที่สมบูรณ์แบบ 100% พวกเขามีคุณสมบัติเป็นกลุ่มใดและคุณสมบัติกลุ่มที่ขาดหายไปคืออะไร (ฉันไม่สนใจในสิ่งที่ตรงกันข้าม " ชุด vi แมโครที่ [เป็น] การใช้งาน Emacs ที่ค่อนข้างสมบูรณ์ "!)

6
ตรงข้ามของย่อหน้าเติม
Emacs fill-paragraphมีฟังก์ชั่น มีฟังก์ชั่นใดบ้างที่จะทำตรงกันข้ามกับสิ่งนั้น? ฉันมีย่อหน้าที่กรอกแล้วและต้องการแทนที่เป็นบรรทัดเดียวหรือไม่

2
เพิ่มคลิปบอร์ดระบบปฏิบัติการเพื่อฆ่าริง
บ่อยครั้งที่ฉันพบว่าตัวเองกำลังคัดลอกข้อมูลโค้ดลงในคลิปบอร์ดของระบบปฏิบัติการจากอินเทอร์เน็ต จากนั้นฉันก็ทำตามขั้นตอนง่าย ๆ ดังต่อไปนี้: สลับไปที่หน้าต่าง Emacs ของฉัน ค้นหาสถานที่ที่ฉันต้องการวางรหัส ใช้C-y( yank) เพื่อแทรกข้อความที่คัดลอก อย่างไรก็ตามบางครั้งฉันพบว่า (ฉันผิดหวังมาก) ที่ฉันใช้คำสั่ง kill บางรูปแบบ (เช่นkill-wordหรือkill-line) ในขณะที่ฉันอยู่ในขั้นตอนที่ 2 ในกรณีเช่นนี้ข้อความที่คัดลอกมาจาก "คลิปบอร์ด" ไม่เคยทำให้เกิดการฆ่า แหวน. มีวิธีที่จะทำให้แน่ใจว่าข้อความที่คัดลอกจากแอปพลิเคชันอื่น ๆ ทำให้มันกลายเป็นวงแหวนสังหารของฉันหรือไม่? ฉันทำงานบน Linux บ่อยที่สุด แต่ฉันยังใช้ Emacs เป็นประจำใน Windows และ Mac OS X ดังนั้นจึงต้องการคำตอบที่ไม่เชื่อเรื่องพระเจ้า

1
อะไรคือวิธีการเปิดตัวเชลล์จาก emacs ภายในและคุณสมบัติต่าง ๆ ของมันคืออะไร?
ฉันรู้ถึงความเป็นไปได้อย่างน้อยสี่อย่าง: eshell วาระ ANSI ระยะ เปลือก รายการเครื่องมือทั้งหมดที่มีอยู่ใน emacs เพื่อเปิดตัวเชลล์คืออะไรและมีข้อดีและข้อเสียอะไรบ้าง
25 eshell  shell  term  ansi-term 

6
ฉันจะรับเค้าร่างโหมดองค์กรในบัฟเฟอร์ที่ 2 เป็นสารบัญแบบไดนามิกได้อย่างไร
เมื่อฉันแก้ไขเอกสารขนาดใหญ่ฉันต้องการดูว่าฉันอยู่ที่ไหนโดยดูโครงร่าง (ที่ไม่มีเนื้อหา) ในบัฟเฟอร์แยกต่างหาก เช่นเดียวกับเมื่อคุณอ่านไฟล์ PDF จะมี TOC ทางด้านซ้าย (ดูด้านล่าง) ในโหมด org เป็นไปได้ที่จะขยาย / ยุบเค้าร่าง แต่เป็นไปได้หรือไม่ที่จะมีโครงร่างแบบคงที่ในด้านซ้าย (หรือขวา) ในบัฟเฟอร์แยกต่างหากดังนั้นเมื่อคุณคลิกที่ส่วนหัวบัฟเฟอร์อื่นจะย้ายไปยังตำแหน่งนั้นหรือไม่? เป็นเช่นนี้ แต่สำหรับโหมดองค์กรหรือไม่ [แก้ไข]อยู่ใกล้กับสิ่งที่ฉันต้องการ ชิ้นส่วนปริศนาที่ขาดหายไปคือการข้ามไปยังตำแหน่งเดียวกันเมื่อคลิกส่วนหัว / (หรือจุดใด ๆ จริงๆ)clone-indirect-buffer สำหรับตอนนี้ฉันได้ลองเขียนโค้ดบางส่วนแล้ว: ย้ายไปยังบัฟเฟอร์ที่โคลนแล้วไปยังจุดเดียวกัน (ซิงค์ตำแหน่งของบัฟเฟอร์ทางอ้อม) (โหมดองค์กร) แต่จะไม่ทำงานหากเนื้อหาถูกยุบ หากสามารถทำให้ทำงานได้ clone-inderect-buffer เป็นคำตอบที่สมบูรณ์สำหรับสิ่งนี้ [โซลูชันการแก้ไข 2] รหัสในลิงก์ด้านบนและในคำตอบด้านล่างรวม niceley เพื่อแก้ปัญหาการกระโดดไปมา ;first call 'clone-indirect-buffer'. Then... ;This function works between buffer and it's clone. …

5
Emacsdaemon และ Emacsclient บน Mac
ระบบปฏิบัติการ: OS X 10.9.5, Mavericks GNU Emacs 24.3.1 (x86_64-apple-darwin13.1.0, Carbon เวอร์ชั่น 1.6.0 AppKit 1265.19) ปี 2014-04-03 บน Rainers-MacBook-Pro-3.local ฉันติดตั้ง emacs ผ่านhomebrewจากrailwaycatและใช้งานได้ดี - ไม่มีการร้องเรียน ฉันไม่ได้ใช้ emacs ใน termoinal และฉันมักจะเริ่มใช้งานผ่านแอปพลิเคชัน อย่างที่ฉันพูด - ฉันมีความสุขจนถึงตอนนี้ ฉันมีสิ่งหนึ่งที่ฉันไม่สามารถจัดการให้ถูกต้อง (ซึ่งทำงานได้ดีกับ linux มาก่อน) ซึ่งก็คือ: รับ emacs daemon เริ่มต้นเมื่อเข้าสู่ระบบ ใช้ emacsclient เพื่อเปิด ปิด emacsdaemon และบันทึกไฟล์ al เมื่อออกจากระบบ สูตรการทำงานใดบ้างที่สามารถช่วยฉันตั้งค่านี้ เพิ่มข้อมูลแล้ว …

2
จะตรวจสอบ elisp ได้อย่างไรว่าสตริงนั้นเป็นสตริงย่อยของสตริงอื่น?
จะตรวจสอบได้อย่างไรว่าสตริงs1นั้นเป็นสตริงย่อยของสตริงอื่นs2หรือไม่? ตัวอย่างเช่น,(test-substring "f t" "df tj") --> t (test-substring "ft" "df tj") --> nil
25 elisp  string 

5
แสดงไฮเปอร์ลิงก์โหมดองค์กรเป็นข้อความธรรมดา
แม้ว่ามันจะเป็นวิธีที่สะดวก org [[./file.org][Title]]โหมดการแสดงเชื่อมโยงหลายมิติมีบางครั้งที่ฉันต้องการที่จะเห็นข้อความธรรมดาพื้นฐานเช่น ฉันจะทำสิ่งนี้ได้อย่างไร ฉันรู้org-insert-linkแต่ก็ไม่ใช่สิ่งที่ฉันต้องการ: Cc Cl รันคำสั่ง org-insert-link ซึ่งเป็นฟังก์ชั่น Lisp ที่คอมไพล์แบบอินเตอร์แอคทีฟใน `org.el ' ... หากมีลิงก์อยู่ที่จุดนั้นคำสั่งนี้จะช่วยให้คุณแก้ไขลิงก์และส่วนคำอธิบาย
25 org-mode 

3
ฉันจะทำให้การกด <RET> ใน helm-find-files เปิดไดเรกทอรีได้อย่างไร
เมื่อฉันเรียกใช้#'helm-find-filesและย้ายจุดไปยังไดเรกทอรีกด&lt;ret&gt;ผลลัพธ์ในการเปิดไดเรกทอรีนั้นในโหมด dire หนึ่งจะต้องกดC-jเพื่อเข้าสู่ไดเรกทอรีนั้นใน Helm ฉันต้องการที่จะ&lt;RET&gt;ทำเหมือนC-jที่นี่ แต่ไม่จำเป็นต้องทุกที่อื่น ฉันจะตรวจสอบและC-jถูกผูกไว้#'helm-maybe-exit-minibufferในขณะที่ถูกผูกไว้กับ&lt;RET&gt; #'helm-execute-persistent-actionมีผลผูกพัน&lt;RET&gt;ไป#'helm-maybe-exit-minibufferงานสำหรับกรณีนี้ แต่แบ่งกรณีอื่น ๆ : describe-functionตัวอย่างเช่นการเติมข้อความอัตโนมัติหางเสือใน ดังนั้นเมื่อใช้ Helm เพื่อค้นหาไฟล์ฉันจะกด&lt;RET&gt;เปิดไดเรกทอรีนั้นใน Helm ได้อย่างไร

2
จะรีเซ็ตธีมสีได้อย่างไร?
เมื่อฉันลองใช้ชุดรูปแบบสีที่แตกต่างออกไปดูเหมือนว่าหากองค์ประกอบใดไม่ได้กำหนดไว้ในชุดรูปแบบใหม่ค่าชุดรูปแบบเก่าจะถูกเก็บไว้และสิ่งนี้นำไปสู่การปะทะกันบางอย่าง นี้เกิดขึ้นใน emacs 24 color-themeและรุ่นก่อนหน้าโดยใช้ มีวิธีรีเซ็ตสีทั้งหมดเป็นค่าเริ่มต้นหรือไม่เพื่อให้ชุดรูปแบบสีแต่ละชุดมีลักษณะตามที่ต้องการ
25 themes 

2
วิธีการล้างเซลล์ในตารางโหมดองค์กร?
มีคำสั่งในตัวเพื่อลบเนื้อหาของเซลล์ในการกดแป้นเดียวภายในตารางโหมดองค์กรหรือไม่ หมายเหตุฉันไม่ต้องการลบแถวเพียงแค่เนื้อหาของเซลล์ | some text | ==&gt; | | ถ้าไม่คุณจะเขียนสิ่งนี้ได้อย่างไร
25 org-mode  table 

2
รีเซ็ตตัวแปรที่กำหนดเองเป็นค่าเริ่มต้นโดยทางโปรแกรม
ถาม:การใช้ Elisp ฉันจะรีเซ็ตตัวแปรเป็นค่าเริ่มต้นได้อย่างไรโดยไม่ทราบว่าเป็นค่าใด ฉันพยายามหาวิธีการทำเช่นนี้โดยการปรับแต่งอินเตอร์เฟสสำหรับตัวแปรที่ฉันตั้งไว้เป็นค่าเริ่มต้นในไฟล์ init ของฉันและกดC-h kตามด้วยคลิกที่ปุ่ม "เปลี่ยนกลับ ... " ที่นำเอกสารมาwidget-button-clickให้ซึ่งเห็นได้ชัดว่าไม่ได้ช่วยอะไรมาก (ในทำนองเดียวกันการC-h k RETชี้ไปที่ปุ่มจะแสดงวิธีใช้Custom-newlineซึ่งไม่ใช่สิ่งที่ฉันกำลังมองหา)

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