ฉันมีปัญหาดังต่อไปนี้: เมื่อฉันใช้ 'Cx rt' (string-rectangle) ฉันได้รับแจ้งให้ป้อนสตริงบางส่วนเพื่อแทนที่สี่เหลี่ยมผืนผ้าที่เลือก ให้บอกว่าฉันพิมพ์ ";;" (เพื่อแสดงความคิดเห็นสี่เหลี่ยมผืนผ้า) ใช้งานได้ดี แต่ครั้งต่อไปที่ฉันเรียกใช้ฟังก์ชันเดียวกันและฉันต้องการแทนที่ด้วยไม่มีอะไร (สตริงว่าง) ฉันไม่สามารถทำได้เพราะมี "สตริง" เริ่มต้น ";; ที่ฉันใช้ก่อนหน้านี้และถ้าฉันเพิ่งกด Enter คำสั่งจะใช้ที่ ";;" สตริงแทนค่าว่าง ฉันจะตั้งเป็นสตริงว่างได้อย่างไร
ปัญหาที่คล้ายกันฉันมีบางฟังก์ชั่นการค้นหา / แทนที่ โดยทั่วไปเมื่อมันจดจำสตริงล่าสุดที่ฉันใช้และตั้งค่าเป็นค่าเริ่มต้นฉันจะ "ป้อน" สตริงว่างแทนได้อย่างไร
แก้ไข:
Kill-rectangle กล่าวโดย YoungFrog แก้ปัญหาเฉพาะ แต่ฉันมีสิ่งอื่นในใจ: basicaly ในสิ่งที่เคย emacs ฟังก์ชั่นจำค่าสุดท้ายที่คุณป้อนและใช้มันเป็น "เริ่มต้น" เมื่อคุณกด Enter คุณควรจะ สามารถล้าง "ค่าเริ่มต้น" เป็นค่าเริ่มต้นจริงก่อนที่คุณจะใช้ฟังก์ชั่น นี่เป็นอีกตัวอย่าง:
ในโหมด dired หากคุณ 'Mx rgrep' ระบบจะถามคุณถึง 3 อินพุต:
1) สิ่งที่จะค้นหา: สิ่งที่คุณป้อนที่นี่จะถูกใช้เป็นค่าเริ่มต้นในครั้งต่อไปที่คุณใช้ rgrep อย่างที่ใครบางคนชี้ให้เห็นมันไม่สมเหตุสมผลเลยที่จะค้นหาสตริงว่างเปล่าดังนั้นการล้างค่า "เริ่มต้น" นี้จึงไม่จำเป็นต้องเดาเลย
2) ถัดไปมันจะถามไฟล์ที่จะค้นหา มันเป็นค่าเริ่มต้นที่แท้จริงคือไฟล์ "ทั้งหมด" หากฉันป้อน * .txt และค้นหาครั้งต่อไปเมื่อฉันใช้ rgrep ระบบจะใช้ * .txt เป็น "ค่าเริ่มต้น" ตอนนี้ฉันต้องการล้าง "default" * .txt และกลับสู่ค่าเริ่มต้นดั้งเดิม "all" เช่นเดียวกับที่ฉันต้องการล้าง ";;" "default" ในฟังก์ชั่น string-rectangle โดยเป็นสตริงว่างเปล่าที่เป็นค่าเริ่มต้นจริง
แน่นอนปัญหานี้โดยเฉพาะสำหรับไฟล์ทั้งหมดอาจแก้ไขได้ด้วยการพิมพ์ *? แต่ปัญหาทั่วไปที่อาจเกิดขึ้นยังคงมีอยู่กับคำสั่งอื่น ๆ ที่จดจำค่าที่ใช้ล่าสุด
3) ถัดไปมันจะถามหาไดเรกทอรีฐานไม่มีปัญหาที่นี่
ดังนั้นวิธีที่ฉันเห็นมันเมื่อใดก็ตามที่ emacs พยายามช่วยฉันด้วยการจดจำค่าที่ใช้ล่าสุดของฉันในบางคำสั่ง (ซึ่งฉันพบว่ามีประโยชน์มากที่สุดตลอดเวลา) ควรมีวิธีการล้างค่าที่ใช้ราวกับว่าฉันไม่เคยใช้ คำสั่งก่อน
PS ฉันยังใหม่กับ emacs และบางทีฟังก์ชั่นที่ฉันต้องการไม่จำเป็นเพราะมีวิธีแก้ปัญหาอยู่เสมอ?
clear rectangle
ถ้าคุณตั้งใจที่จะแทรกช่องว่างในรูปสี่เหลี่ยมผืนผ้าที่เลือกคุณสามารถใช้
comment-dwim
? การป้อนสตริง "empty" สำหรับการค้นหาก็ไม่สมเหตุสมผล แต่คุณสามารถป้อนสตริงว่างสำหรับชิ้นส่วนแทนที่ได้ ฉันอยากรู้อยากเห็นตัวอย่างเพิ่มเติมที่ผู้ใช้อาจต้องการป้อนสตริงว่าง
string-rectangle
แต่ดูเหมือนว่าอาจจะมีปัญหากับการออกแบบของคำสั่ง เมื่อใดก็ตามที่สตริงว่างทำให้รู้สึกว่าเป็นข้อมูลที่เป็นไปได้ควรมีวิธีการป้อนเป็นแตกต่างจากการยอมรับค่าเริ่มต้น ดูอย่างใกล้ชิดที่ doc สำหรับคำสั่ง (และที่ซอร์สโค้ดของมันถ้าคุณพอใจกับมัน) เพื่อดูว่ามีข้อบกพร่องในการออกแบบจริงหรือไม่ หากคุณคิดว่ามีโปรดรายงาน: M-x report-emacs-bug
.
2)
, คุณสามารถป้อนตัวอักษรall
, ซึ่งแตกต่างจาก*
: มันตรงกัน.*
ด้วย
delete-rectangle
เป็นตัวเลือก