cvs 自动完成功能不起作用

cvs 自动完成功能不起作用

cvs commit ...我正在运行 Ubuntu 14.04。当我通过 Putty (ssh) 访问服务器时,自动完成功能对或不起作用cvs update ...,但对于其他命令(例如 nano),它工作正常。

例如,当我在目录中尝试

nano cvsd<<tab>>

这样就完成了cvsdir/(当然要用实际的文件名来填充)

然而,当我在同一个地方尝试

cvs commit cvsd<<tab>>

什么都没发生。它没有完成。我尝试了不同的位置(对于 cvs 文件夹),但它从来没有工作过。当我输入 时cvs commit cvsdir,它按预期工作 - 该目录实际上是一个 cvs 目录。

当我尝试时cvs upd<<tab>>,这已完成cvs update。我正在查看/etc/bash_completion.d/,但那里没有太多文件。我尝试将cvs文件从旧机器(Ubuntu 10.04.4)复制到该目录,但没有任何变化。

我如何确保 cvs 命令的自动完成功能再次起作用?

答案1

我错了 - 下面通过编辑 /usr/share/bash-completion/completions/cvs 修复了这个问题。抱歉

答案2

如果你改变末尾的完整语句

/usr/share/bash-completion/completions/cvs

complete -o default -F _cvs cvs

它将再次起作用。

我还没有弄清楚,如何在外面设置它,这样它就不会与将来的更新冲突。

如果在命令行中输入,你会得到错误

bash: completion: function `_cvs' not found

并且它将不再完成 cvs 命令。

相关内容