Warum ruft vim dieses Skript beim Start auf?

302
Grant Birchmeier

Ich versuche, ein benutzerdefiniertes Farbschema zu verwenden.

Beim Start sehe ich, dass vim mein Schema lädt, aber danach lädt es ein anderes Schema, das meines überschreibt.

Hier ist die Ausgabe von :scriptnames:

 1: /usr/local/Cellar/macvim/7.4-72/MacVim.app/Contents/Resources/vim/vimrc 2: ~/.vimrc 3: ~/.vim/colors/torte2.vim 4: /usr/local/Cellar/macvim/7.4-72/MacVim.app/Contents/Resources/vim/runtime/syntax/syntax.vim 5: /usr/local/Cellar/macvim/7.4-72/MacVim.app/Contents/Resources/vim/runtime/syntax/synload.vim 6: /usr/local/Cellar/macvim/7.4-72/MacVim.app/Contents/Resources/vim/runtime/colors/torte.vim 7: /usr/local/Cellar/macvim/7.4-72/MacVim.app/Contents/Resources/vim/runtime/syntax/syncolor.vim ... and so on 

Wie Sie sehen können, wird mein Farbschema "torte2" in Zeile 3 geladen, aber dann wird es in Zeile 6 durch "torte" blockiert.

Warum tut es das und wie kann ich es stoppen lassen?

2
Kannst du dein Farbschema und deine Vimrc teilen? Ist dies [hier] (https://github.com/ajford/dotfiles/blob/master/vim/vim.symlink/colors/torte2.vim)? In diesem Fall sollten Sie `let g: colors_name =" torte "` in `let g: colors_name =" torte2 "` ändern. romainl vor 10 Jahren 1
Nein, meine Torte2 ist nur eine Kopie der regulären Torte mit einigen Modifikationen. Grant Birchmeier vor 10 Jahren 0
Wird es noch "Torte" genannt oder haben Sie es in "Torte2" geändert? Wo ist dein vimrc? romainl vor 10 Jahren 0

1 Antwort auf die Frage

2
Ingo Karkat

Wenn Sie ein Farbschema klonen, müssen Sie das g:colors_nameInnere des Skripts anpassen . Sein Wert muss mit dem geänderten Namen identisch sein. syntax/synload.vimDies liegt daran, dass der folgende Ausschnitt des Farbschemas erneut geladen wird:

" Set the default highlighting colors. Use a color scheme if specified. if exists("colors_name") exe "colors " . colors_name else 

Sie haben vergessen, den Namen anzupassen, sodass Vim torte.vimstatt Ihres neu geladen wird torte2.vim.


Alternativ können Sie Ihr geklontes Skript in umbenennen torte.vim. Wenn es früher im ist 'runtimepath', wird Vim dem Vorzug vor dem geben, der mit Vim geliefert wird.

Ah ja, genau das habe ich getan. Ich habe in dem Schema, das ich kopiert habe, nicht "g: colors_name" bemerkt, also stand noch "Torte". Sobald ich es in 'torte2' geändert habe, wurde das Problem behoben. Vielen Dank! Grant Birchmeier vor 10 Jahren 0