มีโหมดย่อยอะไรที่พิมพ์การเปิด paren ในพื้นที่ echo?


10

นี่เป็นคุณสมบัติที่ดีจริงๆ แต่จะปรากฏเฉพาะเมื่อแทรก paren ไม่ใช่เมื่อเปลี่ยนเป็นตำแหน่งเคอร์เซอร์ มีคำสั่งแบบโต้ตอบที่ฉันสามารถเรียกเพื่อแสดงสิ่งนี้ได้หรือไม่? ฉันสามารถกำหนดค่าให้แสดงเมื่อย้ายเคอร์เซอร์ได้หรือไม่

ป้อนคำอธิบายรูปภาพที่นี่

คำตอบ:


6

ข้อความนั้นจะถูกพิมพ์เมื่อไม่เห็นจุดเริ่มต้นของ sexp ในหน้าต่าง มิฉะนั้นการเปิด paren จะถูกเน้นเป็นการชั่วคราว

พฤติกรรมนี้มีการนำมาใช้simple.elและไม่เกี่ยวข้องกับโหมดรองใด ๆ มันถูกนำมาใช้โดยใช้เบ็ดที่ทำงานเมื่อมีการแทรกตัวละคร

กะพริบ / ข้อความจริงมาจากคำสั่งblink-matching-openซึ่งคุณสามารถเรียกตัวเอง ตัวอย่างเช่นคุณสามารถเริ่มจับเวลาที่จะเรียกคำสั่งนี้เมื่อใดก็ตามที่คุณหยุดชั่วคราวเป็นเวลาสั้น ๆ ใน paren ปิด นี่คือวิธีการshow-paren-modeทำงานของบิวท์อิน

(defvar match-paren--idle-timer nil)
(defvar match-paren--delay 0.5)
(setq match-paren--idle-timer (run-with-idle-timer match-paren--delay t #'blink-matching-open))

ฉันต้องการสิ่งนี้ด้วย แต่ฉันจะทำให้มันไม่ได้ชั่วคราวได้อย่างไร คือฉันต้องการให้ข้อความอยู่ใน minibuffer จนกระทั่งเคอร์เซอร์ถูกย้าย
Faheem Mitha

4

คุณสามารถใช้M-x blink-matching-open RETเพื่อแสดงข้อความหากคุณอยู่หลัง paren หากต้องการเพิ่มมากขึ้น "ในทันที" คุณอาจต้องการลองM-x show-paren-modeแต่ไม่ได้ให้ข้อความนี้แก่คุณ

มิฉะนั้นคุณสามารถใช้สิ่งที่ชอบ

(add-hook 'post-command-hook
          (lambda ()
            (if (and (not (bobp))
                     (eq ?\) (char-syntax (char-before))))
                (blink-matching-open))))
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.