Perintah kosong alias di terminal


9

Saya ingin menghapus terminal saya setelah mengirim perintah kosong. Dengan kata lain, saya ingin menelepon clearketika saya menekan Entersaluran kosong. Apakah itu mungkin?

Saya mengerti bahwa ini bukanlah cara kerja terminal, tetapi mungkin ada peretasan yang bagus seperti mengikat tombol Enter dan memeriksa terminal atau sesuatu.

Jawaban:


12

Fungsi ini harus melakukan apa yang Anda inginkan; semua itu dilakukan untuk memeriksa apakah input prompt saat ini ( $BUFFER) kosong ( -z):

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

Tentukan sebagai widget dengan

zle -N magic-enter

dan kemudian ikat ke [ENTER]:

bindkey "^M" magic-enter

Jika Anda menggunakan kunci non-standar yang mengikat [Enter], sesuaikan dengan zle accept-line. Anda bisa memeriksanya bindkey | grep "\^M".

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.