¿Cómo ejecutar mvim (MacVim) desde la Terminal?

258

Tengo instalado MacVim y estoy tratando de configurarlo como editor de Git (control de versiones), pero no puedo ejecutar 'mvim' desde la línea de comandos, ya que no se reconoce. ¿Cómo configuro mvim para poder ejecutarlo desde la Terminal?

Fred
fuente
3
Intenta vimdesde la línea de comandos.
Pavium
44
Descargo de responsabilidad: esto funcionaría para Linux, así que supongo que es similar en una Mac. Intente ver la ruta (use " echo $PATH") y agregue la carpeta al ejecutable de MacVim si aún no está allí (use " export PATH=$PATH:path/to/folder"). ¡Cuidado con las $señales, son importantes!
laura

Respuestas:

190

Debería haber un script llamado mvim en la raíz del archivo .bz2. Copie esto en algún lugar en su $ PATH (/ usr / local / bin sería bueno) y debería estar ordenado.

Gordon Robertson
fuente
9
¿Dónde encuentras el archivo bz2?
jnthnclrk
2
Hace un año eso fue lo que obtuviste cuando descargaste MacVim. Ahora es un archivo .tbz, pero el script sigue ahí.
Gordon Robertson
55
Puede ubicar el archivo utilizando find de su directorio raíz. sudo find . -name mvimLa mía estaba en / Aplicaciones / MacVim-snapshot-64 / mvim.
tltjr
19
Dado que mvim es simplemente un script de shell, puede descargarlo directamente desde la fuente de MacVim en GitHub aquí: raw.github.com/b4winckler/macvim/master/src/MacVim/mvim
Brad Parks
3
Según: help mvim, tuve que agregar /Applications/MacVim.app/Contents/bina mi camino y luego funcionó bien.
hraynaud
210

No creo que deba agregar nada al camino

brew install macvim

mvim -v

luego debe abrir macvim en la terminal, también puede continuar y alias que

alias vim='mvim -v'
Swapneel Patil
fuente
38
Cualquiera que lea esto hoy usando homebrew tendrá que ejecutar brew linkappsdespués de instalar macvim.
Aaron Lake
1
La opción '-v' funciona si ha instalado desde la fuente o desde la descarga, como se muestra en otras respuestas.
Bryan Head
77
brew linkapps --systemsi lo desea en su carpeta / Aplicaciones.
mk12
Si la ejecución brew linkappsno ayudó, también ejecute brew doctory esté atento a los mensajes de advertencia relacionados con macvim; es posible que deba ejecutar brew link --overwrite macvimsi se lo sugieren.
Arte el
Con esta bandera -v por alguna razón, cambiar la fuente no funciona.
Ixx
106

Si sigue la ruta de preparación, la mejor manera de instalar sería:

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

Eso proporcionará mvim, vim, vi, view, etc. en / usr / local / bin (todos vinculados a la copia en la bodega). Esto también elimina la necesidad de crear alias y también cambia su vi, vim, etc. para que todos usen la misma distribución de Vim que su MacVim.

Sean Chou
fuente
Mientras que la --override-system-vimhe creado algunos de los enlaces simbólicos para mí, no para anular /usr/bin/vimy /usr/bin/vipor lo que todavía tenía que manualmente aliasestos en mi .profile.
davetapley
12
Dave, eso suena como un problema de RUTA, / usr / local / bin debe ser el primero en tu RUTA. Esta respuesta, apuntando a brew, debería ser la respuesta número uno, ya que le brinda todo lo que necesita.
Jason Yanowitz
3
fyi running brew doctordebería notificarle sobre cualquier ruta o problemas de configuración para brew.
Andrew
¡Increíble! Gracias por publicar esto. Agregué --override-system-vim y ni siquiera me di cuenta de lo útil que sería.
xer0x
Esto no funcionó para mí, ¿no estoy seguro de que este argumento todavía funcione?
ftrotter
43

Además, si desea usar MacVim (o GVim) como $VISUALo $EDITOR, debe tener en cuenta que, de forma predeterminada, MacVim bifurcará un nuevo proceso del padre, lo que provocará que el valor de retorno de MacVim no llegue al proceso padre. Esto puede confundir a otras aplicaciones, pero Git parece verificar el estado de un archivo de mensaje de confirmación temporal, lo que evita esta limitación. En general, es una buena práctica export VISUAL='mvim -f'asegurarse de que MacVim no bifurcará un nuevo proceso cuando se lo llame, lo que debería darle lo que desea cuando lo usa con su entorno de shell.

hakamadare
fuente
30

Si ya tiene instalado macVim: /Applications/MacVim.app/Contents/MacOS/Vim -gle dará la GUI de macVim.

solo agrega un alias.

Yo uso gvimporque eso es lo que uso en Linux para gnome-vim.

alias gvim='/Applications/MacVim.app/Contents/MacOS/Vim -g'

gcb
fuente
1
También usar alias vim=/Applications/MacVim.app/Contents/MacOS/Vimes una gran idea. Entonces no necesita instalar MacVim a través de MacPorts o Homebrew para actualizar Vim en su terminal, solo puede instalar los paquetes de lanzamiento desde la página de lanzamiento de GitHub.
w0rp
Nota: también es útil si homebrew se niega a instalar macvim porque permanece en "esta versión anterior" de macOS por cualquier motivo. :)
tekHedd
24

Suponga que MacVim está instalado en la carpeta Aplicación.

En lugar de agregar la ruta MacVim a su entorno, cree un enlace escribiendo esto en la terminal:

sudo ln -s /Applications/MacVim.app/Contents/bin/mvim /usr/local/bin/mvim

Luego, abra una nueva ventana / pestaña de terminal y escriba mvim.

ccerhan
fuente
18

Si tiene instalado HomeBrew , esto es todo lo que tiene que hacer:

brew install macvim
brew linkapps

Luego escriba mvimsu terminal para ejecutar MacVim.

Muhammad Reda
fuente
Bueno, así es como hacerlo con una instalación nueva, creo que está preguntando cómo hacer un alias cuando ya está instalado.
JackHasaKeyboard
1
Advertencia: brew linkappsha quedado en desuso y finalmente se eliminará.
Mark
13

Esto es lo que hice:

Después de construir Macvim, copié mvim en uno de mis destinos $ PATH (en este caso elegí / usr / local / bin)

cp -v [MacVim_source_folder]/src/MacVim/mvim /usr/local/bin

Luego, cuando invocas mvim, ahora se reconoce, pero hay algo molesto. Abre la ventana visual de MacVim, no la de la terminal. Para hacer eso, tienes que invocar

mvim -v

Para asegurarse de que cada vez que llame a mvim no tenga que acordarse de agregar '-v', puede crear un alias:

alias mvim = 'mvim -v'

Sin embargo, este alias solo persistirá para esta sesión de la Terminal. Para ejecutar este alias cada vez que abre una ventana de Terminal, debe incluirlo en su perfil. El perfil debe estar en su directorio de inicio. Si no es así, créelo.

cd ~
mvim -v .profile

incluye el comando alias allí y guárdalo.

Eso es.

Douglas
fuente
Intenté esto pero no funcionó para mí. VIM_APP_DIR = ~ / Downloads / MacVim-snapshot-64 / MacVim.app $ mvim -v xx Lo sentimos, no puedo encontrar MacVim.app. Intente configurar la variable de entorno VIM_APP_DIR en el directorio que contiene MacVim.app.
Michael Durrant
Esto funciona cuando construyes MacVim desde la fuente, github.com/macvim-dev/macvim/blob/master/README_mac.txt , gracias @douglas
mbenegas
1
Probablemente mejor ln -sque cpeso.
nnutter
1
Con este -vcambio de bandera, la fuente no funciona. -vhabilita el modo vi. Puede imaginar que otras cosas no funcionan en este modo, además de configurar una fuente personalizada.
Ixx
11

Estoy agregando el comentario de Bard Park aquí porque esa fue la verdadera respuesta para mí:

Dado que mvim es simplemente un script de shell, puede descargarlo directamente desde la fuente de MacVim en GitHub aquí: http://raw.github.com/b4winckler/macvim/master/src/MacVim/mvim

OscarRyz
fuente
/ usr / local / bin estaba en mi RUTA, pero la carpeta bin estaba ausente. Tuve problemas para trabajar directamente en / usr / local (probablemente un problema de permisos), así que creé un directorio bin en mi carpeta Documentos. Allí creé un archivo mvim, en el que copié el contenido del enlace de Bard Park. Arrastré la carpeta bin con el script mvim a / usr / local. Me pidieron mi contraseña, luego me permitieron colocar el script mvim donde lo quería. Pero el script aún no se ejecutó. Ingresé: sudo chmod 755 mvim para dar permisos de ejecución al script. Ahora desde la línea de comandos cuando escribo mvim filename, se inicia MacVim.
Jerry Frost
Para arrastrar la carpeta bin a / usr / local, primero ingresé: abrir. desde la línea de comando en / usr / local. Al hacerlo, aparecerá la GUI del buscador para esa ubicación de archivo.
Jerry Frost
8

Recomiendo seriamente instalar MacVim a través de MacPorts ( sudo port install MacVim).

Cuando se instala, MacPorts actualiza automáticamente su perfil para incluir / opt / local / bin en su ruta, y cuando mvim se instala como / opt / local / bin / mvim durante la instalación de MacVim, lo encontrará listo para usar de inmediato .

Cuando instala el puerto MacVim, el paquete MacVim.app también se instala en / Aplicaciones / MacPorts para usted.

Lo bueno de ir a la ruta MacPorts es que también podrás instalar git ( sudo port install git-core) y muchos otros puertos. Muy recomendable.

ianmjones
fuente
1
Gracias, intentaré esto. Instalé MacVim y Git usando los instaladores de la interfaz de usuario. Pero parece que Macports es el camino a seguir.
Fred
56
No use versiones de puerto mac a menos que sea absolutamente necesario. Instala todas las bibliotecas de dependencias ignorando las nativas de darwin. Esto puede, por ejemplo, reemplazar su perl 5.10 con 5.8 en la ruta, etc. Compruebe en su lugar el sistema homebrew (brew).
Slava Nadvorny
3
@SlavaNadvorny tal vez sea cierto cuando esto se escribió. Actualmente tengo un entorno de desarrollo con MacVim, scipy, haskell, múltiples versiones de erlang, python y perl que funcionan correctamente con macports. Lo mismo no fue posible con brew (en este momento esto fue escrito). Me gusta la instalación no sudo de brew y deseé que funcionara en este caso.
Usar homebrew también funciona muy bien brew install macvim.
Chev
2

Esto funciona para mi:

λ brew link --overwrite macvim
Linking /usr/local/Cellar/macvim/8.0-146_1... 12 symlinks created
AurevoirXavier
fuente
2

Para .apppaquetes de Mac , debe instalarlos a través de barril, si está disponible, ya que el uso de enlaces simbólicos puede causar problemas. Incluso puede recibir la siguiente advertencia si brew linkapps:

Desafortunadamente brew linkapps, no puede comportarse bien con, por ejemplo, Spotlight utilizando alias o enlaces simbólicos, y las fórmulas de Homebrew no crean .app paquetes "adecuados" que se pueden reubicar. En su lugar, considere usar brew casky migrar fórmulas usando .apps a barriles.

Para MacVim, puede instalar con:

brew cask install macvim

Entonces debería poder iniciar MacVim como lo hace con cualquier otra aplicación macOS, incluida mvimo open -a MacVimdesde una sesión de terminal.

ACTUALIZACIÓN : Un poco de aclaración sobre brewy brew cask. En pocas palabras, brewmaneja el software en el nivel de Unix, mientras que brew caskextiende la funcionalidad brewal dominio de macOS para una funcionalidad adicional, como el manejo de la ubicación de paquetes de aplicaciones de macOS. Recuerde que brewtambién se implementa en Linux, por lo que tiene sentido tener esta división. Hay otros recursos que explican la diferencia con más detalle, como ¿Cuál es la diferencia entre brewy brew cask? así que no diré mucho más aquí.

Ryan H.
fuente
¿Podríamos agregar alguna claridad sobre cuál es la diferencia entre usar la instalación de cask y la instalación de no cask? Es difícil saber cuáles son las diferencias cuando funcionan los comandos de instalación de cask y no cask ...
ftrotter
Agregué una breve reseña pero no conozco todos los detalles, así que no entré en detalles.
Ryan H.