2011-09-13 9 views
2

私はZashをBashの代わりに使用しています。これ以上はうまくいかないことの1つは、ブランチファイルとコミキュールされていないファイル名の完成です。ZShellのMercurialブランチ/ファイル名補完

私は、次のHGを持っていた以前(bashの)場合は、フォルダを追跡:

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

はその後バッシュでこれを行う:

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

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

枝と同じ

- 私はdefaultdevcrazy支店を持っていたと仮定すると、bashはブランチ名を完了する方法を知っていた:

% hg update cr<TAB> 

crazyにブランチ名を完了しました。

基本的に私はこの機能を復元する方法を教えています。どのファイルがそれをどう扱うかなどです。

答えて

5

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