4
我已閱讀了有關zsh完成的一些指南,但我仍感到困惑。在我們的開發環境中,我們有一個名爲git new-branch
的自定義Git命令。我想讓zsh在輸入git ne
和標籤後自動爲我完成。我怎樣才能做到這一點?如何將自定義git命令添加到zsh完成?
我已閱讀了有關zsh完成的一些指南,但我仍感到困惑。在我們的開發環境中,我們有一個名爲git new-branch
的自定義Git命令。我想讓zsh在輸入git ne
和標籤後自動爲我完成。我怎樣才能做到這一點?如何將自定義git命令添加到zsh完成?
默認的git完成is extendible:
說你有你自己的git子命令(在運行‘混帳富’git會運行一個程序'混帳富」 ),你想「混帳f「爲您完成該子命令的名稱 。你可以讓該子命令通過用戶命令風格着稱完成 :
% zstyle ':completion:*:*:git:*' user-commands foo:'description for foo'
`用戶命令是一個列表樣式,這樣你就可以添加任意數量的程序存在。 的:說明部分是可選的,所以你可以從 添加所有git- *程序在您的$ PATH這樣的:
% zstyle ':completion:*:*:git:*' user-commands ${${(M)${(k)commands}:#git-*}/git-/}
是,只要能夠增加
zstyle ':completion:*:*:git:*' user-commands new-branch:'custom new branch function'
您zshrc
。
如果您想要處理自定義命令的參數,那麼使用自定義compdef文件是更好的解決方案。上面引用的文件也有一些細節:只需創建一個定義git-<yourcommand>
函數的標準定義文件,默認的git完成將在需要時自動使用它。