Вопрос

В 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)

Когда я набираю сдвиг-3 в интерактивной оболочке Python, я, кажется, вызываю функцию предыдущего слова, т.е.курсор переместится в начало последнего «слова» (т.е.элемент, разделенный пробелами), набранный в строке.Когда я возвращаюсь в оболочку bash, при вводе Shift-3 просто появляется £, как и ожидалось.

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

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

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

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

  • bind £ \243

Есть идеи?

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top