Menambahkan Ctrl-L sebagai hotkey "hapus" di ksh OpenBSD


8

Saya telah mencari cara untuk digunakan Ctrl- Luntuk membersihkan monitor alih-alih mengetik clearsetiap waktu. Saya tidak menemukan apa pun kecuali tambalan yang tidak bekerja untuk saya. Bagaimana cara menambahkan tombol pintas / pintas ke kotak OpenBSD saya (yang menggunakan ksh sebagai shell)?

[*] Ksh.kshrc OpenBSD

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

# kunci Baca ; echo -n $ key> file.txt; hexdump file.txt
^ L
0000000 000c                                   
0000001
# 

Jawaban:


5

Menurut halaman manual kBS OpenBSD , Ctrl+ Lterikat untuk menggambar ulang.

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

Jika itu tidak cukup, saya tidak dapat melihat perintah pengeditan yang akan membantu, jadi saya akan menyarankan untuk mempelajari lebih lanjut bind -m.

Mungkin Anda bisa melakukan sesuatu seperti bind -m '^L'=clear'^J'membuatnya mengetik clear Enter.


Saya telah menguji bind -m '^L'=clear'^J'pada OpenBSD 4.9 dan berfungsi.
Mikel

Sudah dipecahkan, Mikel & shellter terima kasih atas bantuannya.

3

Anda harus dapat menambahkan alias ke .kshrc Anda untuk melakukan ini. Mencoba

alias "^L"=clear

Di mana ^Lchar tunggal Ctrl- L. Anda mungkin tidak perlu mengutip, jika masih tidak berhasil, jalan terakhir adalah menghindarinya seperti (apa yang Anda ketikkan, bukan apa yang akan terlihat dalam file Anda) Ctrl- VCtrl- L→ jelas.

IHTH


1
Terima kasih shellter tetapi cara ini berfungsi untuk bash, bukan ksh.

@ Masyarakat: Apa yang tidak berfungsi? Apa pesan kesalahannya? Ini bekerja di lingkungan ksh saya ;-) (dan saya yakin itu akan berhasil di mana saya menggunakan Solaris dan AIX ksh). Hmm. baca kembali postingan Anda dan lihat Anda merujuk ke OpenBSD ksh. Maaf saya tidak punya pengalaman dengan itu. Apakah mungkin itu benar-benar pdksh? Semoga berhasil.
shellter

@Barakat: Satu hal lagi, apakah Anda memulai kembali shell Anda setelah menambahkan alias defintion ke .kshrc. Atau Anda dapat menambahkannya ke ~ / .profile dan kemudian mulai shell baru.
shellter
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.