Emacs

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

3
มีวิธีที่ดีกว่าในการจัดการเอกสารหลายบรรทัดด้วย elisp หรือไม่?
ฉันเกลียดวิธีที่ elisp (ไม่แน่ใจว่า LISP โดยทั่วไป) จัดการเอกสารหลายบรรทัด (defun foo () "This is a multi liner docstring" (do-stuff)) ฉันแน่ใจว่าหวังว่าฉันจะทำสิ่งที่ชอบ (defun foo () (eval-when-compile (concat "This is\n" "a multi\n" "line\n" "docstring")) (do-stuff)) เพื่อให้การเยื้องสอดคล้องกัน น่าเสียดายที่คอมไพล์ eval-when-compile ไม่สามารถทำงานได้ ไม่มีใครมีความคิดใด ๆ

2
ความแตกต่างด้านการใช้งานใด ๆ ที่ใช้การประชุมสองช่องทางเทียบกับการประชุมหนึ่งช่องว่างที่ท้ายประโยค?
Q:อะไรคือเหตุผลในทางปฏิบัติจะมีไม่ถึงชุดsentence-end-double-spaceไปnil? เธรดที่ได้รับการฟื้นฟูเมื่อเร็ว ๆ นี้เกี่ยวกับการจดจำประโยคที่ไม่ได้ลงท้ายด้วยสองช่องว่างเป็นแรงบันดาลใจให้กับคำถามนี้ Emacs คู่มือโหนดในประโยคหมายเหตุที่คำสั่งประโยคสมมติว่าเราใช้การประชุมพนักงานพิมพ์ดีดอเมริกันของการวางสองช่องว่างในตอนท้ายของประโยค (เมื่อเทียบกับการพูด, การประชุมของฝรั่งเศสพื้นที่หนึ่ง) ข้อโต้แย้งสำหรับ / กับการประชุมสองพื้นที่ดูเหมือนจะได้รับการโต้เถียงอย่างรุนแรง (เช่นชิ้นส่วน Slate นี้ ) ฉันไม่สนใจเป็นพิเศษเพราะฉันปล่อยให้ LaTeX จัดการกับการตั้งค่าของฉัน แต่การประชุมสองช่องว่างนั้นถูกทุบลงในหน่วยความจำของกล้ามเนื้อ อย่างไรก็ตามเมื่อฉันวางข้อความลงในบัฟเฟอร์ Emacs จากแหล่งอื่น ๆ (หน้าเว็บ ฯลฯ ) มันมักจะอยู่ในรูปแบบพื้นที่เดียว นั่นเป็นชนิดที่น่ารำคาญในวิธีการกล้าที่พวกเขา-แตกต่างจากที่ผมเรียงลำดับของวิธีการและฉันอยากจะชุดsentence-end-double-spaceที่จะnilจัดการกับความเป็นจริง อย่างไรก็ตามฉันไม่เคยมีเพราะฉันคิดเสมอว่า Something Will Break ถ้าฉันทำเช่นนั้น ฉันแค่ไม่มีพื้นฐานที่มั่นคงสำหรับสมมติฐานนั้น ดังนั้น: จะมีผลกระทบในทางปฏิบัติใด ๆ ในแง่ของการสูญเสียของการทำงานสำหรับการตั้งค่าsentence-end-double-spaceเพื่อnil? การเปลี่ยนแปลงที่สำคัญเพียงอย่างเดียวที่ฉันคิดได้ก็คือฟังก์ชั่นการเติมจะเปลี่ยนการประชุมแบบสองช่องว่างเป็นแบบแผนเดียว

1
ฉันจะเปลี่ยนจากคีย์ 'code' กลับไปเป็นคีย์บอร์ดที่เทียบเท่าได้อย่างไร
ฉันมีเอกสารดังต่อไปนี้: mc/keymap is a variable defined in `multiple-cursors-core.el'. Its value is (keymap (67108903 . mc-hide-unmatched-lines-mode) (27 keymap (118 . mc/cycle-backward)) (22 . mc/cycle-forward) (return . multiple-cursors-mode) (7 . mc/keyboard-quit)) Documentation: Keymap while multiple cursors are active. Main goal of the keymap is to rebind C-g and <return> to conclude multiple …

3
Dired: ใช้บัฟเฟอร์ซ้ำสำหรับไดเรกทอรีเท่านั้น
เพื่อป้องกันการสร้างบัฟเฟอร์ทุกครั้งที่ฉันป้อนไดเรกทอรีใน dired ฉันใช้สิ่งนี้: (put 'dired-find-alternate-file 'disabled nil) ปัญหาของฉันในตอนนี้คือเมื่อฉันไปที่ไฟล์จากการกดแบบ dire RETและจากนั้น kill มันบัฟเฟอร์ที่ถูก dired ก็จะถูกฆ่าเช่นกัน เป็นไปได้ไหมที่จะใช้บัฟเฟอร์ dired ซ้ำสำหรับไดเรกทอรีเท่านั้น?

2
การใช้งานโหมดองค์กรทางเลือก [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา มีการใช้ไวยากรณ์ข้อความโหมด org ที่ใดก็ได้นอกเหนือจาก emacs หรือไม่ ที่เดียวที่ฉันนึกได้คือ Github อนุญาตให้คุณเขียน readmes ในโหมด org และสามารถแสดงได้เหมือนมันสามารถ markdown มีซอฟต์แวร์อื่น ๆ ที่สนับสนุนไวยากรณ์โหมด org หรือไม่ ฉันคิดว่าอาจมีบรรณาธิการคนอื่น ๆ ที่สนับสนุนหรือไม่
9 org-mode 

2
ฉันสามารถเปลี่ยนสีพื้นหลังของ minibuffer ที่ไม่ใช้งานได้หรือไม่
ฉันลองด้วยการตั้งค่าต่อไปนี้: (add-hook 'minibuffer-setup-hook (lambda () (make-local-variable 'face-remapping-alist) (add-to-list 'face-remapping-alist '(default (:background "green"))))) (set-face-background 'minibuffer-prompt "blue") แต่พวกเขาได้รับผลกระทบ minibuffer ที่ใช้งานอยู่เท่านั้น:

4
วิธีทำให้คำสั่ง shell-shell รันโดยใช้เชลล์โปรไฟล์และ hooks ไดเรกทอรีปัจจุบัน (เช่น direnv)
ฉันพยายามที่จะรับshell-commandและasync-shell-commandบูรณาการอย่างราบรื่นกับสองสามโปรแกรมใน.bashrcไฟล์ของฉันโดยเฉพาะdirenvในตัวอย่างนี้ ฉันพบว่าถ้าฉันปรับแต่งshell-command-switchฉันจะได้รับกระบวนการเปลือกโหลดโปรไฟล์ของฉันราวกับว่ามันเป็นเปลือกเข้าสู่ระบบแบบโต้ตอบปกติ: (setq shell-command-switch (purecopy "-ic")) (setq ชัดแจ้ง -bash-args '("-ic" "ส่งออก EMACS =; stty echo; bash")) นอกจากนี้ผมยังใช้exec เส้นทางจากเปลือก ว่าฉันมี~/.bashrcไฟล์ด้วย: ... eval "$ (direnv hook $ 0)" echo "foo" ข้างใน~/code/fooฉันมี.envrcไฟล์ด้วย: ส่งออก PATH = $ PWD / bin: $ PATH echo "bar" ถ้าฉันรันM-x shellด้วยdefault-directoryset to ~/code/foo, bash shell จะโหลดโปรไฟล์ของฉันอย่างถูกต้องและรัน direnv hook เพื่อเพิ่มเข้าไปในเส้นทางของฉัน: …

2
ฉันจะทำให้ชื่อบัฟเฟอร์ Dired รวมถึงเส้นทางแบบเต็มได้อย่างไร
ฉันมักจะdiredเปิดบัฟเฟอร์มากมายรวมถึงบางส่วนสำหรับโฟลเดอร์ที่มีชื่อเหมือนกัน บางครั้งสิ่งนี้ทำให้ฉันเปลี่ยนไปใช้สิ่งที่ผิดดังนั้นฉันกำลังมองหาวิธีในการแก้ไขปัญหานี้ ปัจจุบันถ้าฉันเปิดโฟลเดอร์ที่มีชื่อเหมือนกันหลายdiredรายการรายการบัฟเฟอร์ของฉันจะมีลักษณะดังนี้: foo foo<2> bar foo<3> bar<2> ฉันต้องการรวมเส้นทางแบบเต็ม (หรือบางส่วนของมัน) ในชื่อบัฟเฟอร์เพื่อให้ฉันสามารถดูว่าโฟลเดอร์ใดที่ฉันกำลังสลับไป ฉันต้องการทำสิ่งนี้: foo</full/path/to/foo> foo</another/path> และอื่น ๆ ฉันสามารถชำระเช่น: /full/path/to/foo /another/path/foo แต่ฉันต้องการที่จะใช้อดีตเพราะมักจะง่ายต่อการค้นหาบัฟเฟอร์ที่ฉันต้องการโดยชื่อโฟลเดอร์ก่อนและเส้นทางที่สองเต็ม สิ่งนี้สามารถทำได้?
9 dired 

4
วิธีการตรวจสอบว่าบัฟเฟอร์กำลังเยี่ยมชมไฟล์?
ฉันต้องการตรวจสอบว่าบัฟเฟอร์ (พูด, ปัจจุบัน) บางอย่างกำลังเยี่ยมชมไฟล์หรือไม่ ฉันสามารถพูดได้: (if (buffer-file-name) ...) แต่ดูเหมือนจะไม่สง่างามมาก - สิ่งที่ฉันสนใจเป็นเพียงค่าบูลีนไม่ใช่ชื่อจริงของบัฟเฟอร์ที่มีปัญหา หากbuffer-file-nameฟังก์ชั่นนั้นเขียนขึ้นใน Elisp ฉันสามารถดูที่มาของมันเพื่อค้นหาว่ามันใช้อะไร - แต่มันเขียนใน C และในขณะที่ฉันสามารถติดตั้ง Emacs ได้ฉันกลัวว่าจะไม่พบชื่อ elisp สำหรับฟังก์ชั่นที่ตรวจสอบสิ่งที่ฉันหลังจากนั้น สิ่งที่ฉันต้องการมันคือฉันต้องการสร้างไดเรกทอรีตามชื่อไฟล์บัฟเฟอร์ปัจจุบันและตอนนี้ฉันกำลังทำสิ่งนี้ไม่มากก็น้อย: (make-directory (if (buffer-file-name) (file-name-base) "default-dir")) ดังนั้นสิ่งที่เป็นวิธีการ Elisp - สำนวนในการทำเช่นนี้?
9 elisp  buffers  files 

2
ฉันจะเติมแถบหมายเลขบรรทัดทั้งหมดด้วยสีพื้นหลังแบบกำหนดเองได้อย่างไร
ในภาพหน้าจอด้านล่างฉันเพิ่งตั้งพื้นหลังของlinumใบหน้าเป็นสีอย่างไรก็ตามมีพื้นที่ว่างเปล่าที่ท้ายบัฟเฟอร์และมีช่องว่างระหว่างบรรทัดเมื่อglobal-visual-line-modeเปิดใช้การตัดบรรทัด ( ): โดยทางด้านซ้ายของภาพควรเป็นสีสม่ำเสมอ เป็นไปได้ไหม ฉันรู้ว่า Elisp บางตัวดังนั้นถ้าเป็นไปได้ฉันอาจจะเขียนตัวแก้ไขด้วยคำแนะนำ

1
จะป้องกันไม่ให้สถานที่ที่คนจรจัดเข้ามารบกวนในประวัติศาสตร์ได้อย่างไร?
ฉันมีปัญหาเมื่อฉันพยายามทำการ Emacs แบบสุ่มเช่นorg-captureหรือเปลี่ยนชื่อไฟล์ไปยังไดเรกทอรี (local) อื่นในdiredEmacs พยายามติดต่อกับเครื่องอื่นโดยใช้คนจรจัดสันนิษฐานว่าเป็นเรื่องของการทำให้สมบูรณ์อัตโนมัติหรือประวัติ เหตุผล สิ่งนี้ทำให้การแฮงค์และการรอคอยเป็นจำนวนมากเนื่องจากคนจรจัดเครื่องพยายามเชื่อมต่อไม่พร้อมใช้งาน ฉันจะป้องกัน Emacs จากการค้นหาไฟล์ / สถานที่คนจรจัดได้อย่างไรเมื่อฉันดำเนินการพื้นฐานอื่น ๆ ฉันจะทราบได้อย่างไรว่า Emacs ได้รับแนวคิดว่าต้องดูภายในไฟล์ / ตำแหน่งระยะไกลสำหรับการทำงานที่ต้องการorg-captureและdired-do-renameอย่างไร
9 dired  tramp 

4
การเปิดไฟล์ใหม่ที่ไม่มีไดเรกทอรีหลักอยู่
เมื่อเปิดไฟล์ใหม่ที่มีไดเรกทอรีหลักยังไม่มีฉันเปิดหน้าต่างเชลล์หรือบัฟเฟอร์เชลล์ Emacs แล้วmkdirไดเรกทอรีในนั้น ฉันพบว่ามันยุ่งยาก มีวิธีที่ง่ายกว่านี้ไหม?

1
อะไรคือความสำคัญของบัฟเฟอร์ Emacs ที่มีชื่อด้วย * earmuffs *
มีบัฟเฟอร์ Emac จำนวนหนึ่งที่ชื่อของพวกเขามี "ที่ปิดหู" นั่นคือมีชื่อเหมือน *scratch* *R* *ESS* *helm-mode-circe* ที่ครอบหูมีความสำคัญอะไรและมีเหตุผลที่ผู้ใช้สร้างบัฟเฟอร์เพื่อใช้งานหรือไม่?
9 buffers 

4
เปิดไฟล์ซ้ำที่จับคู่ regexp ในไดเรกทอรีที่ทำเครื่องหมายไว้
โดยทั่วไปฉันต้องการเปิดไฟล์ทั้งหมดภายในชุดไดเรกทอรี (และไดเรกทอรีย่อย) ที่ชื่อไฟล์ตรงกับ regexp ที่กำหนด ตัวอย่างเช่น /home/nispio/project: total used in directory 1612 available 1000000000 drwxrwxr-x 13 nispio group 4096 Sep 19 14:06 . drwxrwxr-x 7 nispio group 4096 Sep 22 16:41 .. drwxrwxr-x 2 nispio group 4096 Sep 19 12:46 cfg drwxrwxr-x 2 nispio group 4096 Sep 19 12:46 hlp …
9 dired  files 

2
ฉันจะดาวน์โหลดซอร์สของเว็บเพจจาก Emacs ได้อย่างไร
ฉันต้องการใช้ Emacs เป็นวิธีปรับปรุงเพื่อดูแหล่งที่มาของหน้าเว็บ (พูดhttp://example.com) มีวิธีง่ายๆในการดาวน์โหลดหน้าโดยตรงจาก Emacs หรืออาจจะผ่านC-x C-f? ผมจำได้ว่าการทำเช่นนี้อย่างใดในอดีตที่ผ่านมา (อาจจะต้องขอบคุณ TRAMP?) แต่ไม่ว่าและผมก็ไม่สามารถทำซ้ำใด ๆ เพิ่มเติม
9 tramp  web  networking 

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