私の場合、init.vim
現在のファイルが特定の階層の下にある場合にのみ特定のコマンドを実行したいと思います。擬似コード:
if current_file_directory == ~/some/path/here
autocmd <whatever>
set <whatever>
endif
しかし、if
私が見つけたすべての例は、推論するにはあまりにも基本的でした。
明確にすると、neovimが呼び出されたディレクトリを返すので適用されませ:pwd
ん。getcwd()
ファイルがあるディレクトリが重要です。上記のコードに従って/tmp
ファイルを編集する場合は、~/some/path/here/more/deep/still.txt
コマンドを実行する必要があります。いいえ~/some/path/here
ファイルを編集する場合/tmp/example.txt
。
ベストアンサー1
に基づいて@muruの返信追加テストを行った後、最終コードは次のようになります。
if expand('%:h') =~ 'some/path/here'
autocmd <whatever>
set <whatever>
endif
expand('%:h')
ホームディレクトリなしでファイルへのディレクトリパスを提供します。=~
部分一致に必要です。