เป็นไปได้ไหมที่จะทำให้พื้นที่ echo ติดกับเคอร์เซอร์?


12

ปัญหา: ฉันพบว่ามันเหนื่อยมากที่จะขยับดวงตาของฉันขึ้นและลงจากตำแหน่งที่เคอร์เซอร์อยู่ที่บริเวณสะท้อนเสียงด้านล่าง

คำถาม: เป็นไปได้หรือไม่ที่จะทำให้พื้นที่ echo นั้นถูกจัดสรรแบบไดนามิกใกล้กับเคอร์เซอร์ของฉันเช่นคำแนะนำเครื่องมือ? ฉันค้นหาแพ็คเกจ แต่ไม่สามารถค้นหาได้ ฉันไม่เชื่อว่ามันเป็นความคิดใหม่และบางคนต้องทำมัน


จะทำอย่างไรถ้าคุณแสดงข้อความหลาย ๆ หน้าจอ?
wvxvw

@wvxvw อาจมีกลไกทางเลือก ฉันใช้สิ่งนี้ไปแล้วสำหรับกรณีเฉพาะ ฉันอยากรู้ว่ามีวิธีแก้ปัญหาทั่วไปอยู่แล้ว
abo-abo

2
มันเป็นไปได้ถ้าคุณใช้กรอบทุ่มเท มันมาจากแพคเกจชื่อoneonone 1on1-minibuffer-frame-flag is non-nil (the default value), then the minibuffer is shown in its own frameในส่วนความคิดเห็นก็เขียนไว้ว่า
Tu Do

1
ที่เกี่ยวข้องอย่างใกล้ชิดกับคำถามนี้ อันนั้นเกี่ยวกับอินพุตของ minibuffer แต่มันมีคำตอบที่เป็นบวกดังนั้นคุณอาจจะสามารถปรับมันได้
Malabarba

คำตอบ:


3

พื้นที่เสียงสะท้อนใช้หน้าต่าง minibuffer อย่างชัดเจนดังนั้นหากการเปลี่ยนแปลงคำตอบคือ "ไม่เป็นไปไม่ได้" (หรืออย่างน้อยที่สุดก็ใช้ไม่ได้จริง)

อ้างถึง/programming/10063410/is-it-possible-to-separate-minibuffer-and-echo-area-inac-emacs


แต่ถ้าฉันดักจับmessageเพื่อแสดงในโอเวอร์เลย์แทนที่จะเป็นพื้นที่เสียงก้อง?
abo-abo

messageแน่นอนว่าถ้าคุณเพียงต้องการนี้ได้ มีฟังก์ชั่นอื่น ๆ อีกมากมายที่ส่งออกไปยังพื้นที่เสียงก้อง; ฉันไม่เชื่อว่ามันเป็นปัญหาเล็กน้อย ตามคำถามและคำตอบที่เชื่อมโยงดูที่คู่มือเพื่อให้เข้าใจถึงขอบเขต
phils

1
โปรดสังเกตว่าโดยเฉพาะอย่างยิ่งว่ามีฟังก์ชั่น C จำนวนมากที่บายพาสmessageและแทนโดยตรงเรียกใช้หนึ่งในฟังก์ชั่น C ที่ใช้การส่งข้อความภายใต้
phils

มันเป็นเรื่องน่าเศร้า ฉันคิดว่าจะใช้การซ้อนทับ + รหัสบางอย่างเพื่อเปลี่ยนเส้นทางข้อความ
wangii

คุณสามารถมีกรอบเล็ก ๆ ที่มีเพียงหน้าต่าง minibuffer เท่านั้น ความยากลำบากเพียงอย่างเดียวที่ปรากฏขึ้นเมื่อใดก็ตามที่พื้นที่เสียงสะท้อนกำลังแสดงอะไร
Malabarba

5

ตามที่ความคิดเห็นของ @ TuDo บ่งชี้ (และเขาสามารถเปลี่ยนเป็นคำตอบหากเขาชอบซึ่งในกรณีนี้ฉันจะลบคำตอบนี้) อย่างน้อยคุณสามารถใช้กรอบ minibuffer แบบสแตนด์อโลนและคุณสามารถวางตำแหน่งที่คุณต้องการ

ข้อดีอย่างหนึ่งของการตั้งค่าเริ่มต้นคือคุณมีที่เดียวที่จะมองหาเสมอสำหรับข้อความที่ส่งออก (พื้นที่ echo) และสำหรับการแก้ไขอินพุต (minibuffer)

คุณอาจทำให้ตำแหน่งของมันเปลี่ยนแบบไดนามิกตัวอย่างเช่นให้ใกล้เคียงกับจุดโฟกัสปัจจุบัน

One On One Emacsสามารถช่วยได้ ออกจากกล่องช่วยให้คุณตัดสินใจว่าจะวางเฟรม minibuffer ไว้ที่ใด แต่การปรับตำแหน่งเฟรมใหม่แบบไดนามิกคุณจะต้องเพิ่มพิเศษอีกเล็กน้อย

(ปัจจุบัน EmacsWiki หยุดทำงาน แต่คุณสามารถดาวน์โหลดได้oneonone.elจาก MELPA ด้วย)


สมมุติว่าคุณหมายถึงหน้านี้ในวิกิหรือไม่ ฉันไม่แน่ใจ แต่ลิงค์ของคุณใช้งานไม่ได้
Wilfred Hughes

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