2011-10-18 16 views
5

Czy istnieje sztuczka lub skrypt, który pozwala mi łatwo przełączać się między zestawami wtyczek vim i ustawieniami?Przełącz zestawy wtyczek Vima

Używam vima do bardzo różnych opracowań i pisania. Może to być naprawdę denerwujące, gdy pojawiają się specyficzne wtyczki do webdevelopmentu, na przykład podczas pisania raportu w LaTeX.

To, co chciałbym zobaczyć, to coś w rodzaju RVM.

  • Posiadać zestaw "globalnych" wtyczek i ustawień; wtyczki i ustawienia, które są zawsze włączone lub używane.
  • Według wtyczek projektu i ustawień; wtyczki, konfiguracje i ustawienia, które zostaną załadowane po aktywacji tego "środowiska".
+0

Vim ma zmienną runtimepath, którą można oczywiście ustawić w vimrc. O ile jednak rozumiem, musisz ponownie uruchomić vim, aby zmiana zaczęła obowiązywać. –

+1

Nie mam nic przeciwko ponownemu uruchomieniu. Będę wiedział, w jakim "środowisku" się pojawi, zanim zacznę vim. Posiadanie .vim w git i przełączanie oddziałów będzie działało; jeśli nie powielanie i zarządzanie kłopotami. – berkes

+0

Czy typ pliku "projekt" jest specyficzny? Jeśli tak, możesz potrzebować wtyczek, aby były ftpluginami. Zobacz także: 'help LocalLeader', aby pomóc w oddzieleniu globalnych map wtyczek od map plików. – idbrii

Odpowiedz

4

można znaleźć localvimrc być użyteczne dla punktu numer dwa. To pozwala mieć .lvimrc w folderze projektu z ustawieniami dla tego konkretnego projektu. W tym pliku możesz załadować swoje specyficzne dla projektu wtyczki, manipulując runtimepath lub używając patogenu/vundle/cokolwiek innego.

Korzystając z tej metody, skonfigurujesz ustawienia i wtyczki "globalne" tak jak zwykle.

2

Ładne pytanie IMHO. Nawiasem mówiąc, użycie menedżera wtyczek może uprościć tego rodzaju rzeczy. Na przykład, z patogenu można zrobić coś takiego:

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

if your_condition 
    call add(g:pathogen_disabled, 'myplugin') 
    call add(g:pathogen_disabled, 'myplugin2') 
end 

Zobacz this answer za dobry przykład o warunkowym załadunku. Byłoby bardzo miło zobaczyć tę funkcję zaimplementowaną w patogenach.

1

ja po prostu zrobić aliasy

alias mvim='vim -u myvimrc' 

alias ovim='gvim -U someothervimrc' 

Ans tak można użyć runtimepath wewnątrz vimrc-s do konfiguracji bardzo różne konfiguracje