Reemplazado / usr / bin / vim - ahora recibo mensajes de error

7

Intenté actualizar la instalación predeterminada de vim en Mac OS X (vim 7.2) a la utilizada por MacVim (vim 7.3) creando un enlace simbólico:

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

Sin embargo, ahora recibo los siguientes mensajes de error:

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

¿Alguien sabe como arreglar esto? Si ejecuto solo vim o /Applications/MacVim.app/Contents/MacOS/Vim directamente, no obtengo los mensajes de error. Solo si se llama a /usr/local/bin/vim . Ya sea directamente oa través de otra aplicación de línea de comandos.

Solo si alguien comenta que podría haber creado un alias, lo hice antes

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

sin embargo, algunas otras herramientas de línea de comandos todavía estaban usando /usr/bin/vim .

    
pregunta znq 17.05.2011 - 13:31

6 respuestas

11

Este es un problema conocido. Desde :help MacVim :

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

Encontré que muchas personas obtienen una serie de errores E254 al usar un enlace simbólico. Consulte en el repositorio de problemas de MacVim. La solución sigue:

    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 con un script de shell de inicio, mvim . Puede asignar un alias a vim si prefiere usarlo en lugar del vim del sistema. Si desea iniciar vim en el terminal en lugar de como una aplicación gui, establezca el alias en mvim -v . Agregue export EDITOR=vim a su ~/.bash_profile para asegurarse de que las aplicaciones de la terminal estén usando el vim ahora con alias. Esto debería cubrir todas tus bases.

    
respondido por el michaelmichael 17.05.2011 - 16:15
4

Cambiar algo en / usr / bin no es la mejor manera de hacer las cosas, ya que Apple puede sobrescribirlo nuevamente.

Los errores son probablemente como dice @karmatic, pero probablemente lo mejor que se puede hacer aquí es poner el enlace simbólico en / usr / local / bin y hacer que su shell tenga eso en la ruta anterior a /usr/bin.

Por lo que sé, ninguna herramienta de línea de comandos usa / usr / bin / vi directamente (uso emacs, así que me gustaría tener que usar vi). local / bin

    
respondido por el Mark 17.05.2011 - 15:17
3

Todavía no tengo ningún representante, por lo que no puedo comentar sobre la respuesta de michaelmichael, pero según su respuesta, edité el script de envoltorio mvim para agregar otra declaración de caso. De modo que si $ nombre fuera vim , agregará la opción -v . Luego vinculé de forma simbólica /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)

Esto fue todo porque en algunos casos no podía confiar en que EDITOR se configurara o en alias, pero podía confiar en que / usr / local / bin estuviera en PATH.

    
respondido por el nnutter 29.04.2012 - 20:31
1

Parece que tiene algo que ver con tu combinación de colores. Desactiva el tema del desierto en tu .vimrc y ve si te ayuda. Cambie colorscheme desert a 'colorscheme desert .

La mejor manera de evitar este tipo de problemas es instalar vim 7.3 desde los mac ports .

    
respondido por el karmatic 17.05.2011 - 13:46
0

Recomiendo altamente el uso de --with-override-system-vim de homebrew.

Instala MacVim y crea el enlace simbólico / usr / local / bin / vim. Funciona para la línea de comando vim , así como invocaciones de EDITOR .

Aquí está el comando:

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

(En una nota lateral, la versión de MacVim funciona bien con el complemento YouCompleteMe)

    
respondido por el taj 29.01.2016 - 02:02
-1

brew install vim

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

Por cierto, si el sistema operativo es EI Capitan, tienes que deshabilitar SIP como un golpe:

¿Cómo deshabilito SIP

    
respondido por el Derek Chen 15.01.2016 - 09:44

Lea otras preguntas en las etiquetas