Próbowałem uaktualnić z domyślnej instalacji vima w systemie Mac OS X (vim 7.2) do wersji używanej przez MacVim (vim 7.3), tworząc dowiązanie symboliczne:
ln -s /Applications/MacVim.app/Contents/MacOS/Vim /usr/bin/vim
Jednak teraz otrzymuję następujące komunikaty o błędach:
sk@supernova:~/ > /usr/bin/vim
E254: Cannot allocate color Red
E254: Cannot allocate color White
E254: Cannot allocate color Blue
E254: Cannot allocate color Red
E254: Cannot allocate color Grey
E254: Cannot allocate color Blue
E254: Cannot allocate color Brown
E254: Cannot allocate color SeaGreen
E254: Cannot allocate color SeaGreen
E254: Cannot allocate color Yellow
E254: Cannot allocate color Red
E254: Cannot allocate color Blue
E254: Cannot allocate color Magenta
E254: Cannot allocate color DarkCyan
E254: Cannot allocate color LightMagenta
E254: Cannot allocate color Grey
E254: Cannot allocate color Blue
E254: Cannot allocate color Magenta
E254: Cannot allocate color Red
E254: Cannot allocate color Yellow
E254: Cannot allocate color Black
E254: Cannot allocate color LightGrey
E254: Cannot allocate color DarkBlue
E254: Cannot allocate color Grey
E254: Cannot allocate color DarkBlue
E254: Cannot allocate color Grey
E254: Cannot allocate color DarkBlue
E254: Cannot allocate color LightGrey
E254: Cannot allocate color LightBlue
E254: Cannot allocate color LightMagenta
E254: Cannot allocate color Blue
E254: Cannot allocate color LightCyan
E254: Cannot allocate color LightGrey
E254: Cannot allocate color Grey90
E254: Cannot allocate color Grey90
E254: Cannot allocate color LightRed
E254: Cannot allocate color DarkGrey
E254: Cannot allocate color LightGrey
E254: Cannot allocate color Cyan
Error detected while processing /Users/sk/.vimrc:
line 1:
E185: Cannot find color scheme desert
Press ENTER or type command to continue
Czy ktoś wie jak to naprawić? Jeśli uruchamiam bezpośrednio vim
lub /Applications/MacVim.app/Contents/MacOS/Vim
bezpośrednio, nie otrzymuję komunikatów o błędach. Tylko jeśli /usr/local/bin/vim
zostanie wezwany. Bezpośrednio lub za pośrednictwem innej aplikacji wiersza polecenia.
Tylko jeśli ktoś komentuje, że mógłbym po prostu stworzyć alias, tak naprawdę zrobiłem to wcześniej
alias vim=/Applications/MacVim.app/Contents/MacOS/vim
jednak niektóre inne narzędzia wiersza poleceń były nadal używane /usr/bin/vim
.
Odpowiedzi:
To znany problem. Od
:help MacVim
:Znalazłem wiele osób, które otrzymały ciąg błędów E254 przy użyciu dowiązania symbolicznego. Zobacz ten bilet w repozytorium problemów MacVim. Rozwiązanie jest następujące:
MacVim wyposażony jest w skrypcie startowym
mvim
. Możesz to zmienić na „alias”,vim
jeśli wolisz używać go zamiast vima systemowego. Jeśli chcesz uruchomić vima w terminalu, a nie jako aplikację GUI, ustaw alias namvim -v
. Dodajexport EDITOR=vim
do swojego,~/.bash_profile
aby upewnić się, że wszystkie aplikacje terminalowe używają teraz aliasu vim. Powinno to obejmować wszystkie twoje bazy.źródło
Zmiana czegoś w / usr / bin nie jest najlepszym sposobem na załatwienie różnych spraw, ponieważ Apple może po prostu ponownie to zastąpić.
Błędy są prawdopodobnie, jak mówi @karmatic, ale prawdopodobnie najlepszą rzeczą do zrobienia jest umieszczenie dowiązania symbolicznego w / usr / local / bin i sprawienie, aby powłoka miała go na ścieżce wcześniejszej niż / usr / bin.
O ile wiem, żadne narzędzie wiersza poleceń nie używa bezpośrednio / usr / bin / vi (używam emacsa, więc zauważyłem, że muszę użyć vi) To, co robią, to używa zmiennej środowiskowej $ EDITOR, więc ustaw na / usr / local / bin
źródło
Nie mam jeszcze żadnego przedstawiciela, więc nie mogę komentować odpowiedzi Michaela Michaelisa, ale na podstawie jego odpowiedzi zredagowałem
mvim
skrypt opakowania, aby dodać kolejną instrukcję case. Więc jeśli $ name byłovim
, doda-v
opcję. Następnie symlinkowałem/usr/local/bin/mvim
do/usr/local/bin/vim
.Wszystko to dlatego, że w niektórych przypadkach nie mogłem polegać na ustawieniu EDYTORA lub aliasach, ale mogłem polegać na tym, że / usr / local / bin jest w PATH.
źródło
Wygląda na to, że ma to coś wspólnego z twoją kolorystyką. Dezaktywuj motyw pustynny w .vimrc i sprawdź, czy to pomaga. Zmień
colorscheme desert
na'colorscheme desert
.Najlepszym sposobem uniknięcia takich problemów jest zainstalowanie vim 7.3 z portów mac .
źródło
E185: Cannot find color scheme desert
błędu, ale nadal wszystkie pozostałe.Bardzo polecam korzystanie z homebrew
--with-override-system-vim
.Instaluje MacVim i tworzy dowiązanie symboliczne / usr / local / bin / vim. Działa dla wiersza poleceń,
vim
a także wywołańEDITOR
.Oto polecenie:
(Na marginesie, wersja Brew MacVima działa dobrze z wtyczką YouCompleteMe)
źródło
brew install vim
sudo ln -s /usr/local/Cellar/vim/<VIM_VERSION>/bin/vim /usr/bin/vim
Nawiasem mówiąc, jeśli OS to EI Capitan, musisz wyłączyć SIP jako cios:
Jak wyłączyć SIP
źródło