15

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

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

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

$ git

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

$ git commit

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

2 ответа2

13

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

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

2

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .