Các vấn đề về con trỏ lịch sử Mac Terminal / iTerm


13

Vì vậy, tôi thường chạy một lệnh trong Terminal.app hoặc iTerm, nhấn mũi tên lên để quay lại để chỉnh sửa và con trỏ nhảy đến dòng trên hoặc ở đâu đó hoàn toàn sai. Nó đặc biệt xảy ra khi lệnh quá dài đến mức nó quấn quanh dòng tiếp theo. Đôi khi các lệnh dài này đều xuất hiện trên một dòng và đôi khi chúng hiển thị chính xác trên nhiều dòng.

Điều này xảy ra trong cả iTerm và Terminal.app

Cũng xảy ra trong cả hai chế độ vi và emacs, khiến chúng không thể sử dụng được.

có ý kiến ​​gì không cảm ơn!

Câu trả lời:


20

Rất có thể là do định nghĩa lời nhắc của bạn bao gồm các chuỗi không nên được tính theo độ dài của dấu nhắc, chẳng hạn như các định nghĩa cho cài đặt màu. Các trình tự này phải nằm giữa \[\]để ngăn chiều dài của chúng được tính. Dưới đây là một ví dụ tạo ra dấu nhắc toàn màu đỏ:

PS1='\[\033[31m\]\u@\h:\w\$\[\033[0m\]'

Dòng này nằm trong tệp cấu hình (như .bashrchoặc .bash_profile), cho bất kỳ ai - như tôi - người không biết gì sau khi đọc phản hồi.
montrealist

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.