เมื่อใช้set showcmd
Vim แสดงคำสั่งบางส่วนในบรรทัดสุดท้ายของหน้าจอ ตัวอย่างเช่นในโหมดปกติเมื่อพิมพ์คำสั่งdt.
บรรทัดสุดท้ายจะแสดงขึ้นdt
มาจากนั้นเมื่อคุณกด.
คำสั่งเสร็จแล้วจึงไม่มีอะไรปรากฏขึ้น
มีวิธีแสดงคำสั่งแบบเต็มหรือไม่? ตัวอย่างเช่นเมื่อพิมพ์จะแสดงเป็นdt.gU(
อันดับแรก dt.
และเมื่อเริ่มพิมพ์คำสั่งที่สองคำสั่งแรกจะถูกล้างเพื่อที่ว่าในท้ายที่สุดgU(
จะปรากฏเท่านั้น
สิ่งนี้อาจมีประโยชน์เช่นในการแสดงภาพ GIF และเพื่อตรวจสอบว่าคุณพิมพ์สิ่งที่คุณต้องการหากคุณเผชิญกับผลลัพธ์ที่ไม่คาดคิด
dt.gU(
มี 2 คำสั่ง: dt.
และgU(
.... ดังนั้นสิ่งที่คุณต้องการจริงๆคือแสดงประวัติคำสั่งบางประเภท (Vim แสดงคำว่า "comamnds เต็ม" แล้ว)
src/normal.c
สายรหัสclear_showcmd()
ในหลายสถานที่ ( normal_cmd()
, do_pending_operator()
, end_visual_mode()
) ฉันกำลังเล่นกับการดัมพ์ไปยังไฟล์showcmd_buf
ที่จุดเหล่านั้นซึ่งดูดี แต่ทำให้ฉันค่อนข้างแน่ใจว่าคุณไม่สามารถได้รับสิ่งที่คุณต้องการโดยไม่ต้องแก้ไขซอร์สโค้ด Vim ในทำนองเดียวกันและสร้างใหม่อีกครั้ง แน่นอนว่าการทำเช่นนั้นอาจคุ้มค่ากับความยุ่งยากในการทำ gif ของคุณ
dt
จะแสดงเพราะมันเป็นผู้ประกอบการในปัจจุบันอยู่ระหว่างดำเนินการ เมื่อได้รับการเคลื่อนไหวก็ไม่มีผู้ประกอบการที่รอดำเนินการ สมมติว่าเราไปต่อและทำdt.gU(gu)daw
เช่นนั้น ทั้งหมดนั้นเป็น "หนึ่งคำสั่งเต็ม" หรือเป็นสี่คำสั่งเต็มหรืออย่างอื่น?