nFact

n!

zshのコマンド修正機能を一部のコマンドでのみ無効化する

zshにはコマンドの修正機能があります。これは

setopt correct

と.zshrcに追記してsource .zshrcを実行することで修正機能が使えるようになります。

例えばlsをksとかに打ち間違った時、

noko-iMac% ks  
zsh: correct 'ks' to 'ls' [nyae]?  

みたいな感じで修正してくれるので便利なんですが
(例えばここでyキーを押すとlsが実行される)、
たまに悪さをする時があります。

noko-iMac% scala -version 
zsh: correct 'scala' to 'cal' [nyae]?   

と、コマンド名が合ってるのにもかかわらず修正の確認が出てきます。
nキーを押すと元のscala -versionが実行されるのですが、いちいちnキーとか押してられません。

これを一部のコマンドでのみ無効化する方法があります。

alias scala="nocorrect scala"

と.zshrcに追記すると、scalaと打ち込んだ時のみ修正が効かなくなります。
なので

noko-iMac% scaka
zsh: correct 'scaka' to 'scala' [nyae]? n

このようにscalaへの修正が無効化されるわけではありません。

参考URL http://sugilog.hatenablog.com/entry/20091223/1261574279