完成git命令


17

我最近从过去7年使用Ubuntu的盒子切换到了Mac。我已阅读其他职位一样,转换从Ubuntu的到OS X和我迷路iTerm2和终端之间的区别是什么?

为什么iTerm2和Terminal无法完成命令的参数?

例如。如果我执行gi+ Tab,它将自动补全该单词,git这是一个很好的选择。当我添加一个空格并尝试remo+时Tab,为什么不自动完成它,remote就像在Ubuntu中那样。我必须在单词后面手动键入所有内容git。其他命令也一样。

我是在做错什么,还是错过了什么?

(请注意,我并不是在说cmd+ ;快捷方式,它可以自动完成iTerm2中以前键入的条目。)


1
Terminal和iTerm2不能完成命令。这是外壳程序及其附加组件,在Linux和OSX中可以相同,因此您需要说明Linux中的完整设置并在OSX中进行重复。
user151019 2013年

您想要git的自动完成功能-请参阅apple.stackexchange.com/q/55875/24565
Michael Durrant

Answers:


11

在OS X上自动补全的最简单方法是将Shell切换为zsh

您可以zsh在上面进行切换之前,通过在iTerm和终端中运行进行测试。如果您真的想坚持,bash可以从以下两个问题开始:


3
甜!zsh很好!永远不要打扰从bash切换:)。Update:在oh-my-zsh中使用zsh太神奇了。
rgamber 2013年

ahhh love oh-my-zsh
Prefix

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会话。

有关此方法的更多信息。


3

我有两个建议:

  1. ,真的很简单

    一种。通过使用oh-my-fish扩展它

  2. 哦,我的zsh。zsh已经安装,因此您无需执行太多操作。

    一种。 chsh -s /bin/zsh

    b。注销并再次登录

    C。执行此操作以wget --no-check-certificate https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | sh在此处安装oh-my-zsh 更多信息:https : //github.com/robbyrussell/oh-my-zsh

我使用,oh-my-zshfish也很好。


3

万一有人想将苹果提供的Git版本保留在他们的系统上,这会回避问题。

您可以在主目录的.gitconfig文件中为较短的git命令创建别名。例如,我设置了git,所以改为git st运行git status

.gitconfig中的别名示例:

[alias]
    co = checkout
    ci = commit
    st = status
    br = branch


2

对于那些寻求像zsh + oh-my-zsh这样易于使用的bash命令完成解决方案的人,现在有了bash-it项目。用它自己的话说,这是“ oh-my-zsh的无耻剥夺”-真的没错!

它设置了类似于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。

如果您担心全面切换到zshbash-it可以通过一个不错的中间立场来继续前进,bash但可以使用许多强大的插件来扩展环境。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.