Apakah mungkin untuk menyorot (mengatur warna latar belakang) untuk seluruh baris prompt di zsh
? Dalam konfigurasi emacs saya, saya memiliki garis tempat kursor duduk dengan warna yang sedikit berbeda dengan latar belakang jendela, yang merupakan bantuan visual yang luar biasa. Saya bertanya-tanya apakah mungkin untuk melakukan hal yang sama di terminal / zsh prompt saya, sehingga secara efektif "menarik garis" di bawah semua yang telah dijalankan.
Saya sudah mencoba pengaturan PROMPT='%{$bg[grey]%}# '
di saya .zshrc
tetapi sorot hanya meluas sejauh yang saya ketik, tidak ke tepi terminal.
Apakah yang saya coba capai mungkin?
Anda dapat melakukan apa pun yang Anda inginkan dengan baris perintah * - aspek yang bermasalah adalah membatalkannya sesudahnya. Saya berasumsi Anda tidak ingin setiap baris yang pernah memiliki prompt ditampilkan dengan warna hilight Anda.
Hampir akan lebih mudah untuk menghapus baris sesudahnya, tetapi kemudian Anda tidak memiliki perintah. Mungkin hapus prompt lalu echo perintah (dengan pseudo-prompt seperti
$
). Anda bisa meminta prompt mulai dengan urutan penyimpanan kursor ANSIESC [s
, kemudian dalamprecmd
mengembalikannyaESC [u
dan menghapus semuanya setelah kursorESC [0J
, kemudian mengulangi perintah (saya tidak ingat bagaimana cara mendapatkan perintah dari dalamprecmd
).* Ini adalah jawaban yang tidak lengkap, saya tidak tahu bagaimana membuatnya hilight perintah dalam warna latar belakang yang berbeda.
sumber
Jika saya berubah
grey
menjadiwhite
, teladan Anda sebenarnya bekerja untuk saya.Terminal apa yang Anda gunakan? Mungkin menangani warna latar belakang menghapus secara berbeda?
Berikut ini beberapa alternatif untuk dicoba:
Berikan seluruh garis prompt latar belakang abu-abu:
(harus sama dengan contoh Anda, tetapi cara penulisan yang berbeda.)
Cetak baris sebelum konfirmasi:
(Jika Anda berubah
"\n"
menjadi"\r"
, itu harus menggarisbawahi baris saat ini, tapi itu sepertinya tidak berhasil. Saya kira zsh menghapus baris saat ini saat mencetak prompt, yang mana yang membawa saya ke solusi pertama.)Buat perintah (yaitu semua yang Anda ketik) tebal:
sumber