Завершение для команд git

17

Я недавно переключился с использования Ubuntu box на последние 7 лет на Mac. Я читал другие посты, такие как Переключение с Ubuntu на OS X, и я заблудился, и в чем разница между iTerm2 и Terminal?

Почему iTerm2 и Терминал не завершают аргументы для команды?

Например. Если я делаю gi+ Tab, это автоматически завершает это слово, к gitкоторому хорошо. Когда я добавляю пробел и пытаюсь remo+ Tab, почему я не получаю автозаполнение, remoteкак в Ubuntu. Я должен ввести все вручную после слова git. То же самое для других команд.

Я что-то делаю не так или что-то упустил?

(Обратите внимание, что я не говорю о ярлыке cmd+, ;который автоматически заполняет ранее введенные записи в iTerm2.)

rgamber
источник
1
Терминал и iTerm2 не выполняют команду. Это оболочка и ее надстройки, которые могут быть одинаковыми в Linux и OSX, поэтому вам нужно указать, какие у вас полные настройки в Linux, и продублировать их в OSX.
user151019
Вы хотите автозаполнение для git - см. Apple.stackexchange.com/q/55875/24565
Майкл Даррант

Ответы:

11

Самый простой способ получить автозаполнение в OS X - это переключить вашу оболочку на zsh.

Вы можете проверить все, запустив zshiTerm и терминал, прежде чем переключаться выше. Если вы действительно хотите остаться bash, можете начать с этих двух вопросов:

bmike
источник
3
Сладкий! зш это хорошо! Никогда не удосужился переключиться с bash :). Update:Использование zsh с oh-my-zsh удивительно.
Rgamber
аааааааааааааааааааа
префикс
13

Решением при переходе с Ubuntu является использование homebrew, менеджера пакетов для Mac OSX . В частности, для gitвас будет включен ряд дополнений, включая завершение bash. Это будет верно для других программ, которые незнакомы разработчикам, например make.

В 2 этапа:

  1. установить с ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
  2. Беги, brew doctorчтобы правильно настроить путь
  3. Установите git и bash завершение: brew install git bash-completion
  4. Добавьте команду return на предыдущем шаге в вашем .bash_profile.
  5. Перезапустите сеансы bash, как только новые инструменты и настройки будут записаны в вашу файловую систему.

Подробнее об этом .

meduz
источник
3

У меня есть два предложения:

  1. использовать рыбу , это действительно просто и легко

    а. расширить его с помощью ой-моя рыба

  2. зш с ой-мой-зш. 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тоже отлично.

ipinak
источник
3

Это несколько обходит проблему, если кто-то хочет сохранить предоставленную Apple версию Git в своей системе.

Вы можете создать псевдонимы в файле .gitconfig в вашем домашнем каталоге для более коротких команд git. Например, я настроил git, поэтому git stзапускаю git statusвместо него.

Пример псевдонимов в .gitconfig:

[alias]
    co = checkout
    ci = commit
    st = status
    br = branch
Кевин Чен
источник
3

Один из вариантов, который может помочь, - это использовать .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

Майкл Даррант
источник
2

Для тех, кто ищет решение для завершения команд для bash, которое так же легко использовать, как zsh + oh-my-zsh, есть проект bash-it . Что, по его собственным словам, является «бесстыдным грабежом о-о-о-о-о» - в этом нет ничего плохого!

Он устанавливает плагин, подобный архитектуре, как это делает oh-my-zsh, где вы можете легко вносить вещи в вашу среду и выходить из нее, а также получать новые вещи через синхронизацию с их проектом github.

Установка в три простых шага:

  1. Проверьте клон этого репо: git clone https://github.com/revans/bash-it.git ~/.bash_it
  2. Запустить ~/.bash_it/install.sh(он автоматически создает резервную копию вашего ~/.bash_profile)
  3. Отредактируйте ваш ~/.bash_profileфайл, чтобы настроить bash-it.

Если вы боитесь полного переключения на zsh, bash-itэто хорошая золотая середина, которая поддерживает вас, bashно дает вам множество мощных плагинов для расширения вашей среды.

Ян С.
источник