zshcorrectall功能的例外?


13

我正在使用中的correctall选项zsh,对此我通常感到很满意。但是,在极少数情况下,我发现此功能非常令人讨厌。

例如,假设我有一个文件file1.tex,我想创建一个名为的副本file2.tex,然后我将对其进行编辑以进行一些更改。我会做

cp file1.tex file2.tex

只是告诉zsh我我可能拼错了file2.tex,如果我想改正错了file1.tex

这是什么情况:当zsh尝试检查拼写时,它会在当前目录中查找名为的文件file2.tex,但找不到它,而是发现file1.tex并假定我拼写错误file1.tex,并询问我是否要更正它。

这种情况经常发生在我身上,以至于我实际上取消设置了该correctall选项,并且仅使用correct。但是,作为我的打字员,我真的很想念这个correctall选项。因此,我的问题是:

有什么方法可以告诉您zsh不要更正cp命令的最后一个参数吗?

(我知道我可以通过修改的完成设置来获得所需的结果cp,但是我仍然想在最后一个参数上完成操作,我只是不想对其进行自动更正。)


我认为您可以通过修改的完成设置来获得结果cp,而不会丢失完成。请看有关部分zstylezshcompsys手册页,特别是corrections标签。如果您知道要发出什么命令,请务必进行报告(我不知道)。
吉尔(Gilles)“所以,别再邪恶了”,

@吉尔斯:谢谢!那至少会给我一个方向。下次我有几天(或几周,还是几个月?)无事可做时,我将看看我是否可以理解。:)
Jan Hlavacek

Answers:


14

试试这些。

alias cp='nocorrect cp '
alias mv='nocorrect mv '
alias mkdir='nocorrect mkdir '

等等

这并不是完全正确的做法,因为它将禁用整个命令的正确应用,但是我认为这是一个很好的折衷方案。例如,完成(包括_correct完成符)和扩展仍将起作用。


谢谢。尽管这并不是我一直在寻找的东西,但实际上似乎是最接近的东西。
1月Hlavacek
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.