STRG- [Tasten] und Pfeile funktionieren in Terminal / IPython nicht

1328
user1190

Ich verwende ipython

Wenn ich in der Python-Shell nach oben drücke, anstatt den letzten Befehl anzuzeigen, wird sie gedruckt

^[[A 

auch STRG- [Tasten] sind Fubar. STRG-p druckt

^P 

Unter terminal \ bash ist alles normal

Meine Vermutung ist, dass es sich um ein Codierungsproblem handelt. Ich möchte entweder die vollständige Codierung in ipython aktivieren oder die Codierung der Shell ändern, auf der ipython ausgeführt wird.

Oder andere hilfreiche Informationen sind willkommen

4

3 Antworten auf die Frage

1
Thanatos

Für mich musste ich erstellen ~/.inputrcund mit meinen Vorlieben füllen. Für mich ist das:

set editing-mode emacs "\e[1;5C": forward-word "\e[1;5D": backward-word 

Die \e[1;5C, für mich ist die Sequenz, die bedeutet, Ctrl+ . Ihr ist wahrscheinlich das gleiche, aber Sie können es in bash herausfinden, indem Sie Folgendes eingeben: Ctrl+ V, Ctrl+ . Für mich zeigt dies, ^[[1;5Cund Sie müssen wissen, dass ^[dies "Flucht" bedeutet \e. Der Rest ( [1;5C) ist nur wörtlich, kopiere es. forward-wordist der Befehl, der für diese Tastenfolge ausgeführt werden soll, dh meine Strg + Pfeile überspringen Wörter.

1
Sharma SRK Chaitanya Yamijala

Zuerst kannst du es versuchen

pip install readline 

Sehen Sie auch, ob Sie libncurses5-devoder das Äquivalent haben.

0
Joe Inner

Dies funktionierte für mich (mit OSX und pyenv):

CFLAGS="-I$(brew --prefix readline)/include -I$(brew --prefix openssl)/include -I$(xcrun --show-sdk-path)/usr/include" \ LDFLAGS="-L$(brew --prefix readline)/lib -L$(brew --prefix openssl)/lib" \ PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 \ pyenv install -v 2.7.11 

Quelle: https://medium.com/@pimterry/setting-up-pyenv-on-os-x-with-homebrew-56c7541fd331#.urbdkrc9l