2013-07-16 16 views
17

Próbuję przesłonić zestaw podświetlenia w wtyczce. Wtyczka działa w ten sposób:Czy wtyczki Vima ładują się po załadowaniu vimrc?

highlight! link WordUnderTheCursor Underlined 

Po pierwsze, nie jestem świadomy, że ! dodany do highlight nic nie robi. Ale to nie ma znaczenia.

Robi rzeczy, jak to w vimrc

highlight clear WordUnderTheCursor        
highlight WordUnderTheCursor cterm=bold ctermfg=254 ctermbg=160 

nie wydaje się wpływać na zachowanie.

Tylko wtedy, gdy bezpośrednio modyfikuję styl Underlined (który czuje się źle) w vimrc, czy zmiana ma zastosowanie.

Czy jest to dowód na to, że wtyczka jest uruchamiana po przebiegu vimrc?

Jak mogę odłączyć styl? Naprawdę nie mogę powiedzieć, czy to tylko wtyczka robiąca coś twórczego i nieobsługiwanego, czy też jest to normalne zachowanie Vima. Here is the vimscript itself.

Odpowiedz

31

Tak. vimrc jest ładowany przed wtyczkami.

Jeśli spojrzysz na :h initialization, zobaczysz, że krok 3 to load vimrc, a krok 4 to pluginy ładowania.

Możesz także zobaczyć, że vimrc jest ładowany przed wtyczkami, patrząc na wyjście :scriptnames. scriptnames wyświetla listę wszystkich skryptów źródłowych w kolejności ich pozyskiwania, a vimrc jest pierwszą z nich. (Spójrz na :h :scriptnames).


Aby poprawić podświetlanie, wystarczy uruchomić polecenia podświetlania po pobraniu wtyczki. W tym celu umieść pliki w katalogu after swojego katalogu .vim. (Spójrz na :h after-directory)

więc utworzyć plik .vim/after/plugin/hicursorwords.vim o następującej treści

highlight clear WordUnderTheCursor        
highlight WordUnderTheCursor cterm=bold ctermfg=254 ctermbg=160 

Spowoduje to plugin do pochodzić zanim ustawienia wtyczki.

(To oczywiście zakłada, że ​​nie chce zmieniać wtyczki)

+1

Niesamowite, dzięki. Mam już kilka skryptów 'po', które zastępują ustawienia składni, więc pasuje to do całego schematu. –

+0

Należy pamiętać, że '_gvimrc' (dla celów graficznych) jest czytany po wtyczce. W związku z tym należy wprowadzić polecenia, które mają być znacznikiem w wtyczce w _vimrc, a nie _gvimrc. –

9

Poza scriptnames, aby zobaczyć, co porządek rzeczy w vim uruchamia przy starcie, można również zastosowanie:

vim --startuptime <file>

dzięki czemu będzie rejestrował wszystkie zadania, które wykonuje w kolejności i ile czasu zajmuje każdy z nich.

Powiązane problemy