Emacs

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

2
ฉันจะกำจัดสตริง“ default” (ใช้งานล่าสุด) ในฟังก์ชั่น emacs ได้อย่างไร?
ฉันมีปัญหาดังต่อไปนี้: เมื่อฉันใช้ 'Cx rt' (string-rectangle) ฉันได้รับแจ้งให้ป้อนสตริงบางส่วนเพื่อแทนที่สี่เหลี่ยมผืนผ้าที่เลือก ให้บอกว่าฉันพิมพ์ ";;" (เพื่อแสดงความคิดเห็นสี่เหลี่ยมผืนผ้า) ใช้งานได้ดี แต่ครั้งต่อไปที่ฉันเรียกใช้ฟังก์ชันเดียวกันและฉันต้องการแทนที่ด้วยไม่มีอะไร (สตริงว่าง) ฉันไม่สามารถทำได้เพราะมี "สตริง" เริ่มต้น ";; ที่ฉันใช้ก่อนหน้านี้และถ้าฉันเพิ่งกด Enter คำสั่งจะใช้ที่ ";;" สตริงแทนค่าว่าง ฉันจะตั้งเป็นสตริงว่างได้อย่างไร ปัญหาที่คล้ายกันฉันมีบางฟังก์ชั่นการค้นหา / แทนที่ โดยทั่วไปเมื่อมันจดจำสตริงล่าสุดที่ฉันใช้และตั้งค่าเป็นค่าเริ่มต้นฉันจะ "ป้อน" สตริงว่างแทนได้อย่างไร แก้ไข: Kill-rectangle กล่าวโดย YoungFrog แก้ปัญหาเฉพาะ แต่ฉันมีสิ่งอื่นในใจ: basicaly ในสิ่งที่เคย emacs ฟังก์ชั่นจำค่าสุดท้ายที่คุณป้อนและใช้มันเป็น "เริ่มต้น" เมื่อคุณกด Enter คุณควรจะ สามารถล้าง "ค่าเริ่มต้น" เป็นค่าเริ่มต้นจริงก่อนที่คุณจะใช้ฟังก์ชั่น นี่เป็นอีกตัวอย่าง: ในโหมด dired หากคุณ 'Mx …

3
ในโหมดองค์กรวิธีดูรายการสิ่งที่ต้องทำสำหรับบัฟเฟอร์ปัจจุบันเท่านั้น
ในโหมดองค์กรฉันต้องการเรียกใช้org-todo-listซึ่งจะแสดงรายการสิ่งที่ต้องทำทั่วโลกรวมถึงไฟล์ org-วาระทั้งหมดของฉัน ฉันจะดูรายการสิ่งที่ต้องทำสำหรับบัฟเฟอร์ปัจจุบันเท่านั้นโดยไม่สนใจไฟล์ org-วาระอื่นของฉันได้อย่างไร

1
เปิดไฟล์ในหน้าต่างใหม่หลังจากค้นหาด้วย helm
ตามที่เขียนไว้ในA Package ในลีกของตนเอง: Helmมีวิธีการ ค้นหาไฟล์โดยใช้ Helm ตัดสินใจหลังจากค้นหาว่าเปิดในหน้าต่างเดียวกันหรืออื่น ๆ คำถามของฉันคือ: อย่างไร

2
มีฟังก์ชั่นสำหรับการเข้าสู่บัฟเฟอร์ * Messages * โดยไม่แสดงในพื้นที่ echo หรือไม่?
มีฟังก์ชั่นสำหรับการเข้าสู่บัฟเฟอร์ข้อความโดยไม่แสดงในพื้นที่ echo หรือไม่? หรืออาจจะสร้างกลไกการบันทึกอื่น? ฉันตามชนิดของ console.log ("สตริง") ประเภทการทำงาน
12 logging 

2
การซิงค์การเปลี่ยนแปลงในไฟล์ที่มีการพันกันกลับไปเป็นไฟล์ org ดั้งเดิม
ฉันกำลังใช้โหมด org กับโหมด fountain เพื่อเขียนบทภาพยนตร์ องค์กรสำหรับองค์กรและแหล่งข้อมูลสำหรับการจัดรูปแบบภาพยนตร์ นี่คือรหัสที่ฉันใช้เพื่อจุดประสงค์นี้: การตั้งค่าสำหรับการทำงานกับบล็อกแหล่งที่มา (แหล่งน้ำพุ) ในองค์กร ;; prevent org from messing with indentation of the source text. (setq org-src-preserve-indentation t) (setq org-edit-src-content-indentation 0) ;; open the buffer for editing fountain in another window. (setq org-src-window-setup (quote reorganize-frame)) ;; prevent a message in the edit buffer from …


3
วิธีการแสดง Unicode UTF-8 เป็น Unicode
ฉันมีไฟล์ข้อความที่เข้ารหัส UTF-8 บางไฟล์ซึ่งแสดงรหัสการหลบหนีที่แปลกใน Emacs ตัวอย่างเช่นข้อความนี้: ในการตั้งค่าเริ่มต้น exponam ของพวกเขาเป็นที่รู้จักกันในชื่อ 'Deus'; secundo, respondebo quaestionem. แสดงให้เห็นเช่นนี้ใน Emacs: สิ่งนี้เกิดขึ้นใน Emacs เท่านั้น บรรณาธิการอื่น ๆ แสดงข้อความอย่างถูกต้อง ฉันจะแก้ไขปัญหานี้ได้อย่างไร อัปเดต 1 ถ้าฉันโทรrevert-buffer-with-coding-systemและเลือกutf-8ไฟล์อ่านอย่างถูกต้อง ดังนั้นในขณะที่ Gilles คาดเดาได้อย่างถูกต้อง Emacs จะไม่ตรวจจับการเข้ารหัสไฟล์ หากฉันเพิ่มรหัส; -*- coding: utf-8 -*-ลงในไฟล์ Emacs จะเปิดขึ้นและแสดงอย่างถูกต้อง อัปเดต 2 ฉันเข้ารหัสไฟล์ใหม่ใน "UTF-8 พร้อมการเข้ารหัส BOM" และตอนนี้ก็แสดงผลได้ดีใน Emacs ฉันไม่รู้ว่าอะไรคือความแตกต่างระหว่างสองประเภทนี้ แต่ Emacs ดูเหมือนจะรับรู้ถึง BOMed หนึ่งเท่านั้น

3
emacs สามารถรองรับการประกาศฟังก์ชั่นในโครงการทั้งหมดได้หรือไม่?
emacs มีฟังก์ชั่นหรือไลบรารีที่สามารถอนุญาตให้ผู้ใช้ไปที่ฟังก์ชันการประกาศแม้ว่ามันจะถูกกำหนดไว้ในไฟล์อื่นหรือไม่? ถ้าเป็นเช่นนั้นมีภาษาอะไรบ้างที่สนับสนุน? แรงบันดาลใจสำหรับคำถามนี้มาจากบทความด้านล่างซึ่งพูดถึงเหตุผลบางประการที่ทำให้ emacs ไม่สามารถแข่งขันกับ IDE ได้ http://henrikwarne.com/2012/06/17/programmer-productivity-emacs-versus-intellij-idea/
12 project  ide 


1
ไฟล์โลคอลตัวแปร mangle-whitespace คืออะไร
ฉันเห็น ;; Local Variables: ;; mangle-whitespace: t ;; End: ในไฟล์ Elisp จำนวนมากโดยโปรแกรมเมอร์ Emac ที่มีประสบการณ์หลากหลายคน แต่เมื่อผมdescribe-variable, Emacs 24.3 บอกว่าตัวแปรไม่mangle-whitespaceถูกกำหนด มีการmangle-whitespaceให้บริการโดย Emacs 24.4? หรือตามแพ็คเกจยอดนิยม (ฉันไม่เห็น MELPA ในชื่อ "mangle") อะไรmangle-whitespaceทำอย่างไร หมายเหตุ: ฉันค้นหาสิ่งนี้ทั้งที่นี่และบน SO ภายใต้แท็ก emacs ฉันลองทั้ง DuckDuckGo และ Google และผลการค้นหาเป็นเพียงตัวอย่างของ.elไฟล์ที่ใช้สิ่งนี้ Ergo ถามที่นี่


2
ผูกค่าหลายค่าโดยตรงจากรายการโดยไม่ผูกรายการเอง
เป็นไปได้ไหมที่จะกำหนดค่าส่งคืนหลายค่าให้กับตัวแปรโดยตรงโดยไม่ต้องผ่านตัวแปรชั่วคราวใน Emacs Lisp? ตัวอย่างเช่นสมมติว่าฉันมีฟังก์ชันที่ส่งคืนรายการสองรายการ: (defun test-func () (setq a '(a b)) (setq b '(c d)) `(,a ,b)) ถ้าฉันต้องการกำหนดค่าส่งคืนแรกให้กับlist-aและค่าส่งคืนที่สองให้list-bฉันสามารถทำได้โดยใช้ตัวแปรชั่วคราวtempเช่น: (let* ((temp (test-func)) (list-a (car temp)) (list-b (cadr temp))) (message-box (prin1-to-string list-a)) (message-box (prin1-to-string list-b))) เป็นไปได้ไหมที่จะทำสิ่งนี้ให้ง่ายขึ้น? (ฉันคุ้นเคยกับ Perl และ Python ที่คุณไม่ต้องระบุตัวแปรชั่วคราว)

3
ฉันจะตรวจสอบได้อย่างไรว่าตัวละครปัจจุบันเป็นตัวอักษรสำหรับโหมดหลักนั้นหรือไม่?
ฉันกำลังทำงานกับฟังก์ชั่นเล็ก ๆ น้อย ๆ ที่ดึงบรรทัดถัดไปสู่บรรทัดปัจจุบัน ฉันต้องการเพิ่มฟังก์ชั่นเพื่อที่ว่าถ้าบรรทัดปัจจุบันเป็นความคิดเห็นของบรรทัดและบรรทัดถัดไปเป็นความคิดเห็นของบรรทัดแล้วตัวละครความคิดเห็นจะถูกลบออกหลังจากการกระทำ "ดึงขึ้น" ตัวอย่าง: ก่อน ;; comment 1▮ ;; comment 2 การเรียกร้อง M-x modi/pull-up-line หลังจาก ;; comment 1▮comment 2 โปรดทราบว่า;;ตัวละครจะถูกลบออกก่อนหน้าcomment 2นี้ (defun modi/pull-up-line () "Join the following line onto the current one (analogous to `C-e', `C-d') or `C-u M-^' or `C-u M-x join-line'. If the current …

1
วิธีใช้อาร์กิวเมนต์ 'แบบโต้ตอบ' เมื่อเรียกใช้คำสั่งจากรหัส
ฉันมีคำสั่งที่เรียกtestใช้เพียงแค่การป้อนข้อมูลจากผู้ใช้และสะท้อนกลับ: (defun test (input) (interactive "MInput: ") (message "%s" input)) ฉันต้องการเขียนฟังก์ชั่นอื่นซึ่งจะเรียกมันว่า ล้มเหลวต่อไปนี้: (defun test-forward () (interactive) (test)) ด้วยข้อผิดพลาดนี้ test-forward: Wrong number of arguments: (lambda (input) (interactive "MInput: ") (message "%s" input)), 0 สิ่งนี้สมเหตุสมผลเนื่องจากtestใช้หนึ่งอินพุต ทำtest's input &optionalก็ทำให้test-forwardผลตอบแทนที่nilไม่ต้องทำอะไร วิธีที่ถูกต้องในการทำเช่นนี้คืออะไร?
12 elisp  commands 

4
วิธีกำหนดเยื้องโหมดองค์กร
คำถามนี้เกิดขึ้นจริงเพราะฉันชอบที่จะใช้แบบอักษรที่ไม่ใช่แบบโมโนโพสต์, (Sabon, Minion, Garamond ฯลฯ ) ทำให้เกิดปัญหาเมื่อใช้โหมด org-indent เนื่องจากข้อความใต้หัวข้อไม่ตรงกับหัวเรื่อง ตัวอย่าง: แบบอักษรคือจอร์เจีย ตอนนี้ถ้าฉันเปลี่ยนเป็น consolas: ฉันคิดว่าปัญหาคือว่าในฟอนต์ที่ไม่ใช่แบบโมโนโพสต์ "ช่องว่าง" และ * ไม่ใช้พื้นที่เดียวกัน แม้ว่าฉันจะไม่รู้วิธีแก้ปัญหานี้ ฉันค้นหาทางอินเทอร์เน็ตและไม่พบบทช่วยสอนเพื่อปรับการเยื้องของตัวเอง ฉันพยายามอ่าน org-indent.el แต่มันก็นานสำหรับฉันที่จะเข้าใจ ความช่วยเหลือได้รับการชื่นชมอย่างมาก!

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