Emacs

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


2
แทนที่สองสายด้วยกัน
ฉันต้องการที่จะเปลี่ยนทุกสิ่งที่เกิดขึ้นของสตริง (พูด string1) กับสตริงอื่น (พูดว่า string2) และในทางกลับกัน เพื่อความแม่นยำฉันมีเอกสารยาวและสตริงเหล่านี้เกิดขึ้นหลายครั้ง สิ่งที่ฉันทำในปัจจุบันคือการแทนที่ string1 -> string3 จากนั้น string2 -> string1 และสุดท้าย string3 -> string2 ฉันสงสัยว่ามีฟังก์ชั่นเป็น emacs อยู่หรือไม่ ยินดีต้อนรับการแก้ปัญหาอื่น ๆ แก้ไข : นี่เป็นคำถามซ้ำที่เชื่อมโยงในความคิดเห็น แต่ปัญหาคือคำตอบที่ได้รับการยอมรับของคำถามนั้นไม่ได้ผลเสมอไป (ดูความคิดเห็นด้านล่าง) ฉันคิดว่าเป็นการดีกว่าที่จะรอจนกว่าผู้เขียนคำตอบที่ยอมรับจะแก้ไขคำตอบของเขา / เธอหรือวิธีแก้ไขปัญหาอื่น ๆ ออกมา ประการที่สองก่อนโพสต์คำถามของฉันฉัน googled คำถามและคำถามนั้นไม่ปรากฏขึ้น ฉันคิดว่าการมีคำถามที่ซ้ำกันสองครั้งนั้นมีประโยชน์เนื่องจากพวกเขาใช้ถ้อยคำที่แตกต่างกันและหากผู้ใช้พบคำถามที่ซ้ำกันเขา / เธอสามารถค้นหาคำถามที่ถูกต้องได้ แก้ไข 2:คำตอบที่ยอมรับของคุณลักษณะ Search / replace-like สำหรับการสลับข้อความดูเหมือนจะไม่เป็นไร

1
ป้องกันสีพื้นหลังบล็อกรหัสโหมดองค์กรจากการมีเลือดออกถึงเมื่อถูกยุบหรือไม่
ฉันใช้สีพื้นหลังกับบล็อคโค้ดในโหมด org ดังที่แสดงในบรรทัดนี้จาก colortheme ของฉัน: '(org-block ((t (:background "#F5F5F5" :family "Source Code Pro" :height 140)))) เมื่อฉันยุบรายการที่มีรหัสบล็อกสีพื้นหลังของรหัสบล็อกขยายจากส่วนหัวของรายการไปที่ขอบของหน้าต่างซึ่งฉันไม่ได้คาดหวัง - ฉันคาดว่าการยุบรายการจะซ่อนหลักฐานใด ๆ ที่มีอยู่ รหัสบล็อก มีวิธีใดที่จะป้องกันไม่ให้พื้นหลังการบล็อกโค้ดเป็น "การตกเลือดผ่าน" เช่นนี้หรือไม่
9 org-mode 

2
วิธีเขียนโหมดหลักที่ไม่ได้เปิดไฟล์ แต่ให้มุมมองกับมัน
ฉันต้องการเขียนโหมดหลักสำหรับตรวจสอบไฟล์ netCDF เหล่านี้เป็นไฟล์ไบนารีซึ่งสามารถมีขนาดหลาย GB ดังนั้นฉันไม่ต้องการที่จะเปิดพวกเขาใน emacs ปฏิสัมพันธ์ที่ฉันมีในใจคือต่อไปนี้: ผู้ใช้เปิดไฟล์ netCDF เหมือนกับไฟล์อื่น ๆ ใน emacs โปรแกรมบรรทัดคำสั่ง ( ncdump -h) ถูกเรียกใช้งานบนไฟล์และเอาต์พุตถูกตีความโดย emacs ปัญหาคือดูเหมือนว่าไม่มีทางที่จะหยุด emacs จากการเปิดไฟล์ได้

1
สร้างการเน้นไวยากรณ์ที่สอดคล้องกันของแหล่งบล็อก LaTeX
โซลูชันขององค์กร Org ด้วยตนเองสำหรับการเน้นไวยากรณ์ของบล็อกรหัส org-babel คือการเปิดใช้ฟอนต์แบบดั้งเดิม (setq org-src-fontify-natively t) ทำงานได้ดีสำหรับรหัส LaTeX ที่อยู่ในบล็อกด้วย #+BEGIN_SRC latex แต่ไม่ใช่สำหรับบล็อกที่มี: #+BEGIN_LATEX มีวิธีในการทำบล็อกแหล่งข้อมูลทั้งสองประเภทของ LaTeX ใช้ไวยากรณ์ LaTeX เดียวกันที่เน้นโครงร่าง / การตั้งค่าหรือไม่

1
วิธีการตั้งค่าเครื่องหมายใน elisp และมีการเลือกกะ?
พฤติกรรมปกติของ Emacs เมื่อโหมด transient-mark-active นั้นทำงานเมื่อคุณทำการเลือก shift แล้วหากคำสั่งถัดไปเป็นการเคลื่อนที่แบบ non-shift เครื่องหมายนั้นจะถูกปิดการใช้งาน ตัวอย่างเช่นหลังจากคำสั่งM-l(เพื่อทำเครื่องหมายบรรทัดปัจจุบันด้วยฟังก์ชั่นด้านล่าง) และC-fเครื่องหมายถูกปิดการใช้งาน จะเลียนแบบพฤติกรรมดังกล่าวจาก elisp ได้(set-mark-command nil)อย่างไร ตัวอย่างเช่น: (defun my-mark-current-line () (interactive) (beginning-of-line) (set-mark-command nil) (end-of-line) (forward-char)) (global-set-key (kbd "M-l") 'my-mark-current-line) ตอนนี้ Ml Cf และภูมิภาคจะเติบโตขึ้น แต่ฉันต้องการพฤติกรรมเริ่มต้นเช่นพื้นที่จะปิดใช้งานเมื่อ Cf และเติบโตด้วย CSf แก้ไข : ควรใช้ฟังก์ชั่นที่แตกต่างเพื่อ set-mark-command ที่อนุญาตสิ่งนี้หรือไม่ ฉันไม่พบอะไรเลย
9 mark  mark-ring 

3
Git Bash ใน emacs บน Windows
ฉันสามารถเรียกใช้ Bash shell ที่มาพร้อมกับ Git สำหรับ Windows ฉันใส่สิ่งนี้ลงใน.emacs: (defun git-bash () (interactive) (let ((explicit-shell-file-name "D:/Program Files/git/bin/bash")) (call-interactively 'shell))) จากนั้นM-x git-bashและ voila ทุบตีทำงาน แต่มีความแปลก: bash: cannot set terminal process group (-1): Inappropriate ioctl for device bash: no job control in this shell ^[]0;MINGW64:/c/Users/M??rton^G MĂĄrton@Marci MINGW64 /c/Users/MĂĄrton $ และมันจะพิมพ์บรรทัดนั้นเริ่มต้นด้วย^[]หลังจากทุกคำสั่งที่ฉันรัน นอกจากนี้การเข้ารหัสจะเลอะ ฉันจะแก้ไขสิ่งนี้ได้.emacsอย่างไร

2
ชุดเคอร์เซอร์หลายชุดทำให้ emacs ทำงานช้า
ฉันใช้แพ็คเกจหลายเคอร์เซอร์ในไฟล์ html และมันยอดเยี่ยมสำหรับเคอร์เซอร์สองสามตัว แต่ถ้าฉันสร้างเคอร์เซอร์มากกว่า 30 หรือ 50 เคอร์เซอร์มันจะช้ามากอย่างมากและใช้เวลาประมาณห้าหรือหกวินาทีในการย้ายเคอร์เซอร์ ฉันใช้มันผิดหรือเปล่าที่มันไม่ได้เตรียมไว้สำหรับการสร้างเคอร์เซอร์จำนวนมาก?

2
การสร้างตารางที่มีส่วนหัวจากการบล็อกรหัส
ฉันต้องการสร้างตารางที่มีส่วนหัวจากบล็อคโค้ด บางสิ่งเช่นนี้ #+BEGIN_SRC emacs-lisp :results value table :table-header | First | Second | (identity '((a b) (c d))) #+END_SRC #+RESULTS: | First | Second | |-------+--------| | a | b | | c | d | แต่น่าเสียดายที่บางอย่างเช่น:table-header | First | Second |ไม่ได้อยู่ หรือฉันหวังว่าจะได้เห็นบางสิ่งบางอย่าง (ที่นี่ฉันใช้(identity ...)เป็นตัวยึดตำแหน่งสำหรับรหัสซึ่งคำนวณค่าจริง) วิธีแก้ปัญหานี้ไม่ได้ทำเพื่อฉัน: #+BEGIN_SRC emacs-lisp :results value …

4
หนึ่งหน้าต่างต่อโครงการ
ตอนนี้ฉันกำลังทำงานหลายโครงการ ฉันต้องการอินสแตนซ์เดียวของ Emacs เพื่อจัดการพวกมันทั้งหมด สิ่งที่ฉันต้องการคือพฤติกรรมที่เหมือน tmux ซึ่งทุก ๆ 'หน้าต่าง' (ในความหมายของ Emacs) สอดคล้องกับโครงการที่มีบัฟเฟอร์ของไฟล์ที่เกี่ยวข้องกับโครงการนั้น มีหน้าต่างหลายบานโดยแต่ละอันเกี่ยวข้องกับโครงการและฉันควรจะสลับไปมาระหว่างหน้าต่างทั้งสอง (คล้ายกับC-b w) ฟังก์ชั่นนี้มีอยู่แล้วในบางรูปแบบหรือไม่? ฉันคิดว่ามันคงเจ๋งที่มีตัวเลือกอื่น: เปิด Emacs หลายอินสแตนซ์ มีไฟล์ทั้งหมดของโครงการทั้งหมดในอินสแตนซ์เดียวซึ่งทำให้การสลับบัฟเฟอร์เจ็บปวด
9 window  session 

1
ยกเลิกการโหลดทั้งแพ็กเกจหรือแผนผังไลบรารี
บางครั้งฉันต้องการโทรunload-featureเพื่อยกเลิกการโหลดห้องสมุด ... และมันขึ้นอยู่กับห้องสมุด ... และอีกห้องสมุดหนึ่งขึ้นอยู่กับห้องสมุดนั้น ฉันจะยกเลิกการโหลดไลบรารีและไลบรารีทั้งหมดที่ขึ้นอยู่กับมันได้อย่างไรโดยไม่ต้องผ่านแผนผังการพึ่งพาด้วยตนเอง กรณีการใช้งานทั่วไปคือการยกเลิกการโหลดไลบรารีทั้งหมดของแพ็คเกจ (เช่นเมื่ออัปเกรดหรือถอนการติดตั้ง) ดังนั้นหากมีวิธีการทำเช่นนั้นมันจะดีพอ

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

1
ฉันสามารถแสดงนาฬิกาในบริเวณที่มีเสียงสะท้อนได้หรือไม่?
เวลาส่วนใหญ่ของฉันสะท้อนอยู่ในขณะที่ modeline ของแต่ละหน้าต่างของฉันแสดงข้อมูลซ้ำซ้อนมากมาย (เวลาปัจจุบันโหลดระบบและข้อมูลอื่น ๆ ที่ไม่ขึ้นกับบัฟเฟอร์) ฉันสามารถแสดงเวลาปัจจุบัน (จัดชิดขวา) ในพื้นที่เสียงสะท้อน (ทุกครั้งที่ไม่ได้ใช้งานได้หรือไม่)

2
มีวิธีปิดใช้งานคำเตือน“ บัฟเฟอร์เป็นแบบอ่านอย่างเดียว” หรือไม่?
ฉันไม่พบคำเตือนนี้ที่มีประโยชน์และน่ารำคาญเพราะมันซ่อนข้อความปัจจุบันในพื้นที่เสียงก้องชั่วครู่หนึ่ง ดูเหมือนว่าไม่จำเป็นเพราะฉันจะสังเกตเห็นว่าฉันไม่สามารถเขียนในพื้นที่อ่านอย่างเดียวได้ มีวิธีการปิดการใช้งานหรือไม่?
9 echo-area 

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

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