7 votos

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

Intenté actualizar la instalación por defecto 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 cómo arreglar esto? Si ejecuto sólo vim o /Applications/MacVim.app/Contents/MacOS/Vim directamente no recibo los mensajes de error. Sólo si /usr/local/bin/vim se llama. Ya sea directamente o a través de otra aplicación de línea de comandos.


Sólo si alguien comenta que podría haber creado simplemente un alias, de hecho lo hice antes

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

Sin embargo, algunas otras herramientas de línea de comandos seguían utilizando /usr/bin/vim .

0 votos

En realidad, la lista completa de los colores fg disponibles está codificada. github.com/b4winckler/macvim/blob/master/src/

11voto

michaelmichael Puntos 2213

Este es un problema conocido. En :help MacVim :

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

Encontré mucha gente que recibía una serie de errores E254 por usar un enlace simbólico. Ver este billete en el repositorio de problemas de MacVim. La solución es la siguiente:

    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 shell de inicio script, mvim . Puedes ponerle un alias a vim si prefiere utilizarlo en lugar del vim del sistema. Si desea iniciar vim en la terminal en lugar de como una aplicación gui, establezca el alias a mvim -v . Añada export EDITOR=vim a su ~/.bash_profile para asegurarse de que cualquier aplicación de terminal está utilizando el vim ahora suavizado. Esto debería cubrir todas sus bases.

4voto

yoliho Puntos 340

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

Los errores son probablemente como dice @karmatic pero probablemente lo mejor es poner el enlace simbólico en /usr/local/bin y hacer que tu shell tenga eso en la ruta antes que /usr/bin.

Hasta donde yo sé, ninguna herramienta de línea de comandos utiliza /usr/bin/vi directamente (yo uso emacs, por lo que me daría cuenta de tener que usar vi) Lo que hacen es usar la variable de entorno $EDITOR, así que ponla en /usr/local/bin

3voto

Rossi Puntos 131

Todavía no tengo ningún rep por lo que no puedo comentar la respuesta de michaelmichael pero en base a su respuesta he editado el mvim wrapper script para añadir otra sentencia case. De manera que si $nombre era vim añadirá el -v opción. A continuación, hice un enlace simbólico con /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)

Todo esto se debe a que en algunos casos no podía confiar en que EDITOR estuviera configurado o en los alias, pero podía confiar en que /usr/local/bin estuviera en el PATH.

1voto

Ray Hayes Puntos 127

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

La mejor manera de evitar estos problemas es instalar vim 7.3 desde el puertos mac .

0 votos

Por desgracia, no. Ya lo he intentado antes. Entonces no consigo el E185: Cannot find color scheme desert error, pero aún así todos los demás.

0voto

taj Puntos 1

Recomiendo encarecidamente el uso de homebrew's --with-override-system-vim .

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

Aquí está el comando:

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

(Por otro lado, la versión de MacVim funciona bien con el plugin YouCompleteMe)

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X