Vimのファイル名のbashのような部分的なタブ補完


16

Bashでは、同じプレフィックスを持つ複数のファイルがあり、プレフィックスの一部をTab入力してを押すと、共通のプレフィックスが完成し、入力を続けて、可能な結果を​​区別できます。

Vimでは、同じプレフィックスを持つ複数のファイルがあり、プレフィックスの一部を入力しTabてを押すと、最初の一致全体が完了し、すべての一致から選択できます。セットを減らすには、共通部分の最後に到達するまでバックスペースし、さらに入力してもう一度ヒットTabする必要があります。

多くの場合、長い共通プレフィックスがあるファイルがたくさんありますが、必要なファイルは最初のものではありません(たとえば、名前がすべてのさまざまなメイクファイルを含むプロジェクトファイルのディレクトリなどMakefile.{whatever})。

多くのキーストロークを節約するために、VimをBashのように完全にできますか?

これが他の補完にも適用できる場合のボーナス(たとえば、すべて同じプレフィックスを持つ列挙値)

回答:


16

wildmodeこれを制御するオプションを使用できます。

を使用すると:set wildmode=list:longest、bashと同様の動作が得られます。

私は個人的に使用することを好みます:set wildmode=list:longest,full。これにより、補完がリストされますが、2回目の Tabプレスでは、エントリ間を循環できます(Shift+Tab逆に循環することもできます)。

これは、Vimが行うすべての完了に適用されます

見る: :help 'wildmode'


3
モード補完を挿入しないでください!completeoptそのために必要です。
リッチ

ありがとう!wildmodeとcompleteoptはまさに私が探していたものです!
ジョン・オム。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.