ฉันพิมพ์Ctrl+ Zเพื่อ“ ระงับ” คำสั่งที่ฉันพิมพ์และพิมพ์คำสั่งอื่น หลังจากที่ฉันเรียกใช้คำสั่งนั้น (หรือยกเลิกด้วยCtrl+ C) คำสั่งที่ถูกระงับจะกลับมาอีกครั้งสำหรับรุ่น (แม้จะจำตำแหน่งเคอร์เซอร์) เพื่อความสะดวกเพิ่มเติมหากบรรทัดคำสั่งว่างเปล่าเมื่อฉันพิมพ์Ctrl+ Zคีย์จะเรียกใช้bg
บิวด์อินแทน (ดังนั้น double Ctrl+ Zจะส่งคำสั่งที่รันโดยตรงไปยังพื้นหลัง)
fancy-ctrl-z () {
emulate -LR zsh
if [[ $#BUFFER -eq 0 ]]; then
bg
zle redisplay
else
zle push-input
fi
}
zle -N fancy-ctrl-z
bindkey '^Z' fancy-ctrl-z
(โพสต์ก่อนหน้านี้ที่จำคำสั่งครึ่งพิมพ์ในขณะที่ฉันตรวจสอบบางสิ่งบางอย่างซึ่งส่วนใหญ่มีโซลูชั่นสำหรับทุบตีที่คุณไม่สามารถทำอะไรได้สะดวกนี่คือรุ่นผูกพันของบิวด์อินเล็กน้อยM-q
การpush-line
.)
สิ่งนี้ไม่ได้เรียกใช้เชลล์ย่อย: คำสั่งที่คุณพิมพ์หลังจาก“ หยุดชั่วคราว” คำสั่งก่อนหน้านี้จะรันในเชลล์เดียวกัน สิ่งนี้จะช่วยให้คุณทำสิ่งต่าง ๆ เช่นการเปลี่ยนไดเรกทอรีปัจจุบันถ้าคุณรู้หลังจากพิมพ์คำสั่งที่คุณต้องการเรียกใช้ในไดเรกทอรีอื่น หากคุณต้องการเรียกใช้อินสแตนซ์เชลล์ใหม่คุณสามารถเรียกใช้zsh
จากการเชื่อมโยงคีย์ แต่ฉันไม่คิดว่ามันมีประโยชน์เป็นพิเศษ