web-dev-qa-db-ja.com

端末のオートコンプリート「タブ」が意図したとおりに機能しませんか?

私はこれが他の投稿で議論されていることを知っていますが、私の問題は完全に解決されていないようであり、それらの投稿にコメントを追加する権限がまだありません:(

help.ubuntu.com> UsingTheTerminalにリスト>入力時に保存:

タブ:「コマンドまたはファイル名を自動補完します」。

apt-get autocomplete からのアドバイスに従った後、タブを2回押しても結果が得られますが、コマンドやファイルの自動補完はありません。 Xubuntu 13.04を実行しています。

5
user1575949

指定するイニシャルが一意であり、他に可能なファイル名がない場合にのみ、ファイル名を補完します。

作業ディレクトリに2つのファイルfile1expofile2expoがあるとします-

gedit file<<tab>>は2つの可能な結果があるため、gedit file1<<tab>>を使用しても機能しません。

xaaなどのイニシャルで始まるすべてのファイルをリストする場合は、単に使用します

ls "xaa" 

xaaで始まるすべてのファイル名が表示されます。

2
Sukupa91

スマート補完を有効にするには

Sudoとお気に入りのエディターを使用して、/etc/bash.bashrcファイルを編集します。

行の先頭の#を削除して、次の行のコメントを解除します。

#if [ -f /etc/bash_completion ]; then
# . /etc/bash_completion
#fi

これで、タブ補完を使用してコマンドを実行できます。

6

これはイライラすることがあります、それは確かです! 1つの迅速かつ簡単な回避策は、shの代わりにbashを使用することです。

デフォルトでは、「/ bin/bash」の代わりに「/ bin/sh」をシェルとして使用します。個人的には、bashにはタブのオートコンプリート機能がすぐに有効になっているので、bashの方が好きです。

シェルを確認してください:

echo $ Shell

/ bin/sh <-これが問題の可能性があります

bashを起動して、これにより問題が修正されることを確認します。

bash

次に、タブのオートコンプリートを試してください。動作する場合は、デフォルトのシェルを「/ bin/sh」から「/ bin/bash」に変更します

そのユーザーのchsh(シェルの変更)コマンドを使用して、デフォルトシェルをbashに変更します。

chsh -s/bin/bash USERNAME

ログアウト。再度ログインします。これで、すべての新しいシェルのタブがオートコンプリートされます。 :)

シェーン

1
Shane Walker