エイリアスを使用してxdg-openを呼び出すと、オートコンプリート機能は機能しません。

エイリアスを使用してxdg-openを呼び出すと、オートコンプリート機能は機能しません。

alias op="xdg-open"私の~/.bashrcファイルにxdg-openにエイリアスを追加しました。

コマンドは機能しますが、op file.pdf入力した場合(TABを押すなど)、オートop fiコンプリートできません。

エイリアス設定の全体的なポイントは時間を節約することですので、これは少し迷惑です。この問題をどのように解決できますか?

答え1

おそらくあなたが持っていると思います。バッシュ完了インストールすると、提供された完成したコンテンツが自動的に読み込まれます。opコマンドのためエイリアスで始まるコマンドラインを完成させようとしたときop

これによりこれを防ぐことができます。

  • 別のエイリアスを選択し、その中のファイルを確認して/usr/share/bash-completion/completions/安全な名前を選択したことを確認してください。

  • bash-completionに付属の補完機能を無効にするように指示するには、追加してくださいcomplete -o default -o bashdefault op(上記のGitHubリポジトリのよくある質問で、「bash-completionに付属の補完機能をどのようにオーバーライドしますか?」を参照)。~/.bashrc

    もちろん、システムに完成ファイルを含むコマンドのエイリアスを定義する場合は、完成をデフォルトの動作にリセットするのではなく、そこに定義されている完成関数を使用できます。ただし、この場合、完成関数を明示的にロードする必要があるかもしれません。結果.bashrcのフラグメントは次のとおりです。

    alias your_alias=aliased_command
    _completion_loader aliased_command
    complete -F completion_function your_alias
    

関連情報