vim에서 병원체를 사용하여 일부 플러그인을 일시적으로 비활성화합니다.


96

하나의 플러그인에 버그가있는 것 같습니다. 디버그를 위해 병원체의 번들 폴더에있는 다른 모든 번들을 삭제할 필요없이이 플러그인 만로드하고 싶습니다.

가능할까요?

답변:


129

Pathogen을 사용할 때 플러그인을 비활성화하는 가장 쉬운 방법은 병원체를 시작하기 전에 번들 이름을 g : pathogen_disabled 변수에 추가하는 것입니다.

그래서 내 vimrc의 예

" To disable a plugin, add it's bundle name to the following list
let g:pathogen_disabled = []

" for some reason the csscolor plugin is very slow when run on the terminal
" but not in GVim, so disable it if no GUI is running
if !has('gui_running')
    call add(g:pathogen_disabled, 'csscolor')
endif

" Gundo requires at least vim 7.3
if v:version < '703' || !has('python')
    call add(g:pathogen_disabled, 'gundo')
endif

if v:version < '702'
    call add(g:pathogen_disabled, 'autocomplpop')
    call add(g:pathogen_disabled, 'fuzzyfinder')
    call add(g:pathogen_disabled, 'l9')
endif

call pathogen#infect()

업데이트 : Pathogen에서 지원하는 또 다른 방법은 비활성화하려는 번들의 디렉토리 이름을 간단히 변경하여 물결표 (~)로 끝나도록하는 것입니다. 따라서 autocomplpop번들 을 비활성화하려면 간단히 이름을 autocomplpop~.


1
물결표 전략은 현재 작동하지 않는 것 같습니다 (버전 2.3 기준).
echristopherson

6
@echristopherson 이것은 적어도 dev 브랜치에서 지금 병원체로 돌아올 것입니다.
FDinoff

8
현재 2.4이된다 g:pathogen_blacklist대신.
Yuri Ghensev

36

vim -u NONE -N.vimrc의 설정없이 플러그인없이 vim을로드합니다. 그런 다음 :source /path/to/plugin/you-want.vimvim 내부에서로드하려는 플러그인을로드 할 수 있습니다.


+1. frabjous, 이것은 훌륭한 조언입니다. 그러나 나는 ftplugin 등을 많이 가지고 있기 때문에 @Herbert의 접근 방식이 내 상황에 더 적합하다고 생각합니다. 답변 해 주셔서 감사합니다. 귀하의 솔루션은 병원균을 설치할 수없는 상자에 사용할 수 있습니다.
누군가는 여전히 당신에게 MS-DOS 사용

vim을로 시작한 vim -u NONE -N다음 vim 내에서 :filetype plugin on파일 유형 플러그인을 활성화 할 수도 있습니다.
frabjous

9

vim --noplugin

이 경우 vim은 플러그인을로드하지 않지만 vimrc가 사용됩니다.

vim에서 플러그인을로드 한 후 :

: source '플러그인 경로'


3

왜 안 되는가 :

  1. 현재 번들 디렉토리 이름 변경
  2. 비어있는 새 번들 디렉토리 생성
  3. 테스트 플러그인 파일을 새 번들 디렉토리에 넣으시겠습니까?

완료되면 모든 것을 원래대로 되돌려 놓으십시오. (플러그인없이 Vim을로드하고 플러그인 파일을 소싱하는 제안 된 방법은 단순한 단일 파일 플러그인 인 경우 작동하지만 ftplugin을 사용하는 경우 dirs를 이동하는 것이 가장 좋은 방법이며 그렇게 어렵지는 않습니다.)


+1. 간단하고 효과적이며 모든 폴더를 임시 폴더로 이동하십시오.
누군가는 여전히 당신에게 MS-DOS 사용

2

원래 이름 뒤에 물결 기호 ~ 를 넣어 특정 플러그인의 이름을 바꿀 수 있습니다. 끝에 물결표 기호 ~가 있는 번들 내의 모든 플러그인 폴더 는 병원체에 의해로드되지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.