使zsh自动更正与自定义git别名一起使用

时间:2012-07-30 13:30:26

标签: git zsh

我有一个与git df一起使用的git的自定义别名(它基本上是git diff的快捷方式)。

但是,使用git的zsh自动更正,每次我在包含git df目录的目录中使用db时,我都会这样:

% ls
app/ config/ db/ lib/ log/ spec/

% git alias | grep "df"
df = diff

% git df
zsh: correct 'df' to 'db' [nyae]?

有没有办法让zsh知道我的git别名,所以在尝试自动更正我的命令时会考虑到它们?我希望它检测到git df存在,而不是建议我git db

我不想创建zsh别名(例如。alias gdf="git diff")或使用alias git="nocorrect git"

感谢您的帮助!

3 个答案:

答案 0 :(得分:3)

您可以通过运行命令hash -rfrehash强制zsh重建自动更正缓存。当zsh自动修正错误时,这解决了我的问题。

答案 1 :(得分:3)

Git有一个自动更正功能:

git config --global help.autocorrect 

在自动校正前等待2秒:

git config --global help.autocorrect 2 

我认为如果你想在zsh中实现这个功能,你必须直接改变git完成功能。

答案 2 :(得分:1)

有时,我发现自动纠正有点烦人。所以我在〜/ .zshrc中做,

DISABLE_CORRECTION="true"

这会禁用自动更正功能。否则,你可以做

alias git="nocorrect git" 

但你似乎不喜欢那个