Как мне заставить `set show-all-if-ambiguous on` в моем .inputrc хорошо играть с интерпретатором Python?

988
3cheesewheel

Я заметил, что после того, как я добавил set show-all-if-ambiguous onстроку в мой ~/.inputrc, всякий раз, когда я нажимал клавишу табуляции, чтобы сделать отступ для блока, он отображал Display all ... possibilities? (y or n)подсказку bash и оставлял меня неспособным сделать отступ для реального кода.

Есть ли способ сохранить эту строку в моем, .inputrcно при этом все еще работает клавиша табуляции, как и ожидалось в интерпретаторе Python?

Это в моей VirtualBox Ubuntu 12.04 VM, если это имеет значение.

РЕДАКТИРОВАТЬ: Любопытно, что теперь у меня есть другая проблема с оболочкой Python, которая поставляется с Django - когда я нажимаю Tab, я получаю завершение Python Tab, но только с одним нажатием Tab. Я открыл отдельный вопрос здесь для него.

2

1 ответ на вопрос

1
eugenevd

Взгляните на условные конструкции init: https://www.gnu.org/software/bash/manual/html_node/Conditional-Init-Constructs.html#Conditional-Init-Constructs.

Я не знаю вашей полной настройки, но я думаю, вам, вероятно, стоит попробовать что-то вроде:

$if Bash set show-all-if-ambiguous on $endif