-bash:_fzf_orig_completion_g++;:Cygwin中的错误替换

-bash:_fzf_orig_completion_g++;:Cygwin中的错误替换,cygwin,64-bit,windows-8.1,Cygwin,64 Bit,Windows 8.1,当我打开Cygwin终端时,窗口顶部显示以下内容: -bash:_fzf_orig_completion_g++:错误替换 虽然这不会影响我的工作,但我想避免它 请给我一些建议 谢谢 这似乎是一个已知的问题。fzf的github页面上发布了一个关于它的讨论。海报上的问题如下: 我读取所有这些内容的方式是错误的原因,因为字符串的终端部分“…g++”,因为..++部分包含名称中的非法字符 上面的链接引用了作者在1月11日的回复 由于ncurses库的可移植性问题,对Cygwin的支持从0.9.0开始

当我打开Cygwin终端时,窗口顶部显示以下内容:

-bash:_fzf_orig_completion_g++:错误替换

虽然这不会影响我的工作,但我想避免它

请给我一些建议


谢谢

这似乎是一个已知的问题。fzf的github页面上发布了一个关于它的讨论。海报上的问题如下:

我读取所有这些内容的方式是错误的原因,因为字符串的终端部分“…g++”,因为..++部分包含名称中的非法字符

上面的链接引用了作者在1月11日的回复

由于ncurses库的可移植性问题,对Cygwin的支持从0.9.0开始停止。但我正在开发一种新的渲染器,它不依赖于ncurses(#782),我们可能会让最新的fzf再次在Cygwin(#794)上工作。如果成功了,我会告诉你的


删除错误替换错误的最简单方法是,正如@dubnde在评论中发布的那样,我也可以验证,卸载fzf及其相关软件包,直到cygwin的支持得到解决

cygwin64,修改/etc/bash\u completion\u d/zzz fzf,然后它就可以工作了

 cmd="$1"
 func="$2"
 opts="$3"
 cmd="${cmd//+/_}"
 cmd="${cmd//-/_}"
 orig_var="_fzf_orig_completion_$cmd"

准确地说,编辑文件C:\cygwin64\etc\bash_completion.d\zzz fzf。找到函数
\u fzf\u defc()
,并添加以下行:

 cmd="${cmd//+/_}"
 cmd="${cmd//-/_}"
在两行之间
opts=“$3”
orig_var=“\u fzf_orig_completion_$cmd”


为我工作。问候。

您是否弄乱了您的.bashrc或.bash_配置文件?我在那里什么也没做,只是昨天在新安装的计算机上更新了cygwin:PSaw。我刚刚删除了fzf,因为我不需要它。@dubnde请您详细说明一下好吗?我的意思是我刚刚卸载了fzf,因为我不需要它。