بايثون/editline على OS X:يبدو أن علامة £ مرتبطة بـ ed-prev-word
سؤال
في نظام التشغيل Mac OS X، لا يمكنني إدخال علامة الجنيه الإسترليني ( £) في غلاف Python التفاعلي.
* Mac OS X 10.5.5
* Python 2.5.1 (r251:54863, Jan 17 2008, 19:35:17)
* European keyboard (£ is shift-3)
عندما أكتب Shift-3 في غلاف Python التفاعلي، يبدو أنني أستدعي وظيفة الكلمة السابقة، أي.سينتقل المؤشر إلى بداية "الكلمة" الأخيرة (أي:عنصر محدد بمسافات) مكتوب على السطر.عندما أعود إلى bash Shell، فإن كتابة Shift-3 تنتج فقط £، كما هو متوقع.
يبدو أن هذا الإصدار من بايثون يستخدم خط التحرير في غلافه التفاعلي، بدلاً من خط القراءة.أعتقد أن أحد روابط مفاتيح التحرير الافتراضية يربط Shift-3 (أو أي شيء يراه خط التحرير عندما أكتب Shift-3) بالأمر ed-prev-word.
لقد قمت بتجربة بعض الأشياء في ملفي ~/.editrc لإزالة هذا الربط، ولم يكن لها أي تأثير:
bind -r £
bind -r \243
bind -r \156
وآخر يسبب خطأ في الحافلة:
bind £ \243
أيه أفكار؟
المحلول
قد تكون هذه مشكلة في خط التحرير؛قد لا يقبل libedit أحرف UTF-8: