Используя вкладку в Python 3.4, я получаю следующее сообщение:
Display all 184 possibilites? (y or n)
Есть ли способ разрешить табуляцию в Python 3.4?
Используя вкладку в Python 3.4, я получаю следующее сообщение:
Display all 184 possibilites? (y or n)
Есть ли способ разрешить табуляцию в Python 3.4?
Это изменение, внесенное в версии разработки Python 3.4. Это было несколько противоречиво. Возможно, вы захотите высказать свое мнение .
Вместо табуляции вы можете использовать пробелы. А в интерактивном интерпретаторе вам не нужно вводить 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
должен работать так, как он использовался.
Или вы можете привязать полный ключ к другому ключу, а не tab, и вы получите пресловутое лучшее из обоих миров.
Чтобы отредактировать это поведение без необходимости устанавливать переменные среды для всей учетной записи, вы можете выполнить инициализацию в ~/.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")
Это должно быть исправлено (вернулось) в более поздних версиях 3.4 и 3.5, и, предположительно, все будущие версии в обозримом будущем.
Итак, как мне это сделать в Windows? Это большая боль в шее.
На самом деле простым решением было получить отличный бесплатный программный программист на клавиатуре и установить его в файл .ahk; ')
вкладка:: Отправить {пробел} {пробел} {пробел} {пробел}
(Ваш редактор не показывает, что Send *** находится во второй строке.)