Estoy usando MacVim y cuando no lo ejecuto desde la Terminal ( mvim
) su $ PATH no incluye lo que he configurado en mi .bash_profile. Sólo parece tener los valores por defecto, /usr/bin:/bin:/usr/sbin:/sbin
.
Estoy ejecutando OS X 10.5.8. Incluso si pudiera configurarlo manualmente en mi .vimrc, estaría bien, aunque preferiría que se extraiga del mismo lugar que Terminal. He intentado seguir lo que sugirió un sitio, let $PATH += /blah/foo:/bar/etc
sin obtener resultados.
Edición / Solución: vea mi respuesta a continuación. MacVim tiene una opción para solucionar esto.
Respuestas:
MacVim parece estar obteniendo el $ PATH de una manera que ignora los archivos de puntos personalizados de un usuario normal.
No puedo decir por qué prefieren hacerlo de esta manera, pero parece ser cierto. En las preferencias (en la pestaña Avanzado), puede elegir "Iniciar procesos de Vim en un shell de inicio de sesión", pero solo mejora
$PATH
ligeramente para mí.Lo mejor que puedo decir es que MacVim usa
/usr/libexec/path_helper
, que a su vez usa los elementos encontrados (1) en el/etc/paths
archivo y (2) cualquier cosa adicional encontrada en el/etc/paths.d/
directorio. Cualquier cambio realizado en el directorio de inicio de un usuario (a través de.profile
o similar) se ignora.En pocas palabras, obtienes los valores predeterminados de OSX, además de las aplicaciones a las que se agregan
/etc/paths.d
. (Por ejemplo, MacTex lo hace en mi sistema). Entonces, si desea ajustar su ruta MacVim, una forma sería agregar un archivo con elementos/etc/paths.d
. (No editaría directamente/etc/paths
desde entonces, corre el riesgo de que los cambios se deshagan con las actualizaciones del sistema).Gracias por dejarme saber esto. Me voy a presentar un error de lista de deseos en MacVim.
fuente
/etc/paths.d
, aparece la próxima vez que arranque MacVim. ¿Qué formato estás poniendo ahí? Debe ser un elemento por línea, creo, con un directorio $ PATH en cada línea (por ejemplo, / usr / texbin).Por cierto, la preferencia "Iniciar procesos Vim en un shell de inicio de sesión" ya no está disponible en MacVim (al menos no v7.3). Veo que al iniciar MacVim desde el Finder se obtiene la ruta incorrecta, pero al iniciarlo desde un shell (como "mvim") se obtiene la ruta correcta.
fuente
No proviene de .bash_profile, pero puede usar esto en su .vimrc:
Debe tener el: o no será una variable PATH correcta.
fuente
/usr/bin/vim
de Apple) como/opt/local/bin/vim
(de MacPorts), y parece innecesario. Vim en la terminal ya recoge el $ PATH adecuado según el origen de mis archivos de puntos.No puedo creer que no haya visto esto antes. Vale, puedo creerlo. De todos modos, MacVim viene con una opción que resuelve esto. En Preferencias, simplemente marque "Iniciar procesos de Vim en un shell de inicio de sesión". Eso es, funciona. Elegante. Estúpido yo.
Ups
Accidentalmente escribí esta respuesta sin darme cuenta de que Telémaco ya me había dado la respuesta correcta . Marcó la suya como la respuesta.
fuente
Este artículo de Mac Dev Center puede ser de alguna utilidad.
fuente
No tuve problemas para agregar un archivo al directorio path.d. Agregué un archivo llamado mysql, cuyo contenido era:
/ usr / local / mysql / bin [Volver]
Luego coloqué este archivo en el directorio caminos.d, y cambié su propiedad a root: wheel. Ahora el directorio mysql se agrega automáticamente a mi variable $ PATH.
No investigué completamente, pero posiblemente (a) incluyendo el [RETORNO] al final de la línea, y / o (b) estableciendo la propiedad del archivo como raíz, podría ser necesario.
fuente
MacVim será fuente
~/.zprofile
y/etc/profile
, por lo que puede poner suPATH
configuración allí.Consulte https://github.com/b4winckler/macvim/wiki/Troubleshooting#for-zsh-users y esta pregunta sobre Stack Overflow .
(Probado con MacVim versión 7.3 (65)).
fuente
Me encontré con esto hoy. MacVim ya no tiene la opción "shell de inicio de sesión", y la edición de archivos de todo el sistema para una configuración específica del usuario es incompleta.
Aquí hay una solución que usa solo opciones vim (ver
:help :!
y:help shell
).En tu
~/.vimrc
agregar las líneasEsto hace que
bash
su shell predeterminado sea (Mac) Vim, y agrega la-l
bandera (shell de inicio de sesión) a los comandos invocados con:!{cmd}
. Al ejecutar:shell
, bash se inicia como un "shell interactivo que no es un shell de inicio de sesión".Para hacer el
$PATH
trabajo, necesita tenerlo configurado~/.bash_profile
para:!
y~/.bashrc
para:shell
. (VerINVOCATION
enman bash
)ACTUALIZACIÓN: Esto no era necesario en mi otra computadora, por lo que es probable que haya otra cosa que sea la causa raíz.
fuente
$PATH
en.zprofile
, e incluyen la-l
bandera en cualquieraset shell
oset shellcmdflag
.Sé más sobre Unix que sobre Mac, por lo que los siguientes consejos pueden o no funcionar. Intenta poner este tu archivo .vimrc:
Eso podría hacer el truco, pero hay una pequeña advertencia: el .bash_profile solo debe obtenerse una vez. Puede contener algunos comandos no idempotentes (cosas que solo deberían ejecutarse una vez). Caso en punto:
Cuanto más se llama, más grande y más redundante se
$PATH
vuelve. Sin embargo, si eso no es un gran problema, la recomendación en Unix sería poner el comando de una sola vez~/.bashrc
y ejecutarlosource ~/.bashrc
desde su.vimrc
archivo.fuente
:source .bash_profile
pero aparece un error "No es un comando del editor" para cada comando en el archivo y lo mismo con .bashrc.¡Hice una pregunta muy similar en el sitio Vim StackExchange y publiqué una respuesta allí que me funciona!
fuente