ยกเลิกการเติมแท็บ zsh


10

มีวิธียกเลิกการเสร็จสิ้นหรือไม่เมื่อเริ่มต้นแล้ว? บางครั้งฉันก็กดแท็บเพื่อเติมข้อความอัตโนมัติให้เป้าหมาย (จากความเกียจคร้านที่แท้จริง) และจบลงด้วยการต้องรออีกนานกว่าถ้าฉันเพิ่งพิมพ์ "ติดตั้ง" หรือ "ตรวจสอบ" ด้วยตัวเอง

ฉันไม่เห็นข้อความใด ๆ ในหน้า man zshzle แต่ฉันอาจพลาดบางสิ่ง กระสุนอื่น ๆ มีความสามารถนี้หรือไม่?

แก้ไข : คำตอบเล็กน้อย ดังนั้นแทน: มีวิธีให้ zsh ประเมินว่าการใช้แท็บเสร็จสมบูรณ์จะใช้เวลาค่อนข้างนานในการดำเนินการหรือไม่และถามว่าผู้ใช้ต้องการทำเช่นนี้หรือไม่


2
ctrl-cไม่ทำงานใช่ไหม
llua

1
ห่ามันมัน! นั่นไม่ได้เกิดขึ้นกับฉันด้วยเหตุผลบางอย่าง ฉันคิดว่าฉันคิดว่า Ctrl-C จะทำสิ่งที่น่าทึ่งมากขึ้น ลบคำถามหรือไม่ (หรือบางทีคุณต้องการตัวแทนบางส่วน?)
Zorawar

1
ฉันไม่คิดว่าจะมีวิธีประมาณเวลาที่ใช้ในการทำให้แท็บเสร็จสมบูรณ์ คุณอาจแคชผลลัพธ์ แต่อาจเป็นไปได้
Ulrich Dangel

1
@zorawar ฉันแค่พยายามช่วยไม่ได้คะแนนสูง:]
llua

1
ctrl-c ไม่สามารถใช้ได้กับกลไกการเติมเต็มของ zsh ทั้งหมด หากใครรู้วิธีอื่นในการหยุดยั้งนี้ มันจะเป็นการดีถ้ามีคำตอบที่นี่
xer0x

คำตอบ:


7

SIGINTขัดจังหวะการดำเนินการเสร็จสิ้นในปัจจุบันและนำคุณกลับไปแก้ไขบรรทัด ดังนั้นกด+Ctrl Cเอฟเฟกต์อาจไม่ส่งผลทันที: ล่ามจะตรวจสอบสัญญาณที่จุดบางจุดเท่านั้นในระหว่างการดำเนินการ (แต่บ่อยครั้ง) และสัญญาณอาจใช้เวลาสักครู่หากกระบวนการ zsh ถูกบล็อกในการโทรของระบบ (เช่นถ้าเป็น รอให้ระบบไฟล์ตอบกลับ)

น่าเสียดายที่หากคุณกดCtrl+ Cในเวลาที่ไม่ถูกต้องและไม่มีความคืบหน้าตามเวลาที่ส่งสัญญาณบรรทัดคำสั่งปัจจุบันของคุณจะถูกยกเลิก นี่เป็นเรื่องยากที่จะแก้ไขโดยไม่ต้องมีสองปุ่มขัดจังหวะที่แตกต่างกันหนึ่งสำหรับการดำเนินการเสร็จสมบูรณ์และหนึ่งสำหรับส่วนที่เหลือและฉันไม่แน่ใจว่า zsh สนับสนุนนี้

ไม่สามารถเตือนคุณได้หากการดำเนินการเสร็จสิ้นอาจใช้เวลานาน ความเร็วของฟังก์ชั่นเสร็จสมบูรณ์มักจะขับเคลื่อนด้วยความเร็วที่ข้อมูลบางอย่างสามารถอ่านได้จากระบบไฟล์; ข้อมูลนี้อยู่ในแคชหรือไม่มีจำนวนเท่าใดและเป็นระบบไฟล์ประเภทใด (เช่น ramdisk, ฮาร์ดดิสก์หรือที่เมาท์ NFS) มีอิทธิพลอย่างมาก


1
บางทีการหมดเวลาที่กำหนดค่าได้สำหรับการเติมแท็บอาจเป็นค่าเริ่มต้นที่มีสติ
antiduh

3

คุณสามารถใช้ctrl+ kเพื่อยกเลิกการเติมข้อมูลอัตโนมัติ อย่างไรก็ตามฉันไม่สามารถหาข้อมูลใด ๆ จากคู่มือ zsh ได้เช่นกัน แต่จะยกเลิกการเติมข้อมูลอัตโนมัติ

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