スマート完了が失敗した場合は、Bash Generalタブの完了を強制します。

スマート完了が失敗した場合は、Bash Generalタブの完了を強制します。

私はタブの完成がシェルの標準機能になって以来、非常に満足のいくユーザーでした。私はBashのスマートコンプリート機能(evince foo <TAB>を入力するとPDFファイルのみを検索します)も気に入っています。

Bashがスマートコンプリートを使用して完了を拒否すると、幸せな一日を台無しにすることができます。

今日私が望むもの:

tar xvf centos5.8_x86_1.ova

だから私は次のように入力します:

tar xvf cent<TAB>

.ovaファイルは通常tarによって使用されるファイルではないため、Bashはパスの完成を拒否します。

bash-completionパッケージを削除してスマートコンプリートを削除できることを知っています。ところでケーキも食べて食べてもいいですか?

bashに最初にスマートコンプリートを使用するように依頼し、失敗した場合はスマートコンプリートではないものを使用できますか?

ベストアンサー1

tar、vim、およびemacsプログラムのすべての「スマート」完了が失敗した後、次のコマンドは通常のbash完了を有効にする必要があります。

compopt -o bashdefault tar vim emacs

また見てください関連ページオンラインbashマニュアルにあります。

注:現在のコマンドのスマートコンプリートとして定義されているコンプリートタイプ(コマンド/ファイル名/ユーザー名など)の正常な動作が得られます。たとえば、 を呼び出しても、補完はserviceファイル名を補完しませんcomplete -o bashdefault service

この場合とスマートオートコンプリートが失敗する他の場合は、いつでもAlt-/(またはM-/bashマニュアル表記で)を押すことで完了できます。ファイル名スマートコンプリートが無効になっている場合、TABの動作方法とほぼ同じです(M-/同様のモードを完了しないという点でほぼ同じ方法*.txt)。バラよりここコマンドやユーザー名など、他のタイプの完成に使用されるキー入力シーケンスです。

おすすめ記事