Correct_allを引き続きアクティブにしたいので、これは完全に重複しているわけではありません。私は時々議論を台無しにします、そして、ZSHは私を助けてうれしいです。摩擦は、ホームディレクトリにいて、sshdをsystemctl reload ssh
やservice ssh start
のようなもので管理したいときに発生します。常に、.ssh
に修正するかどうかを尋ねられます。私は通常$HOME
で作業を行うので、これはかなり面倒になります。私はすでにalias ssh='nocorrect ssh'
とalias ssh='nocorrectall ssh'
を試しました(これは何もしないと思います)。これを解決する方法についてのアイデアはありますか?
_CORRECT_IGNORE_FILE
_を設定します。たとえば、すべてのドットファイルの修正を無視するには:
_$ cd
$ PS1='%% ' zsh -f
% setopt CORRECT_ALL
% touch ssh
zsh: correct 'ssh' to '.ssh' [nyae]? a
% CORRECT_IGNORE_FILE='.*'
% touch ssh
% rm ssh
_
これはzshall(1)
に記載されています
_ CORRECT_IGNORE_FILE
If set, is treated as a pattern during spelling correction of
file names. Any file name that matches the pattern is never
offered as a correction. For example, if the value is `.*' then
dot file names will never be offered as spelling corrections.
This is useful with the CORRECT_ALL option.
_
これには、zsh
のやや新しいバージョンが必要です(Centos 7に付属しているものより1つ新しいバージョン)。古いバージョンのzsh
で立ち往生している場合は、_CORRECT_ALL
_を無効にするか、nocorrect
を使用して、問題のある各コマンドの修正をオフにする必要があります(これがおそらく理由です) _CORRECT_IGNORE_FILE
_が追加されました)。