我最近从过去7年使用Ubuntu box切换到Mac。我读过其他帖子,如 从Ubuntu切换到OS X,我迷路了ITerm2和Terminal有什么区别?

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

例如。如果我这样做 gi+标签, ,它自动完成这个词 git 这很好。当我添加一个空格并尝试 remo+标签, ,为什么我不把它自动完成到 remote 就像在Ubuntu中一样。我必须在单词后面手动输入所有内容 git.其他命令也一样。

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

(请注意,我不是在谈论 cmd公司 + ; 自动完成iTerm2中先前键入的条目的快捷方式。)

有帮助吗?

解决方案

在OS X上获得自动完成的最简单方法是将shell切换到 zsh.

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

其他提示

从ubuntu切换时的一个解决方案是使用 homebrew,Mac OSX的包管理器.特别是,对于 git, ,您将包括一些添加,包括bash完成。这对于其他开发者来说也是如此,比如 make.

分两步:

  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. 在您的 .bash_profile.
  5. 将新工具和配置写入文件系统后,重新启动bash会话。

更多关于 这个howto.

我有两个建议:

  1. 使用方法 , ,它真的很简单和容易

    a.通过使用扩展它 哦,我的鱼

  2. zsh和oh-my-zsh。zsh已经安装,所以你不需要做太多。

    a. chsh -s /bin/zsh

    b.注销并重新登录

    c.执行这个安装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 相反。

示例别名。[医]吉特康菲格:

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

一个可能有帮助的选择是使用 .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"-这真的没有错!

它设置了一个像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 但是给了你很多强大的插件来扩展你的环境。

许可以下: CC-BY-SA归因
不隶属于 apple.stackexchange
scroll top