Pertanyaan Masalah Terminal OS X 10.6.4


Saya biasanya memiliki perintah terminal yang panjang dan setiap kali saya mencoba menggunakan sejarah perintah (dengan menekan panah ke atas) pemformatan teks menjadi kacau dan kursor muncul di tempat yang salah. Pada titik ini mengedit perintah menjadi tidak mungkin dan posisi kursor yang sebenarnya tidak terwakili dengan benar di layar.

Jika saya mengubah ukuran jendela terminal untuk memungkinkan seluruh perintah untuk muat pada satu baris maka pemformatan akan dikoreksi tetapi kadang-kadang saya tidak memiliki cukup layar real estat untuk mencapai hal ini. Ada ide?


2
2017-10-04 19:07


asal




Jawaban:


Sudahkah Anda menyesuaikan permintaan shell Anda (misalnya colorization atau sesuatu seperti itu)? Alasan yang biasa terjadi adalah Anda memiliki karakter non-pencetakan pada prompt Anda (misalnya urutan perubahan warna) dan mereka mengacaukan shell tentang seberapa lebar prompt, dan oleh karena itu bagaimana cara membungkus baris perintah.

Dengan asumsi Anda menggunakan bash sebagai shell Anda, solusi yang tepat adalah dengan membungkus urutan nonprinting di \[...\] untuk membiarkan cangkang tahu mereka tidak dicetak. Misalnya, jika Anda menginginkan prompt Anda menjadi biru (\e[0;34m untuk mengubahnya menjadi biru, \e[m untuk kembali normal), Anda akan menggunakan:

PS1='\[\e[0;34m\]your prompt text here\[\e[m\]'

6
2017-10-04 20:13



Tidak dapat mengomentari ini cukup. Tidak akan berpikir cepat bisa mengacaukannya begitu buruk. - Jonathan Dumaine


Apakah ini terjadi pada komputer lokal Anda - dengan ini, maksud saya Anda belum SSH ke komputer lain? Jika ini bersifat lokal, coba keluar dari Terminal.app, hapus file .plist, dan buka kembali Terminal.app.


0
2017-10-04 19:37



Apakah ini bisa berhasil atau tidak, itu sangat penting untuk menjelaskan bahwa menghapus .plist file akan dihapus SEMUA preferensi untuk suatu aplikasi dan yang mungkin atau mungkin tidak seperti yang diinginkan OP. Lebih baik hanya memindahkannya atau mengganti namanya sementara. - fideli