
Ubuntu日本語フォーラム

ログインしていません。
自分のroot directoryでは、viの後スペースを入れてtabを押せばファイル名の補完ができます。
しかし、あるdirectoryを作り、そこで上と同じ事をやっても、viでのファイルの補完ができません。
しかし、lsコマンドはファイル補完ができます。
どうしたら、viでファイル補完ができるようになりますか?
オフライン
端末の補完機能は、プログラム特有の引数の場合は、実行するプログラムごとに行えたり行えなかったりしますが(この設定は /etc/bash_completion.d/ 以下にあります。)、ファイル名の補完は通常であれば実行するプログラムに関わらず同じように行えるはずです。
OSのバージョン、補完できた時/あるいはできなかった時のディレクトリー内のファイル内容、補完しようとした文字列などが、再現しやすく記述されていると、より良いアドバイスを受けられると思います。
オフライン
vbk 様
アドバイスありがとうございます。説明が不十分で申し訳ありません。
私のシステムは、ubuntu 12.04 LTSです。
自分のホームディレクトリの下に gmt_scriptディレクトリを作りました。
/home/takayanamba/gmt_script
cd /home/takayanamba/gmtscript
vi とタイプしスペースそしてtabを押しても、このディレクトリ下にあるファイル候補は表示されません。
しかし、同じディレクトリ内で
vi /home/takayanamba/gmt_script というようにfull pathにすると
ファイルが表示されます。
また、
cd /home/takayanamba では
vi スペースそしてtabとすればファイル候補がでます。
まだ説明が不十分かもしれませんが、どうか宜しくお願いします。
オフライン
補完はtabを1回押しただけで行われますが、候補の一覧表示はtabを2回押さなければなりません。tabを1回しか押していないという事はありませんか?(試されていたらすみません。)
====
例えば、あるディレクトリーに「ex-file-abc」「ex-file-def」「test-file」という3つのファイルがあったとします。
この時、 vi [space] のあと、続くファイル名は複数考えられるため、[tab] を1回押しただけでは何も表示されず、2回押すことによって候補が一覧表示されます。
続いて ex [tab] と入力すると、「ex-file-」までが自動的に補完されます。その後、[ta b]を2回押すことによって候補が2つ表示されます。
更に a [tab] と押せば、「ex-file-abc」のように補完されます。
オフライン