Lệnh trống bí danh trong terminal


9

Tôi muốn xóa thiết bị đầu cuối của mình khi nhấn gửi một lệnh trống. Nói cách khác, tôi muốn gọi clearkhi tôi nhấn Entervào dòng trống. Điều đó có thể không?

Tôi hiểu rằng đó không phải là cách thiết bị đầu cuối hoạt động, nhưng có thể có một hack tốt như ràng buộc phím Enter và kiểm tra thiết bị đầu cuối hoặc một cái gì đó.

Câu trả lời:


12

Chức năng này sẽ làm những gì bạn muốn; tất cả chỉ để kiểm tra xem đầu vào hiện tại ( $BUFFER) có trống không ( -z):

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

Xác định nó như một widget với

zle -N magic-enter

và sau đó ràng buộc nó với [ENTER]:

bindkey "^M" magic-enter

Nếu bạn sử dụng một ràng buộc khóa không chuẩn cho [Enter], hãy điều chỉnh dòng với zle accept-line. Bạn có thể kiểm tra với bindkey | grep "\^M".

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.