のようなエイリアスを定義するとalias g=git
、シェルはそれを拾い上げて、対応するオートコンプリート機能を実行します。 さて、 と呼ばれるプログラムがありますhub
。これは基本的に git のスーパーセットで、github 固有の機能がいくつか追加されています。 を使用することをお勧めしhub
ますalias git=hub
。 もちろん、これでは git のオートコンプリート機能はトリガーされませんが、それは理にかなっています。
さて、git のオートコンプリート トリガーを hub に使用したい場合、私が知っている唯一の方法は、最初の行を編集し/usr/share/zsh/functions/Completion/Unix/_git
てトリガーとして追加することhub
です。これは機能しますが、このファイルは次の zsh リリースで上書きされるため、実用的ではありません。hub がすぐに zsh 補完機能を提供しないと仮定すると、hub
git のオートコンプリート機能のトリガー コマンドを追加する別の方法はありますか?
答え1
追加のオートコンプリートフォルダを定義して、その中にカスタム定義を入れることができます。デフォルトの.zshrcに似たものがある場合は、$fパス電話する前に自動ロード -Uz compinit。
例:
...
zstyle ':completion:*' use-compctl true
zstyle ':completion:*' verbose true
zstyle :compinstall filename "$HOME/.zshrc"
fpath=($HOME/autocomplete $fpath)
autoload -Uz compinit
compinit
# End of lines added by compinstall
...
その後、更新された _git を個人のオートコンプリート フォルダーにコピーして、元のファイルの代わりに使用できるようになります。