내 경우에는 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')
홈 디렉터리 없이 파일에 대한 디렉터리 경로를 제공합니다.=~
부분 일치에 필요합니다.