بايثون/editline على OS X:يبدو أن علامة £ مرتبطة بـ ed-prev-word

StackOverflow https://stackoverflow.com/questions/217020

سؤال

في نظام التشغيل 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:

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top