나는 .vimrc
다음과 같은 방법으로 병원균을 사용합니다.
execute pathogen#infect()
하지만 새 컴퓨터를 설치했는데 병원체가 설치되어 있지 않으면
mkdir -p ~/.vim/autoload ~/.vim/bundle && \
curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
그런 다음 파일을 편집할 때마다 병원체가 작동하지 않는다는 메시지가 나타납니다(그러면 파일을 편집할 수 있습니다).
내 .vimrc 호출이 실제로 존재하는 것에 execute pathogen#infect
의존하기를 원합니다 .~/.vim/autoload
쉘 스크립트에서는 다음과 같은 작업을 수행합니다.
if test -f ~/.vim/autoload
execute pathogen#infect()
fi
그러나 물론 이는 정의되지 않은 메서드 테스트를 제공합니다. 주석이나 조건문 대신에 .vimrc
다른 구문을 사용하는 등 올바른 형식이 무엇인지 모르겠습니다."
#
어떤 파일 형식을 사용합니까 .vimrc
?
답변1
filereadable()
아니면 일련의 디렉토리를 검색하는 isdirectory()
후자보다 더 나은 옵션이 될 것입니다 . findfile()
그런데 findfile()
내 시스템에서는 아무것도 반환하지 않습니다(빈 문자열).~/.vim
그러나 isdirectory()
치료할 수는 없지만 ~/
구출 fnamemodify()
할 수는 있습니다.
if isdirectory(fnamemodify('~/.vim/autoload', ':p'))
execute pathogen#infect()
endif
isdirectory($HOME.'/.vim/autoload')
이것도 가능합니다.
답변2
이것은 작동합니다:
if findfile("~/.vim/autoload")
execute pathogen#infect()
endif