2012-07-30 6 views
13

git dfで使用するgitのカスタムエイリアスがあります(これは基本的にgit diffのショートカットです)。カスタムgitエイリアスでzshの自動修正を行う

はしかし、gitののzshの自動修正、私はdbディレクトリを含むディレクトリにgit dfを使用するたびに、私はこれを取得:

% ls 
app/ config/ db/ lib/ log/ spec/ 

% git alias | grep "df" 
df = diff 

% git df 
zsh: correct 'df' to 'db' [nyae]? 

は、私はそれので、私のgitのエイリアスのzshのを認識させることができ方法はあります私のコマンドを自動修正しようとするときに考慮に入れますか? git dfが存在することを検出して、代わりにgit dbを示唆しないようにしてください。

zshエイリアス(例:alias gdf="git diff")を作成するか、alias git="nocorrect git"を使用しません。

ありがとうございました!

+1

に嫌うように見える:私は今まで、次にファイル名を他の何かを補正し、それを見ていません。 '.command' /' .package'設定ディレクトリを持つ 'srun command' /' cave resolve package'のようなものは本当にうんざりです。このようなコマンドが多すぎるため、それぞれにエイリアスを追加することはできません。 – ZyX

+1

最初は完全に無効にするのは夢中だと思っていましたが、オートコンプリートはオートコンプリートと同じではないことに気付きました。私はオートコンプリートが好きですが、最近はオートコレクトが途中で止まっています。私は 'unsetopt correct_all'でそれを無効にしました。提案していただきありがとうございます! – remi

答えて

3

コマンドhash -rfまたはrehashを実行することにより、zshに強制的にオートコレクトキャッシュを再構築させることができます。 zshが間違ったことに自動修正していたとき、それは私の問題を修正しました。

+1

これは異なります: "コマンド名" - "バイナリへのパス"関係と "名前付きディレクトリ" - "実際のパス"を含むハッシュをコマンドします。この場合、あなたのコマンドは自動修正を修正しません。コマンドの自動修正のみを修正することがあります。 – ZyX

3

Gitはオートコレクト機能を持っています

git config --global help.autocorrect 

は自動補正の前に2秒を待っています:

git config --global help.autocorrect 2 

私はzshの中でこの機能を実装したい場合は、Gitの完了を変更する必要がありますことを考えます直接機能します。

1

時々、私は自動修正が少し面倒になることがわかります。だから私は〜/ .zshrcで行う。

DISABLE_CORRECTION="true" 

これは自動修正機能を無効にする。そうしないと、あなたは

alias git="nocorrect git" 

を行うことができますが、私は完全に自動補正を無効にすることが容易であると信じている

関連する問題