mac OS 中的自动完成 git 不起作用?

Posted

技术标签:

【中文标题】mac OS 中的自动完成 git 不起作用?【英文标题】:Autocomplete git in mac OS not working? 【发布时间】:2011-06-01 22:51:09 【问题描述】:

我在 mac 中使用 git。我正在尝试使用自动完成功能。我遵循了这些步骤(http://www.codethatmatters.com/2010/01/git-autocomplete-in-mac-os-x/),但我得到了这个错误,知道吗?

: 找不到命令 -bash:/Users/me/git-completion.bash:第 80 行:未执行标记附近的语法错误 in -bash: /Users/me/git-completion.bash: line 80:case "$COMP_WORDBREAK'" in

【问题讨论】:

COMP_WORDBREAK 似乎有问题:groups.google.com/group/gnu.bash.bug/browse_thread/thread/… 这是关于段错误的;我很确定胡里奥遇到了不同的问题。 顺便说一下,我建议标记此bash 而不是terminal 该脚本中的case 语句对我来说在 Linux 系统上的 Bash 2.05、3.2 和 4.0 中运行良好。要么是 OS X 特定的东西,要么是脚本的其他部分导致了这个误导性错误消息,或者文件已损坏(或者你的 Bash 可执行文件有问题)。错误消息显示“未执行”而不是“意外”似乎很奇怪。您可以编辑您的问题并发布完整的错误消息(部分似乎丢失)和脚本的第 79-84 行吗?同时,您可以尝试重新下载脚本以防它损坏。 它适用于 Snow Leopard (10.6),其中包括“GNU bash,版本 3.2.48(1)-release (x86_64-apple-darwin10.0)”你真的运行 curl -O还是您尝试将文本复制粘贴到 TextEdit 中? 【参考方案1】:

我曾尝试使用 curl -O,但 url 错误,我最终复制了导致错误的文本。

使用此命令使其完美运行:

curl -O https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash

非常感谢大家的帮助!

【讨论】:

这将获得最新版本,而不是您安装的 git 的正确版本。下面是获取正确版本并安装它的代码:eval "$(curl -s https://gist.github.com/raw/972430/install-git-completion.sh)"。更多johnfgibb.com/how-to-install-git-autocompletion 更新后的链接是raw.github.com/git/git/master/contrib/completion/… - 但约翰的要点中的代码对我不起作用:-bash: syntax error near unexpected token '<' 这有效:eval $(curl -s https://raw.github.com/git/git/master/contrib/completion/git-completion.bash) Github 更改了他们的网址——任何尝试使用我以前的 sn-p 的人现在都应该使用:eval "$(curl -s gist.githubusercontent.com/johngibb/972430/raw/…)"【参考方案2】:

分发的 git-completion.bash 是一个 Windows 文件,其中 "\n\r" 作为换行符。您需要删除“\r”。

对于 vim 用户,只需执行 ":set ff=unix"。

【讨论】:

谢谢,效果很好!还学习了一个新的 vim 命令。【参考方案3】:

由于没有人回答,请快速检查一下:bash --version 说什么? OS X 倾向于发布稍微过时的 bash,因此如果您的系统较旧,则可能是兼容性问题。我希望 Bash 3.x 可以正常工作,但对于 2.x,我不太确定。

【讨论】:

GNU bash,版本 3.2.48(1)-release (x86_64-apple-darwin10.0) 版权所有 (C) 2007 Free Software Foundation, Inc.【参考方案4】:

来自您的错误报告:

case "$COMP_WORDBREAK'" in
                     ^ the problem is in unpaired apostrophe 

【讨论】:

【参考方案5】:

保存文件,例如在 gedit 中使用 Linux 行尾

【讨论】:

【参考方案6】:

正在获取 .git-completion.bash: bash: bad interpreter: No such file or directory in Mountain Lion。

应该是 ~/.bash_profile 中的“source ~/.git-completion.bash”

【讨论】:

以上是关于mac OS 中的自动完成 git 不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

PhpStorm 中的 TailwindCSS 自动完成功能不起作用

Github webhook 的 Jenkins 自动构建不起作用

jQuery ui对话框中的Asp.net ajax自动完成功能不起作用

Javascript 自动完成功能在 ascx 中不起作用

Mac OS X 中的 setlocale 不起作用

mac上的自动制作不起作用