Masalah kursor riwayat Terminal / iTerm

13

Begitu sering, saya menjalankan perintah di Terminal.app atau iTerm, tekan panah atas untuk kembali untuk mengeditnya, dan kursor melompat ke baris di atas atau di suatu tempat di tempat yang salah. Ini terutama terjadi ketika perintah sangat panjang sehingga membungkus ke baris berikutnya. Kadang-kadang semua perintah panjang ini muncul di satu baris, dan kadang-kadang ditampilkan dengan benar di beberapa baris.

Ini terjadi di iTerm dan Terminal.app

Juga terjadi di kedua mode vi dan emacs, membuat mereka cukup banyak tidak dapat digunakan.

ada ide? Terima kasih!

carillonator
sumber

Jawaban:

20

Kemungkinan besar karena definisi prompt Anda mencakup urutan yang tidak boleh dihitung dalam panjang prompt, seperti yang untuk pengaturan warna. Urutan ini harus berada di antara \[dan \]untuk mencegah panjangnya dihitung. Berikut ini adalah contoh yang menghasilkan prompt semua-merah:

PS1='\[\033[31m\]\u@\h:\w\$\[\033[0m\]'
Dijeda sampai pemberitahuan lebih lanjut.
sumber
Baris ini ada di file konfigurasi (suka .bashrcatau .bash_profile), untuk siapa saja - seperti saya - yang tidak mengerti setelah membaca respons.
montrealist