1

vim で :find を使用して別のファイルを開くと、相対パスの最初のコンポーネントが見つかりません。

たとえば、次の場所にあるファイルを探している場合:

./foo/bar/file.txt

入力します

:find **/file.txt

ファイルが見つかりますが、開こうとします

bar/file.txt

入力すると正しく動作します

./**/file.txt

しかし、私は怠け者で、あまりタイプしたくありません。このパスを正しく見つけて開くために不足している構成はありますか?

私の解決策

メインのソースコードディレクトリをパスに追加しただけです

exec "set path^=src/**"
4

1 に答える 1

2

あなたの'path'セットはありますか?**/それ(IMO)は、ビットを入力することさえしないようにするための非常に便利な方法です。

私のセットアップには、現在どのプロジェクトにいるかを定義する環境変数があるので、それを使用して、ルートとしてパスを作成します。一言で言えば:

let s:rootdir = $PROJECT_DIR
let s:path = 'src/**;' . s:rootdir . ',scripts/**;' . s:rootdir
execute "set path=" . s:path

次に:find a_file.txt、src階層を検索し、次にスクリプト階層でファイルを検索します。

于 2012-12-21T02:04:05.207 に答える