2

Zsh 有一个功能,可以提示对当前目录中的文件进行更正。例如,如果我说cd bar当我想说 时cd baz,那么 zsh 会说:zsh: correct 'bar' to 'baz' [nyae]?

通常,这可以正常工作。但是, sudo 似乎把事情搞砸了。具体来说,假设我想用 git 对我的 apache2 目录进行版本控制。我会输入类似sudo git add . This is the correct command to run。但是,zsh 会提示我,zsh: correct 'git' to '.git' [nyae]?好像它不知道 git 是一个命令,所以它认为我试图引用 .git 文件夹。

为什么会这样?在这些情况下,我怎样才能让它停止提示我?

谢谢!

编辑:默认情况下,zsh 似乎会将命令的所有参数视为文件或目录。但是,我知道有一些功能可以扩展它。例如,如果我键入git sttab,则 zsh 会将其完成为 stash、status 或 stripspace(每个都有文档)。理想情况下,即使使用 sudo 之类的东西,我也会像 zsh 一样继续提供类似的提示(所以,我宁愿不做不正确的事情)。如何在 zsh 中自定义该功能?

4

1 回答 1

2

nocorrect在命令本身之前使用,或定义别名

alias sudo="nocorrect sudo"
于 2013-07-01T08:36:47.113 回答