17

Using tab in Python 3.4, I get the following message:

Display all 184 possibilites? (y or n)

Is there a way to allow tabbing in Python 3.4?

4

5 回答 5

16

这是 Python 3.4 的开发版本中引入的更改。这一直有些争议。你可能想就这个问题发表你的意见。

于 2013-11-02T00:19:36.193 回答
11

您可以使用空格代替制表符。在交互式解释器中,您不必输入 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

启动python3解释器。Tab应该像以前一样工作。

或者,您可以将 complete 绑定到另一个键而不是选项卡,您将获得众所周知的两全其美。

于 2014-11-03T16:41:29.470 回答
2

要编辑此行为而无需为整个帐户设置环境变量,您可以在~/.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")
于 2015-03-16T15:03:28.670 回答
1

这应该在更新的 3.4 和 3.5 版本中修复(恢复),并且在可预见的将来可能是所有未来版本。

http://bugs.python.org/issue23441#msg247482

于 2016-06-12T22:03:12.697 回答
0

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

实际上,简单的解决方案是获得优秀的免费自动热键键盘程序员,并将其放入 .ahk 文件中;')

标签:: 发送 {Space}{Space}{Space}{Space}

(您的编辑器没有显示 Send *** 在第二行的事实。)

于 2015-01-24T16:33:29.707 回答