¿Cuál es la diferencia entre MacVim y Vim normal?

216

Soy bastante nuevo en OS X, pero estoy familiarizado con Vim por usarlo en varios sistemas * nix. He visto a muchas personas recomendar ejecutar MacVim sobre Vim en la terminal. ¿Alguien puede decirme qué diferencias hay entre MacVim y Vim normal?

Mark Costello
fuente
2
Probablemente tenga que ver con las combinaciones de teclas compatibles con Mac (Ctrl vs teclas de comando)
ldog

Respuestas:

214

MacVim es solo Vim. Cualquier cosa que esté acostumbrado a hacer en Vim funcionará exactamente de la misma manera en MacVim.

MacVim está más integrado en todo el sistema operativo que Vim en la Terminal o incluso GVim en Linux, sigue muchas de las convenciones de Mac OS X.

Si trabaja principalmente con aplicaciones GUI ( YummyFTP + GitX + Charles , por ejemplo), puede preferir MacVim.

Si trabaja principalmente con aplicaciones CLI (ssh + svn + tcpdump, por ejemplo), puede preferir vim en el terminal.

Entrar y salir de un reino (CLI) para el otro (GUI) y viceversa puede ser "costoso".

Utilizo MacVim y Vim dependiendo de la tarea y el contexto: si estoy en CLI-land simplemente escribiré vim filename y si estoy en GUI-land simplemente invocaré Quicksilver e iniciaré MacVim.

Cuando cambié de TextMate, me gustó el hecho de que MacVim era compatible con casi todos los accesos directos habituales a los que los usuarios de Mac están acostumbrados. Agregué algunos de mis propios TextMate, pero como estaba trabajando en múltiples entornos, me obligué a aprender la forma vim. Ahora uso MacVim y Vim casi exactamente de la misma manera. Usar uno u otro es solo una cuestión de contexto para mí.

Además, como dijo El Isra, el vim predeterminado (CLI) en OS X está un poco desactualizado. Puede instalar una versión actualizada a través de MacPorts o puede instalar MacVim y agregar un alias a su .profile:

alias vim='/path/to/MacVim.app/Contents/MacOS/Vim'

tener el mismo vim en MacVim y Terminal.app.

Otra diferencia es que muchos grandes esquemas de colores funcionan en MacVim pero se ven terribles en Terminal.app, que solo admite 8 colores (+ resaltados), pero puede usar iTerm , que se puede configurar para admitir 256 colores. de la terminal.

Entonces ... básicamente mi consejo es usar ambos.

EDITAR: No lo intenté, pero se supone que la última versión de Terminal.app (en 10.7) admite 256 colores. Todavía estoy en 10.6.x en el trabajo, así que seguiré usando iTerm2 por un tiempo.

EDITAR: Una forma aún mejor de usar el ejecutable CLI de MacVim en su shell es mover el mvimscript incluido con MacVim en algún lugar de su $PATHy usar este comando:

$ mvim -v

EDITAR: Sí, Terminal.app ahora admite 256 colores. Entonces, si no necesita las funciones avanzadas de iTerm2, puede usar de forma segura el emulador de terminal predeterminado.

romainl
fuente
82
Homebrew es un administrador de paquetes indoloro frente a macports, una vez que homebrew se instala de manera simple brew install macvimy listo. mxcl.github.com/homebrew
Greg K
3
+1 para cerveza casera. He tenido mucha mejor suerte con brew que con macports. Aunque macports todavía tiene más paquetes que homebrew.
Chev
2
@ Greg cómo es macports más duro sudo port install macvim
pellucide
1
@pellucide Claro, instalar un paquete no es más doloroso. Pero en mi humilde opinión, la gestión de dependencias y los paquetes predeterminados del sistema operativo frente a los paquetes instalados es mucho más fácil en Homebrew. Además, sudonunca se requiere en homebrew.
Roy Tinker
12

La única razón que tengo para hacer que valga la pena cambiar a MacVim: Yank usa el portapapeles del sistema.

Finalmente puedo copiar y pegar entre MacVim en mi terminal y el resto de mis aplicaciones.

Janac Meena
fuente
13
También puede usar el *registro en la terminal VIM para tirar en el portapapeles del sistema. Qué IMO es mejor porque personalmente no siempre quiero sincronizar con mi portapapeles del sistema. Entonces, en VIM, cuando se tira de una línea, por ejemplo, se usa "*yypara copiar al portapapeles.
Luke Davis
1
vim.wikia.com/wiki/Accessing_the_system_clipboard - todo lo que tiene que hacer es agregar una línea a su .vimrc para que esto también sea predeterminado
Jim Deville
1
Si desea tirar al portapapeles en la terminal vim, simplemente agregue un +, por ejemplo, si desea copiar todo el contenido al portapapeles:%y+
smallwat3r
3

desafortunadamente, con "mvim -v", ALT más las ventanas de flecha todavía no funcionan. No he encontrado ninguna forma de habilitarlo :-(

Daniel Pinyol
fuente
Gracias por el mvimcomando, instalé MacVim a través de HomeBrew pero no sabía que había un comando predeterminado de enlace simbólico. ¡Gracias!
Roy Tinker el
1

Se trata de las combinaciones de teclas que se pueden lograr simplemente con las configuraciones .vimrc. En lo que respecta al portapapeles, puede usarlo :set clipboard unnamedy el tirón de vim irá al portapapeles del sistema. De todos modos, cualquiera que termine usando, sugiero usar esta configuración de vimrc , contiene una gran cantidad de complementos y enlaces que harán que su experiencia sea fluida.

Manish Baghel
fuente