2013-11-02 62 views
11

使用标签,我得到以下信息:不能在Python 3.4使用Tab键在Python Shell

Display all 184 possibilites? (y or n) 

有没有办法让在Python 3.4 Tab键?

+0

你看到使用选项卡完成,这是难以置信的帮助(通常情况下)的。尝试做'import sys; sys.'然后点击标签,你会看到'sys.'下的所有自动完成选项。你可以(也应该是国际海事组织)使用空格而不是制表符缩进,然后获得最好的两个世界。 –

+2

@JoshSmeaton如果你在终端中编写脚本,使用Tab比使用空格要快得多(而且更可靠)。我讨厌在一个类中的方法内计算12个空格。 –

+0

新的建议是使用空格,但单个空格不能将块分离得足够多,而4个空格太难以输出。 –

回答

12

这是在Python 3.4的开发版本中引入的更改。它一直有点争议。您可能想要发表您的意见on the issue

11

而不是tabb可以使用空格。在交互式解释器中,您不必输入4个空格。这里我使用了两个空格来最小化击键次数。

if 1 == 1: 
    print('Hello Kitty') 
    print('Oh no, only two spaces for a new block') 

要禁用tab: complete,您可以执行以下操作。

创建或称为.pythonrc
在文件中添加以下行并保存

import readline 
readline.parse_and_bind("set disable-completion on") 
readline.parse_and_bind("tab: self-insert") 

编辑您的~/.bashrc文件,并添加以下行

export PYTHONSTARTUP=$HOME/.pythonrc 

开始你的home目录编辑文件python3口译员。 Tab应该像以前一样工作。或者,你可以将完整绑定到另一个键而不是选项卡上,并且你将获得两个世界中最好的谚语。

+0

完美工作。让我的标签缩进回来! – kurzweil4

0

那么我该如何做到这一点在Windows中?这是脖子上的一大痛苦。

其实,简单的解决办法是让优秀的免费AutoHotkey的键盘编程,并把这个在.ahk文件;')

标签:: 发送{空间} {空间} {空间} {空间}

(你们的编辑并不表明把该事实***是在第二行)。

+0

如何在Windows中可靠地做任何事情。 –

1

编辑这种行为了,而不必设置环境变量为您的整个帐户,你可以做初始化在~/.local/lib/python3.4/site-packages/usercustomize.py。作为@HaleemurAli写道,禁用选项卡完成的代码是:

import readline 
readline.parse_and_bind("set disable-completion on") 
readline.parse_and_bind("tab: self-insert")