Завершение команд git
-
29-09-2020 - |
Вопрос
Недавно я перешел с Ubuntu в течение последних 7 лет на Mac.Я читал другие сообщения, такие как Переключаюсь с Ubuntu на OS X и теряюсь и В чем разница между iTerm2 и Терминалом?
Почему iTerm2 и Терминал не завершают аргументы команды?
Например.Если я сделаю gi
+Вкладка, он автоматически дополняет это слово до git
и это хорошо.Когда я добавляю пробел и пытаюсь remo
+Вкладка, почему бы мне не сделать автозаполнение, чтобы remote
как в Убунту.Мне приходится вводить все вручную после слова git
.То же самое и с другими командами.
Я делаю что-то не так или что-то упускаю?
(Обратите внимание, я не говорю о cmd + ; ярлык, который автоматически заполняет ранее введенные записи в iTerm2.)
Решение
Самый простой способ получить автодополнение в OS X — переключить оболочку на zsh
.
Вы можете проверить что-то, запустив zsh
в iTerm и терминале, прежде чем переключиться выше.Если вы действительно хотите придерживаться bash
Вы можете начать с этих двух вопросов:
Другие советы
Решением при переходе с Ubuntu является использование homebrew, менеджер пакетов для Mac OSX.В частности, для git
, вы добавите ряд дополнений, включая завершение bash.Это будет справедливо и для других программ, которые знакомы разработчикам, например make
.
В 2 шага:
- установить с помощью
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
- Бегать
brew doctor
чтобы правильно настроить путь - Установите завершение git и bash:
brew install git bash-completion
- Добавьте команду возврата на предыдущем шаге в свой
.bash_profile
. - Перезапустите сеансы bash, как только новые инструменты и конфигурация будут записаны в вашу файловую систему.
Еще это инструкции.
У меня есть два предложения:
использовать рыба, это действительно просто и легко
а.расширить его, используя ох моя рыбка
зш с о-мой-зш.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
это тоже здорово.
Это несколько обходит проблему на случай, если кто-то захочет сохранить в своей системе версию Git, предоставленную Apple.
Вы можете создать псевдонимы в файле .gitconfig в своем домашнем каталоге для более коротких команд git.Например, у меня git настроен так git st
бежит git status
вместо.
Примеры псевдонимов в .gitconfig:
[alias]
co = checkout
ci = commit
st = status
br = branch
Один из вариантов, который может помочь, — использовать .git-completion.bash
для баша мерзавец автодополнение.
Он позволяет вводить команды 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» — на самом деле в этом нет ничего плохого!
Он устанавливает плагин, подобный архитектуре, такой как 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
но дает вам множество мощных плагинов для расширения вашей среды.