คำสั่ง Alias ​​ว่างในเทอร์มินัล


9

ฉันต้องการล้างข้อมูลเทอร์มินัลเมื่อกดปุ่มส่งคำสั่งว่าง กล่าวอีกนัยหนึ่งฉันต้องการโทรหาclearเมื่อฉันกดEnterบนบรรทัดว่าง เป็นไปได้ไหม

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

คำตอบ:


12

ฟังก์ชั่นนี้ควรทำในสิ่งที่คุณต้องการ ทั้งหมดเพื่อตรวจสอบว่าอินพุตพร้อมต์ปัจจุบัน ( $BUFFER) ว่างเปล่า ( -z):

magic-enter () {
        if [[ -z $BUFFER ]]
        then
                zle clear-screen
        else
                zle accept-line
        fi
}

กำหนดเป็นเครื่องมือด้วย

zle -N magic-enter

แล้วผูกเข้ากับ[ENTER]:

bindkey "^M" magic-enter

ถ้าคุณใช้คีย์ที่ไม่ได้มาตรฐานที่มีผลผูกพันสำหรับการปรับตัวสอดคล้องกับ[Enter] คุณสามารถตรวจสอบกับzle accept-linebindkey | grep "\^M"

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