Thêm Ctrl-L làm phím tắt xóa xóa xóa trong ksh trong OpenBSD


8

Tôi đã tìm cách sử dụng Ctrl- Lđể xóa màn hình thay vì gõ clearmỗi lần. Tôi không tìm thấy gì ngoại trừ một bản vá không hiệu quả với tôi. Làm cách nào để thêm phím nóng / phím tắt vào hộp OpenBSD của tôi (sử dụng ksh làm vỏ)?

[*] Ksh.kshrc của OpenBSD

[*] Ctrl-l trong hex = 0xc:

# đọc khóa ; echo -n $ key> file.txt; hexdump file.txt
^ L
0000000 000c                                   
0000001
# 

Câu trả lời:


5

Theo trang man ksh OpenBSD , Ctrl+ Lbị ràng buộc để vẽ lại.

 redraw: ^L
         Reprints the prompt string and the current input line.

Nếu điều đó là không đủ, tôi không thể thấy bất kỳ lệnh chỉnh sửa nào sẽ giúp ích, vì vậy tôi sẽ khuyên bạn nên tìm hiểu thêm về bind -m.

Có lẽ bạn có thể làm một cái gì đó như bind -m '^L'=clear'^J'làm cho nó loại clear Enter.


Tôi đã thử nghiệm bind -m '^L'=clear'^J'trên OpenBSD 4.9 và nó hoạt động.
Mikel

Đã giải quyết xong, Mikel & shellter cảm ơn bạn đã giúp đỡ.

3

Bạn sẽ có thể thêm bí danh vào .kshrc của mình để thực hiện việc này. Thử

alias "^L"=clear

Đâu ^Llà char duy nhất Ctrl- L. Bạn có thể không cần trích dẫn, nếu nó vẫn không hoạt động, biện pháp cuối cùng sẽ là thoát nó như thế nào (những gì bạn đang gõ, không phải những gì sẽ hiển thị trong tệp của bạn) Ctrl- VCtrl- L→ xóa.

IHTH


1
Cảm ơn bạn shellter nhưng cách này hoạt động cho bash không ksh.

@Barakat: Cái gì không hiệu quả? Thông báo lỗi là gì? Nó hoạt động trong môi trường ksh của tôi ;-) (và tôi chắc chắn rằng nó sẽ hoạt động khi tôi sử dụng Solaris và AIX ksh's). Hừm. đọc lại bài đăng của bạn và thấy bạn đang tham khảo OpenBSD ksh. Xin lỗi tôi không có kinh nghiệm với điều đó. Có thể là nó thực sự là pdksh? Chúc may mắn.
shellter

@Barakat: Một điều khác, bạn đã khởi động lại vỏ của mình sau khi thêm định nghĩa bí danh vào .kshrc. Hoặc bạn có thể thêm nó vào ~ / .profile và sau đó bắt đầu một shell mới.
shellter
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.