Fish 中的 git 自动补全:如何禁用它们或加快它们的速度?

Fish 中的 git 自动补全:如何禁用它们或加快它们的速度?

我在 Ubuntu 上运行 Fish shell (3.6.0)。假设我正在尝试跑步git add foo/bar.txt。我输入:

git add foo

然后我按tab。现在外壳冻结了几秒钟。即使按退格键也无济于事。

我怎样才能解决这个问题?我可以禁用 Git 的文件名自动完成功能吗?这种缓慢似乎只发生在我尝试为 git 命令指定文件时。

答案1

您可以禁用 Fish 用于 git 的特殊自动完成逻辑,回退到默认的自动完成行为。为此,请创建一个空文件,如下所示:

echo -n > ~/.config/fish/completions/git.fish

现在,如果您按下tab之后git add foo/,它会建议该目录中的所有文件。它不区分干净文件和具有未提交更改的文件。

我不知道如何在不禁用特定 git 功能的情况下解决速度缓慢的问题。

答案2

如果存在大量未跟踪的文件(例如node_modules未被 git 忽略的文件夹),则可以解释这种确切的行为。在干净的工作目录中尝试git add制表符补全,看看是否仍然缓慢。

相关内容