2016-07-25 24 views
1

Ich verwende gnome-terminal, emacs -nw, eshell innerhalb emacs und ipython.Emacs-Shell interpretiert Ipython-Zeichen falsch

Aus irgendeinem Grund interpretiert die Emacs-Shell Zeichen falsch.

Hier ist, was ich sehe (plese Anmerkung die letzten drei Zeilen):

$ ipython 
Python 3.5.2 (default, Jun 28 2016, 08:46:01) 
Type "copyright", "credits" or "license" for more information. 

IPython 5.0.0 -- An enhanced Interactive Python. 
?   -> Introduction and overview of IPython's features. 
%quickref -> Quick reference. 
help  -> Python's own help system. 
object? -> Details about 'object', use 'object??' for extra details. 

^[[?12l^[[?25hprint("hi") 
^[[J^[[?7h^[[?12l^[[?25h^[[?2004lhi 

^[[?12l^[[?25h 

Ich glaube, das einige Codierung Problem sein muss, aber ich bin nicht sicher, wie es zu diagnostizieren und zu beheben.

Hier ist meine env ausgegeben, wenn es hilft:

$ env 
XDG_VTNR=2 
XDG_SESSION_ID=c3 
TERM=xterm-256color 
SHELL=/bin/bash 
XDG_MENU_PREFIX=gnome- 
VTE_VERSION=4402 
GJS_DEBUG_OUTPUT=stderr 
WINDOWID=29360134 
GJS_DEBUG_TOPICS=JS ERROR;JS LOG 
USER=adrin 
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh 
SESSION_MANAGER=local/mydarlingarch:@/tmp/.ICE-unix/498,unix/mydarlingarch:/tmp/.ICE-unix/498 
USERNAME=adrin 
MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins 
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl 
MAIL=/var/spool/mail/adrin 
DESKTOP_SESSION=gnome 
QT_QPA_PLATFORMTHEME=qgnomeplatform 
XDG_SESSION_TYPE=x11 
PWD=/home/adrin 
LANG=en_US.UTF-8 
GDM_LANG=en_US.UTF-8 
GDMSESSION=gnome 
XDG_SEAT=seat0 
HOME=/home/adrin 
SHLVL=1 
GNOME_DESKTOP_SESSION_ID=this-is-deprecated 
XDG_SESSION_DESKTOP=gnome 
LOGNAME=adrin 
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus 
WINDOWPATH=2 
XDG_RUNTIME_DIR=/run/user/1000 
DISPLAY=:0 
XDG_CURRENT_DESKTOP=GNOME 
COLORTERM=truecolor 
XAUTHORITY=/run/user/1000/gdm/Xauthority 
_=/usr/bin/env 
+1

Wenn Sie dies ausführen: 'echo -e‚\ 033 [0; 31mhello \ 033 [1; 0m'', erhalten Sie einen roten "Hallo" oder verstümmelten Text? Versuchen zu sagen, ob es ipython oder Ihre gesamte Shell ist. Wenn Sie 'shell' anstelle von' eshell' ausführen, sehen Sie das Gleiche? Wenn Sie ipython ohne Farben verwenden möchten, führen Sie einfach 'ipython --colors = NoColor' aus. –

+0

Probieren Sie in 'Shell' druckt ein rotes" Hallo ", die' eshell' druckt genau die gleiche Zeichenfolge, als ob es nicht analysiert wird. Aber das ipython hat das gleiche Problem in beiden. Und '--colors = NoColor' hilft nicht, dasselbe Ergebnis. – adrin

+0

Und ich habe zwei 'ipython' s, eins ist 2.4, das andere 5. Ich habe nicht das Problem mit dem alten. Der Neue ist, was ich in meinem virtualenv habe. – adrin

Antwort

2

Dank @ brian-malehorn, war das Problem in der Tat die Steuerzeichen von ipython gesendet.

Dies könnte überprüft werden, indem versucht wird, einen farbigen Text mit echo -e '\033[0;31mhello\033[1;0m', die in meinem Fall einen farbigen Text gedruckt Echo.

jedoch
ipython --colors=NoColor 

Mein Problem war nicht die oben, deshalb muss es gewesen Steuerzeichen von ipython an der Shell geschickt hat: Wenn das Problem der farbige Text ist, kann es durch fixiert werden. Dies kann mit Hilfe deaktiviert:

ipython --simple-prompt