Vim : vim의 다른 버전에 대해 ~ / .vim / plugin / directories를 다르게 사용 하시겠습니까?


4

많은 분들과 마찬가지로 내 맞춤형 Vim 설정은 저의 ~/.vimrc, 아래에 저장된 플러그인, 색상 등 ~/.vim/plugins, ~/.vim/colors

여러 대의 서버에서 하나의 Vim 구성을 공유하려고합니다. 이 서버 중 일부는 Vim 7을 실행하고 일부는 이전 Vim 6을 실행합니다. 대부분의 Vim 플러그인은 Vim 7 용으로 설계되었지만 구형 시스템에는 이전 버전이 여전히 존재합니다. 만나다 DirDiff 예를 들어.

Vim 6을 실행하는 시스템에서 Vim 6 호환 플러그인 만 사용하도록 구성하려면 어떻게해야합니까?

나는 오래된 플러그인을 하위 디렉토리에 저장하는 것에 대해 생각하고 있었다. ~/.vim/plugins6/ Vim 플러그인을 ~/.vim/plugins, 그렇다면 어떻게 Vim6에 무시하도록 할 수 있습니까? ~/.vim/plugins 사용하다 ~/.vim/plugins6 대신에?

답변:


4

.vimrc에서 vim 버전을 확인하고 결과적으로 & amp; runttimepath를 업데이트해야합니다.

편집하다:

내 실수. Vim 디렉토리 구조는 하드 코딩되어 있습니다. 대신에 ~/.vim6 모두에게 심볼릭 링크가있는 디렉토리 ´/.vim 디렉토리 plugin/after/plugin.vimrc에 다음을 추가해야합니다.

if version < 700
   let &rtp=substitute(&rtp, '\.vim', '&6', 'g')
endif

감사. 나는 이것을 시도했지만, Vim이 ~ / .vim / plugin6에서 플러그인을 선택하는 것 같다. (내 코드와 결과는 stackoverflow.pastebin.com/4jVT1wsR ). 그러나 나는 가깝다고 생각한다.
Stefan Lasiewski

업데이트가 잘 작동합니다. 감사! 이제 .vim 및 .vim6 디렉토리가 있고 Vim realtimepath (rtp)를 적절하게 업데이트합니다.
Stefan Lasiewski

확인 중 v:version 더있다 적절한 . version 레거시 호환성을 위해 남아 있습니다. 또한 Vim 7.3의 경우, v:version == 703.
Paweł Gościcki

0

나는 이렇게하려고 할 것이다 :

HOME=<customdir1> <vim binary version1>

HOME=<customdir2> <vim binary version2>

여기 환경 변수입니다. 편의상 이러한 호출을 쉘 스크립트로 래핑 할 수 있습니다.

이러한 일반적인 접근 방식은 종종 효과적입니다.


0

vimrc에서 vim 버전을 확인한 다음 특정 폴더에서 모든 플러그인을 가져올 수 있습니다.

if &loadplugins
  if v:version >= 700
    runtime! plugin7/*.vim
    runtime! plugin7/**/*.vim
  elseif v:version >= 600
    runtime! plugin6/*.vim
    runtime! plugin6/**/*.vim
  endif
endif
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.