私はタブの完成がシェルの標準機能になって以来、非常に満足のいくユーザーでした。私は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
)。バラよりここコマンドやユーザー名など、他のタイプの完成に使用されるキー入力シーケンスです。