Ubuntu Hardyでbashからzsh 4.3.4に切り替えました。私はgitで開発していて、デフォルトのgit補完と常に競合していることに気づきます。ファイル名補完は、(git-ls-filesを使用して)追加または削除したものを検出することで賢くなりますが、時々問題が発生します---たとえば、サブディレクトリにいる場合です。また、カスタムgitエイリアス(たとえば、コミットのエイリアスとしてのgit ci)についても認識しません。
zshスーパーユーザー、この状況をどのように改善すればよいですか?
以下は私の考えの一部ですが、私はzshを初めて使用するので、それらを実装する方法がわかりません。
- git filenameの補完を無効にして、branch / tag / command-name / command-optionの補完のみを残します。
- 「スマート」ファイル名補完を通常のzshファイル名補完に置き換えます。
- これらのバグが修正されている場合は、新しい_git完了ファイルを取得し、システムのものをオーバーライドします。
ありがとう!
github.com/robbyrussell/oh-my-zsh
—
ukanth
はい、私が知る限り、それはgitプロンプトを追加するだけで、基礎となる補完を微調整しません。
—
Emil Sit
誰かがすべてのgitコマンドのすべての「スマート」補完を無効にする方法を教えてもらえますか?IOが多すぎます。シェルは即座に応答する必要があります。私はgitコマンドの古き良き単純なファイル名補完に戻りたいだけです。これをウェブ検索するたびに、一般的なzsh manページ情報の迷路が表示されます。
—
Peter Lyons、2010
シェルがIOの実行をブロックする原因となる厄介なgitの完了を無効にしたい人のために、Ubuntu 10.04でこれを実行しました:
—
Peter Lyons
sudo mv /usr/share/zsh/functions/Completion/Unix/_git /usr/share/zsh/functions/Completion/Unix/OFF_git