Mit Tab in Python 3.4, ich die folgende Meldung erhalten:nicht verwenden kann Tab in Python Shell
Display all 184 possibilites? (y or n)
Gibt es eine Möglichkeit 3.4 in Python Tabbing zu erlauben?
Mit Tab in Python 3.4, ich die folgende Meldung erhalten:nicht verwenden kann Tab in Python Shell
Display all 184 possibilites? (y or n)
Gibt es eine Möglichkeit 3.4 in Python Tabbing zu erlauben?
Dies ist eine Änderung, die in den Entwicklungsversionen von Python 3.4 eingeführt wurde. Es war etwas umstritten. Vielleicht möchten Sie Ihre Meinung äußern on the issue.
Anstelle der Tabulatoren können Leerzeichen verwendet werden. Und im interaktiven Interpreter müssen Sie nicht 4 Leerzeichen eingeben. Hier verwende ich zwei Leerzeichen, um die Anzahl der Tastenanschläge zu minimieren.
if 1 == 1:
print('Hello Kitty')
print('Oh no, only two spaces for a new block')
Um tab: complete
zu deaktivieren, können Sie die folgenden Aktionen aus.
erstellen oder eine Datei auf Ihrem Home-Verzeichnis .pythonrc
In der Datei die folgenden Zeilen und speichern
import readline
readline.parse_and_bind("set disable-completion on")
readline.parse_and_bind("tab: self-insert")
Bearbeiten Sie Ihre ~/.bashrc
-Datei und fügen Sie die folgende Zeile
export PYTHONSTARTUP=$HOME/.pythonrc
starten genannt bearbeiten der python3
Interpreter. Tab
sollte funktionieren wie früher.
Oder Sie können die Bindung an einen anderen Schlüssel anstelle eines Tabs abschließen, und Sie erhalten das sprichwörtliche Beste beider Welten.
Arbeitete perfekt. Habe meine Tabulatur zurück bekommen! – kurzweil4
Also, wie mache ich das in Windows? Das ist ein großer Schmerz im Nacken.
Eigentlich ist die einfache Lösung war die hervorragenden frei autohotkey Tastatur Programmierer zu bekommen, und setzt diese in der .ahk Datei; ')
Tab :: Senden {Raum} {Raum} {} {Raum Raum }
(Ihr Editor nicht die Tatsache zeigt, dass *** senden ist in der zweiten Zeile.)
Wie macht man in Windows etwas zuverlässig? –
um dieses Verhalten zu bearbeiten, ohne Umgebungsvariablen für Ihr gesamtes Konto einstellen zu müssen, können Sie das tun, Initialisierung in ~/.local/lib/python3.4/site-packages/usercustomize.py
. Wie @HaleemurAli schrieb, ist der Code Tab-Vervollständigung zu deaktivieren:
import readline
readline.parse_and_bind("set disable-completion on")
readline.parse_and_bind("tab: self-insert")
Dieser festgesetzt wird (zurückgesetzt) in neueren Versionen von 3.4 und 3.5, und vermutlich alle zukünftigen Versionen für die absehbare Zukunft.
Sie sehen die Verwendung von Tab-Vervollständigung, die unglaublich nützlich ist (in der Regel). Probieren Sie 'import sys; sys.hat dann die Tabulatortaste, und Sie sehen alle Autocomplete-Optionen unterhalb von 'sys'. Sie könnten (und sollten IMO) Leerzeichen anstelle von Tabs für den Einzug verwenden, um das Beste aus beiden Welten zu erhalten. –
@JoshSmeaton Wenn Sie im Terminal scripten, ist die Verwendung von Tabs viel schneller als die Verwendung von Leerzeichen (und zuverlässiger). Ich würde es hassen, 12 Leerzeichen für eine if-Anweisung in einer Methode innerhalb einer Klasse auszuzählen. –
Die neue Empfehlung ist die Verwendung von Leerzeichen, aber einzelne Leerzeichen trennen die Blöcke nicht ausreichend, und 4 Leerzeichen sind zu mühsam, um sie austippen zu können. –