2017-03-02 95 views
2
坏替代

当我打开我的Cygwin的终端,它显示在窗口的顶部以下内容:-bash:_fzf_orig_completion_g ++:Cygwin中

-bash: _fzf_orig_completion_g++: bad substitution

尽管它已经不会影响我的工作,但我想躲开它。

建议请。

谢谢!

+0

你有没有搞砸你的.bashrc或.bash_profile? – matzeri

+0

我没有做任何事情,但更新了cygwin:P – gbioinfo

+0

昨天在新电脑上安装了这个。我只是删除fzf,因为我不需要它。 – dubnde

回答

1

看来这是一个已知的问题。关于fzf的github页面上的一个问题发布在Jan 16, 2017上。假定存在的问题是下面的海报,

我读这一切的方式是错误的原因是字符串的终端部分的存在,“...... G ++”,因为.. ++部分包括一个名字

上面的链接引用another similar issue posted on Sept 24, 2016在这里笔者在1月11日回应非法字符,

对Cygwin的支持已经停产了,因为0.9.0由于便携性问题ncurses库。但是我正在研究一个不依赖于ncurses的新渲染器(#782),并且可能我们可以再次对Cygwin进行最新的fzf工作(#794)。如果能解决问题,我会通知你。

删除,你得到会是坏的替代误差最简单的方法,如@dubnde张贴在评论,我可以确认为好,卸载FZF及其相关产品,直到支持,制定了cygwin的。

2

cygwin64,修改/ etc/bash_completion_d/zzz-fzf,那么它确实有效。

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

准确地说,编辑文件C:\ cygwin64 \等\ bash_completion.d \ ZZZ-FZF,这里起作用_fzf_defc()opts="$3"和并orig_var="_fzf_orig_completion_$cmd"

就职于之间加入

cmd="${cmd//+/_}" 
cmd="${cmd//-/_}" 

我。问候