2

私はしばらくの間、Bashの代わりにZshを使用しています。もううまく機能しないことの1つは、Mercurialのブランチおよびコミットされていないファイル名の補完です。

以前(bash)の場合、次のhg追跡フォルダーがありました。

repo/
    .hg/
    file1.txt
    file2.txt <-- modified

次に、Bashでこれを実行します。

% hg commit -m "changed file2.txt" <TAB>

自動的に完了しfile2.txtました。

ブランチと同じ—とブランチがdefaultあると仮定すると、Bashはブランチ名を完成させる方法を知っていました。devcrazy

% hg update cr<TAB>

にブランチ名を完成させましたcrazy

基本的に私が求めているのは、この機能を復元する方法、つまりどのファイルがそれを処理するかなどです。

4

1 に答える 1

5

zsh高度な補完には内部システムを使用しますが、そのためbashに別のbash-completionソフトウェアを使用します。それらの構成は互換性がないため、何らかの機能を機能させたい場合は、サードパーティの zsh 補完モジュールを見つけるか、自分で作成する必要があります。mercurialサンプルの zsh 補完関数が含まれており、私のシステムには としてインストールされています/usr/share/doc/mercurial/examples/zsh_completion.gz

于 2011-09-13T08:35:33.747 に答える