Я недавно переключился с использования Ubuntu box на последние 7 лет на Mac. Я читал другие посты, такие как Переключение с Ubuntu на OS X, и я заблудился, и в чем разница между iTerm2 и Terminal?
Почему iTerm2 и Терминал не завершают аргументы для команды?
Например. Если я делаю gi
+ Tab, это автоматически завершает это слово, к git
которому хорошо. Когда я добавляю пробел и пытаюсь remo
+ Tab, почему я не получаю автозаполнение, remote
как в Ubuntu. Я должен ввести все вручную после слова git
. То же самое для других команд.
Я что-то делаю не так или что-то упустил?
(Обратите внимание, что я не говорю о ярлыке cmd+, ;который автоматически заполняет ранее введенные записи в iTerm2.)
Ответы:
Самый простой способ получить автозаполнение в OS X - это переключить вашу оболочку на
zsh
.Вы можете проверить все, запустив
zsh
iTerm и терминал, прежде чем переключаться выше. Если вы действительно хотите остатьсяbash
, можете начать с этих двух вопросов:источник
Update:
Использование zsh с oh-my-zsh удивительно.Решением при переходе с Ubuntu является использование homebrew, менеджера пакетов для Mac OSX . В частности, для
git
вас будет включен ряд дополнений, включая завершение bash. Это будет верно для других программ, которые незнакомы разработчикам, напримерmake
.В 2 этапа:
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
brew doctor
чтобы правильно настроить путьbrew install git bash-completion
.bash_profile
.Подробнее об этом .
источник
У меня есть два предложения:
использовать рыбу , это действительно просто и легко
а. расширить его с помощью ой-моя рыба
зш с ой-мой-зш. zsh уже установлен, поэтому вам не нужно делать много.
а.
chsh -s /bin/zsh
б. выйти и снова войти
с. выполните это, чтобы установить oh-my-zsh
wget --no-check-certificate https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | sh
подробнее здесь: https://github.com/robbyrussell/oh-my-zshЯ пользуюсь,
oh-my-zsh
ноfish
тоже отлично.источник
Это несколько обходит проблему, если кто-то хочет сохранить предоставленную Apple версию Git в своей системе.
Вы можете создать псевдонимы в файле .gitconfig в вашем домашнем каталоге для более коротких команд git. Например, я настроил git, поэтому
git st
запускаюgit status
вместо него.Пример псевдонимов в .gitconfig:
источник
Один из вариантов, который может помочь, - это использовать
.git-completion.bash
для автозаполнения bash git .Он позволяет вам вводить команды git и затем автозаполнять для удаленного имени (например, «origin» или «heroku»), а затем (и что более важно) для имен веток хранилища.
См. Https://apple.stackexchange.com/a/55886/24565.
Вы загрузили файл с
https://github.com/git/git/blob/master/contrib/completion/git-completion.bash
источник
Для тех, кто ищет решение для завершения команд для bash, которое так же легко использовать, как zsh + oh-my-zsh, есть проект bash-it . Что, по его собственным словам, является «бесстыдным грабежом о-о-о-о-о» - в этом нет ничего плохого!
Он устанавливает плагин, подобный архитектуре, как это делает oh-my-zsh, где вы можете легко вносить вещи в вашу среду и выходить из нее, а также получать новые вещи через синхронизацию с их проектом github.
Установка в три простых шага:
git clone https://github.com/revans/bash-it.git ~/.bash_it
~/.bash_it/install.sh
(он автоматически создает резервную копию вашего~/.bash_profile
)~/.bash_profile
файл, чтобы настроить bash-it.Если вы боитесь полного переключения на
zsh
,bash-it
это хорошая золотая середина, которая поддерживает вас,bash
но дает вам множество мощных плагинов для расширения вашей среды.источник