.png)
私は切り替えました翻訳そして、それがより良いと思うバッシュ、しかし、私は問題を抱えているオーマイズッシュ(以下「OMZ") オートコンプリート機能。
と入力するとgit chec
、OMZはそれをgit check
;に補完します。バッシュ完了しますgit checkout
。リモートブランチでも問題があります。 、、がori
完了します。oriG
orig
origin
バッシュそれが完成するとorigin/
他の製品でも同じ問題を抱えていますギットのようなコマンドcheckout
。
問題はエイリアスプラグインによって追加されました。慣れたくないので使用していませんが、自動補完が機能しなくなります。
入手する方法はありますか?バッシュオートコンプリート(bashにはオートコンプリートが組み込まれていないことは知っています)翻訳? または、更新のたびに壊れないように OMZ プラグインをハッキングする方法。
答え1
補完とその提供元は、かなり混乱を招く可能性があります。Ubuntu 14.04 システムを例に挙げます。
$ dpkg -L zsh-common | grep git
/usr/share/zsh/functions/Completion/Debian/_git-buildpackage
/usr/share/zsh/functions/Completion/Unix/_stgit
/usr/share/zsh/functions/Completion/Unix/_git
/usr/share/zsh/functions/Completion/Unix/_topgit
/usr/share/zsh/functions/VCS_Info/Backends/VCS_INFO_get_data_git
/usr/share/zsh/functions/VCS_Info/Backends/VCS_INFO_detect_git
/usr/share/zsh/functions/Misc/run-help-git
このzsh-common
パッケージには git 補完関数が含まれています。一方、このgit
パッケージには bash と zsh の補完ファイルも付属しています。
$ dpkg -L git | grep compl
/etc/bash_completion.d
/etc/bash_completion.d/git-prompt
/usr/share/bash-completion
/usr/share/bash-completion/completions
/usr/share/bash-completion/completions/git
/usr/share/bash-completion/completions/gitk
次のようなファイルが含まれています
$ head -n 5 /usr/share/bash-completion/completions/gitk
# bash/zsh completion support for core Git.
#
# Copyright (C) 2006,2007 Shawn O. Pearce <[email protected]>
# Conceptually based on gitcompletion (http://gitweb.hawaga.org.uk/).
# Distributed under the GNU General Public License, version 2.0.
git パッケージは、oh-my-zsh などの高度なアドオンを使用せずに有効にできる git 対応プロンプトも提供します。
要約すると、git サブコマンドの補完はシェル (zsh) から実行できます。
https://github.com/zsh-users/zsh/blob/master/Completion/Unix/Command/_git
gitから
https://github.com/git/git/tree/master/contrib/completion
または oh-my-zsh などのプラグインから。
質問に戻りますが、git chec
あなたが説明した補完の古い動作は、実際にはバグがあります。はまだあいまいであり、で始まるサブコマンドが複数あるため、chec
適切な補完スクリプトは を に補完すべきではありません。 その動作が必要な場合は、以前使用していた多くの補完スクリプトのどれかを確認し、oh-my-zsh git プラグインを無効にして、古い補完スクリプトを引き続き使用してください。checkout
chec
あるいは、エイリアスを設定してそれに慣れることをお勧めします。
git config --global alias.co checkout
git co
新しいものを作成するにはgit checkout
- oh-my-zsh プラグインはこれらのエイリアスを認識し、次にブランチ名とタグ名を補完します。