Завершение вкладки терминала

5700
sa125

Возможное дублирование:
завершение Bash для команд в Mac OS

Я только что перешел с Linux на Mac, и одна из проблем, с которыми я сталкиваюсь, заключается в том, что завершение табуляции составляет всего 1 уровень, и я не уверен, как это исправить.

Позвольте мне объяснить на примере - когда я использовал git на Ubuntu, я начну печатать

$ git 

и нажмите Tab, и оболочка выполнит команду или отобразит параметры, доступные для введенной мной буквы. Это то, что происходит и на моем Mac (1 уровень). Тем не менее, когда я продолжу набирать следующую часть команды

$ git commit 

и нажмите tab, терминал Mac не выполнит следующую подкоманду (для git), как в Linux. То же самое касается других программ, которые поддерживают это многоуровневое завершение команд. Я подозреваю, что это может быть проблемой библиотеки readline, но я не уверен, какую из них мне следует установить.

15
Это не проблема readline (на самом деле, это не «проблема»), это потому, что Ubuntu держит вашу руку с пользовательскими пакетами для bash. Jed Smith 15 лет назад 0
Это определенно проблема конфигурации bash (поскольку я получаю такое поведение на mac + и многое другое, для чего я его настроил, например, завершение имени хоста) Вам следует поискать сценарии power для bash и добавить их в свой профиль. Shane C. Mason 15 лет назад 0

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

13

Загрузите bash_completion и получите его у себя .bashrc. Затем поместите contrib/completion/git-completion.bashиз дистрибутива git в bash_completion.d.

В качестве альтернативы вы можете установить его через MacPorts .

спасибо, это сработало. Я добавил следующее в мой .bashrc if [-f / opt / local / etc / bash_completion]; затем источник / opt / local / etc / bash_completion fi sa125 15 лет назад 0
Еще лучше установить его с помощью homebrew: brew install bash-complete abyx 13 лет назад 1
@abyx: выбор «лучшего» между homebrew и macports - очень субъективная вещь 13 лет назад 0
2
Aurélien Bottazini

Для git есть опция, доступная при компиляции, для поддержки завершения.

Если вы использовали порт для установки Git (что я рекомендую), вы можете переустановить git с помощью этой команды

sudo port install git-core +svn+bash_completion+doc 

Который установит git с завершением bash, поддержкой git-svn и документами

Похожие вопросы