Sostituito / usr / bin / vim - ora ricevo i messaggi di errore

7

Ho provato ad aggiornare l'installazione vim predefinita su Mac OS X (vim 7.2) a quella usata da MacVim (vim 7.3) creando un link simbolico:

ln -s /Applications/MacVim.app/Contents/MacOS/Vim /usr/bin/vim 

Tuttavia, ora ricevo i seguenti messaggi di errore:

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

Qualcuno sa come risolvere questo problema? Se eseguo solo vim o /Applications/MacVim.app/Contents/MacOS/Vim direttamente, non ricevo i messaggi di errore. Solo se viene chiamato /usr/local/bin/vim . O direttamente o tramite un'altra applicazione a riga di comando.

Solo se qualcuno commenta che avrei potuto semplicemente creare un alias, in realtà l'ho fatto prima

alias vim=/Applications/MacVim.app/Contents/MacOS/vim

tuttavia, alcuni altri strumenti della riga di comando utilizzavano ancora /usr/bin/vim .

    
posta znq 17.05.2011 - 13:31
fonte

6 risposte

11

Questo è un problema noto. Da :help MacVim :

Note: Starting MacVim by creating a symlink to >
    .../MacVim.app/Contents/MacOS/Vim with 'ln -s' does not work.

Ho trovato molte persone che ricevevano una stringa di errori E254 dall'uso di un collegamento simbolico. Vedi questo ticket sul repository di problemi MacVim. La soluzione segue:

    Most likely this is because you have symlinked directly to
    the Vim binary, which Cocoa does not allow.  Please use an
    alias or the mvim shell script instead.

MacVim viene fornito con uno script di shell di avvio, mvim . Puoi farlo come alias vim se preferisci usarlo al posto del vim di sistema. Se vuoi avviare vim nel terminale piuttosto che come un'applicazione gui, imposta l'alias su mvim -v . Aggiungi export EDITOR=vim al tuo ~/.bash_profile per assicurarti che tutte le applicazioni terminali stiano utilizzando il vim ora con alias. Questo dovrebbe coprire tutte le tue basi.

    
risposta data 17.05.2011 - 16:15
fonte
4

Cambiare qualcosa in / usr / bin non è il modo migliore per andare su cose come Apple può semplicemente sovrascriverlo di nuovo.

Gli errori sono probabilmente come dice @karmatic ma probabilmente la cosa migliore da fare qui è mettere il link simbolico in / usr / local / bin e rendere la shell quella nel percorso prima di /usr/bin.

Per quanto ne so nessuno strumento da riga di comando usa / usr / bin / vi direttamente (io uso emacs quindi vedrò di dover usare vi) Quello che fanno è usare la variabile di ambiente $ EDITOR quindi impostalo su / usr / local / bin

    
risposta data 17.05.2011 - 15:17
fonte
3

Non ho ancora nessuna replica quindi non posso commentare la risposta di michaelmichael ma basandomi sulla sua risposta ho modificato lo script wrapper mvim per aggiungere un'altra dichiarazione di caso. In questo modo, se $ name era vim , verrà aggiunta l'opzione -v . Ho quindi collegato symlink /usr/local/bin/mvim a /usr/local/bin/vim .

47 # vimdiff, view, and ex mode
48 case "$name" in
49     vim)
50         opts="$opts -v"
51         ;;
52     *vimdiff)

Questo perché in alcuni casi non potevo contare sull'impostazione di EDITOR o sugli alias, ma potevo contare su / usr / local / bin che si trova in PATH.

    
risposta data 29.04.2012 - 20:31
fonte
1

Sembra che abbia qualcosa a che fare con la tua combinazione di colori. Disattiva il tema deserto nel tuo .vimrc e vedi se aiuta. Cambia colorscheme desert in 'colorscheme desert .

Il modo migliore per evitare tali problemi è installare vim 7.3 dalle porte mac .

    
risposta data 17.05.2011 - 13:46
fonte
0

Ti consigliamo vivamente di utilizzare --with-override-system-vim di homebrew.

Installa MacVim e crea il link simbolico / usr / local / bin / vim. Funziona per riga di comando vim e invocazioni di EDITOR .

Ecco il comando:

brew install macvim --with-override-system-vim

(Nota a margine, la versione brew di MacVim funziona bene con il plugin YouCompleteMe)

    
risposta data 29.01.2016 - 02:02
fonte
-1

brew install vim

sudo ln -s /usr/local/Cellar/vim/<VIM_VERSION>/bin/vim /usr/bin/vim

A proposito, se OS è EI Capitan, devi disabilitare SIP come blow:

Come disabilitare SIP

    
risposta data 15.01.2016 - 09:44
fonte

Leggi altre domande sui tag