vim
Bashでは、2つのディレクトリよりも深いパスを含むコマンドを実行すると、最近のパスオートコンプリート機能が機能しなくなりました(およびls
他のコマンドの場合は予想どおりに機能し続けましたcd
)。
たとえば、入力ls .config/btsync/bt
してTABを押すとls .config/btsync/btsync.conf
。
を入力してvim .config/bt
TABを押すvim .config/btsync/
。
ただし、入力してTABを押すと何も起こりません。 (上記の例のようvim .config/btsync/bt
に拡張したいと思います。vim .config/btsync/btsync.conf
ls
私のユーザーとして実行するときとsuで実行するときに同じ問題があります。
私は読んだこの投稿以前のバージョンのbash-completion関連の問題が言及されていますが、2.1-5を実行しています。
アップデート:いくつかの追加テストを経た後の根本的な問題はbashですただファイル名ではなく、完全なディレクトリ名です。
bash-completion
アップデート:これが全体的な理由であることがわかりました。許可された回答についての2番目のコメントを参照してください。
この動作の潜在的な原因について提案をいただきありがとうございます!
ベストアンサー1
私はあなたのためにもう少し調査した結果、これが私が見つけたものです。オートコンプリートの鍵はコマンドbash
ですcomplete
。使用ルールを印刷できますvim
。
complete -p vim
繰り返しますが、次の方法でこれらの特定のルールを削除できます。
complete -r vim
このコマンドはそれをデフォルト値(追加のロジックなしで一般的なパスとファイル名の完成)にリセットします。これはあなたが望むものかもしれません。
詳細については、コマンドのセクションを確認help complete
または参照してください(bash組み込み機能なので、bashのマンページに文書化されています)。man bash
complete
bash
最後の注意 - ログインするたびにvimルールを削除したい場合は、上記の変更は現在のセッションにのみ影響complete -r vim
します~/.bashrc
。
役に立ったことを願っています:)