Python / editline на OS X: знак £, кажется, связан с ed-prev-word - PullRequest
0 голосов
/ 20 октября 2008

В 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, набрав shift-3, мы получим £, как и ожидалось.

Эта версия Python, по-видимому, использует editline для своей интерактивной оболочки, а не readline. Я предполагаю, что одна из привязок клавиш строки редактирования по умолчанию связывает shift-3 (или любую строку редактирования, которую я вижу при вводе shift-3) с командой ed-prev-word.

Я попытался несколько вещей в своем файле ~ / .editrc удалить эту привязку, и они не имеют никакого эффекта:

  • bind -r £
  • bind -r \243
  • bind -r \156

И еще одна ошибка, вызывающая ошибку шины:

  • bind £ \243

Есть идеи?

1 Ответ

1 голос
/ 20 октября 2008

Это может быть проблема редактирования строки; libedit может не принимать символы UTF-8:

...