I am using the correctall option in zsh, and I am generally quite happy with it. There are, however, few situations where I find this feature highly annoying.

For example, lets say I have a file file1.tex and I want to create a copy called file2.tex which I will then edit to make some changes. I will do

cp file1.tex file2.tex 

only to be told by zsh that I might have misspelled file2.tex and if I want to correct it to file1.tex.

What happens is this: when zsh tries to check spelling, it looks in the current directory for a file called file2.tex, does not find it, but finds file1.tex and assumes that I misspelled file1.tex, and asks me if I want to correct that.

That happens to me so often that I actually unset the correctall option, and use only correct. However, bad typist as I am, I really miss the correctall option. Thus my my question:

Is there any way to tell zsh not to correct the last argument of the cp command?

(I know I could get the result I want by modifying completion settings for cp, but I still want to have completion on the last argument, I just don't want to autocorrect it.)

2

1 Answer

Try these.

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

etc.

That's not totally on point as it will disable application of correctall for the entire command, but I think it's a good compromise. Completion (including the _correct completer) and expansion, for example, will still work.

1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy