Dies ist eine absichtliche Funktion von IPython. Wenn Sie "abc" eingeben und dann den Aufwärtspfeil drücken, wird nur durch Zeilen gescrollt, die mit "abc" beginnen. Wenn Sie während des Scrollens auf "Heben/Rechts" klicken, wird das gleiche Verhalten ausgelöst. Der gesamte Inhalt der aktuellen Zeile wird als Suchpräfix interpretiert. Es werden nur Zeilen angezeigt, die mit allen beginnen, die bei weiteren Auf-/Ab-Tastendrücken angezeigt werden. Sie können dieses Verhalten in Ihrer PYTHONSTARTUP
-Datei ändern. Ich habe die folgenden Zeilen:
import readline
# Prevent ctrl-p/ctrl-n/Up/Down from doing prefix searching
readline.parse_and_bind('"\\C-p": previous-history')
readline.parse_and_bind('"\\C-n": next-history')
readline.parse_and_bind('"\\e[A": previous-history')
readline.parse_and_bind('"\\e[B": next-history')
Wenn Sie neugierig sind, here are the bindings in IPython's source code, die wir überschreiben.
Unrelated, aber Ich mag an auch Readline- die Standard ctrl-w außer Kraft setzen:
# Ctrl-W behavior more like Vim
readline.parse_and_bind('"\\C-w": backward-kill-word')
Welche Frontend? Klassische ipython oder qtconsole? Welche Version ? 0.13.1 wurde vor ein paar Stunden veröffentlicht. Sie können versuchen, ein Problem auf GitHub zu öffnen. – Matt
Matt, danke fürs schreiben ... Um deine Frage zu beantworten: klassisches ipython ... Ich habe 0.13.1 ausprobiert und es ist dasselbe. Ja, vielleicht öffne ich das Problem - danke für den Hinweis. – davidhq