ปัญหาเคอร์เซอร์ประวัติเทอร์มินัล Mac / iTerm


13

บ่อยครั้งที่ฉันรันคำสั่งใน Terminal.app หรือ iTerm กดลูกศรขึ้นเพื่อกลับไปแก้ไขและเคอร์เซอร์จะกระโดดไปที่บรรทัดด้านบนหรือที่อื่นในตำแหน่งที่ไม่ถูกต้อง มันเกิดขึ้นโดยเฉพาะอย่างยิ่งเมื่อคำสั่งยาวจนมันล้อมรอบไปยังบรรทัดถัดไป บางครั้งคำสั่งแบบยาวเหล่านี้ทั้งหมดปรากฏในหนึ่งบรรทัดและบางครั้งคำสั่งเหล่านั้นแสดงอย่างถูกต้องในหลายบรรทัด

สิ่งนี้เกิดขึ้นทั้งใน iTerm และ Terminal.app

ยังเกิดขึ้นในโหมดทั้ง vi และ emac ทำให้ไม่สามารถใช้งานได้

ความคิดใด ๆ ขอบคุณ!

คำตอบ:


20

เป็นไปได้มากที่สุดเนื่องจากนิยามพรอมต์ของคุณมีลำดับที่ไม่ควรนับในความยาวของพรอมต์เช่นการตั้งค่าสี ลำดับเหล่านี้ควรอยู่ระหว่าง\[และ\]เพื่อป้องกันความยาวของพวกเขาจากการนับ นี่คือตัวอย่างที่สร้างพรอมต์สีแดงทั้งหมด:

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

บรรทัดนี้อยู่ในไฟล์กำหนดค่า (เช่น.bashrcหรือ.bash_profile) สำหรับใครก็ได้เช่นฉัน - ใครเป็นคนขี้เกียจหลังจากอ่านคำตอบ
มอนทาลิสต์

0

สำหรับผู้ที่มีปัญหาข้อผิดพลาดนี้จะได้รับการแก้ไข สำหรับข้อมูลเพิ่มเติมคุณสามารถเยี่ยมชมที่นี่ https://code.google.com/p/iterm2/issues/detail?id=2245

คุณอาจต้องดึงแหล่งที่มาล่าสุดจาก GitHub และสร้างจากแหล่งที่มา

https://github.com/gnachman/iTerm2

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.