Sé que esto podría ser más apropiado en Ask Different, pero cuando intenté agregar etiquetas allí, no había ninguna vim
etiqueta, solo macvim
. Así que pensé que podría tener una mejor audiencia aquí.
En la Terminal, hago lo siguiente
$ vim --version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Jan 31 2010 13:33:49)
Cuando navego a http://www.vim.org , veo una noticia
¡Vim 7.3 lanzado!
¿Cómo actualizo mi vim integrado? Me gustaría mucho hacerlo de forma limpia (es decir, sin instalaciones duplicadas o descargas adicionales, sin macports, etc.)
Consideré usar Mercurial (como ya lo uso para otras cosas), según las instrucciones aquí .
$ hg clone https://vim.googlecode.com.hg/ vim
$ cd vim/src
$ make
Pero creo que eso haría una instalación duplicada. A pesar de mi requisito de "limpieza" como se mencionó anteriormente, las soluciones "sucias" también son bienvenidas, ya que tal vez realmente no haya otra manera.
/usr/local/
. No es que vaya a ocupar mucho espacio.Respuestas:
No sobrescriba el Vim incorporado.
En su lugar, instálelo desde la fuente en una ubicación diferente o mediante Homebrew o MacPorts en su ubicación predeterminada y luego agregue esta línea a su .bashrc o .profile:
y / o cambie el suyo
$PATH
para que mire su ubicación antes que la ubicación predeterminada.Lo mejor que se puede hacer, en mi opinión, es simplemente descargar el último MacVim que viene con un ejecutable vim muy completo y usarlo en Terminal.app así.
fuente
/Applications/MacVim.app/Contents/MacOS/Vim
alias vim='mvim -v'
. Pero ambos fallan alsudo vim
usar la versión anterior. Sugeriría usar la respuesta de @ RobertMartin o un administrador de paquetes. También hay otra opción: esta respuesta de Slizzered en serverfault.com, que le permite pasar alias asudo
.git difftool
ogit commit
.Si entiendo las cosas correctamente, desea instalar sobre su Vim existente, para bien o para mal :-) Esta es una mala idea y no es la forma "limpia" de hacerlo. ¿Por qué? Bueno, OS X espera que nada cambie en / usr / bin sin que él lo sepa, por lo que cada vez que sobrescribe cosas allí, corre el riesgo de romper alguna interdependencia intrincada. Y digamos que rompes algo, no hay forma de "deshacer" ese daño. Estarás triste y solo. Es posible que deba reinstalar OS X.
Parte 1: una mejor idea
La forma "limpia" es instalar en un lugar separado y hacer que el nuevo binario tenga mayor prioridad en $ PATH. Así es como recomiendo hacerlo:
¡Voila! Ahora, cuando usemos vim, usaremos el nuevo. Pero, para volver a nuestra configuración anterior en caso de grandes jodidas, podemos simplemente eliminar el directorio / opt.
Mira lo limpio que está esto.
Recomiendo no instalar en / usr / local / bin cuando desee anular los binarios en / usr / bin, porque de forma predeterminada OS X pone / usr / bin una prioridad más alta en $ PATH que / usr / local / bin, y jugando con que abre su propia lata de gusanos ... Entonces, eso es lo que DEBE hacer.
Parte 2: La respuesta "correcta" (pero una mala idea)
Suponiendo que esté decidido a hacer eso, definitivamente va por buen camino. Para instalar sobre su instalación actual, necesita establecer el directorio "prefijo". Eso se hace así:
También puede pasar "configurar" algunas otras opciones, si lo desea. Haga "./configure --help" para verlos. Sin embargo, espero que tengas una copia de seguridad antes de hacerlo, en caso de que algo salga mal ...
fuente
~
, es decir, su directorio de inicio, es completamente arbitrario. No dudes en descargarlo donde quieras. Una vez que lo haya instalado, también puede eliminar el directorio (la fuente ya no es necesaria en ese momento)../configure --prefix /opt/local --enable-perlinterp=yes --enable-pythoninterp=yes --enable-rubyinterp=yes --with-features=huge --with-python-config-dir=/System/Library/Frameworks/Python.framework/Versions/2.7
Al igual que Eric, usé homebrew, pero usé la receta predeterminada. Entonces:
Y después de reiniciar el terminal, el vim de homebrew debería ser el predeterminado. Si no es así, debe actualizar su
$PATH
para que/usr/local/bin
sea antes/usr/bin
. Por ejemplo, agregue lo siguiente a su.profile
:fuente
brew update
hecho, A me devolvió una fórmula para vim.vi
enlaces simbólicos:[sudo] ln -sf /usr/local/bin/vim /usr/bin/vi
vi
/usr/local/bin
ln -s /usr/local/bin/vim /usr/local/bin/vi
Una nota a la respuesta de romainl: los alias no funcionan junto con sudo porque solo se verifica la primera palabra en los alias. Para cambiar esto, agregue otro alias a su .profile / .bashrc:
alias sudo='sudo '
¡Con este cambio
sudo vim
se comportará como se esperaba!fuente
En Yosemite, instale vim usando
brew
y laoverride-system-vi
opción. Esto instalará automáticamente vim con las características de la instalación de vim 'enorme' .La salida de este comando le mostrará dónde brew instaló vim. En esa carpeta, vaya a
/bin/vim
para ejecutar vim. Este es su comando para ejecutar vim desde cualquier carpeta:Luego, alias este comando agregando la siguiente línea en tu .bashrc:
EDITAR: La bandera de elaboración
--override-system-vi
ha quedado obsoleta. Cambiado por--with-override-system-vi
. Fuente: https://github.com/Shougo/neocomplete.vim/issues/401fuente
--override-system-vi
elaboración ahora está obsoleta. Utilice--with-override-system-vi
insted.brew install vim --override-system-vi
fuente
Esta publicación de blog fue útil para mí. Usé la solución "Homebrew built Vim", que en mi caso guardó la nueva versión en / usr / local / bin. En este punto, la publicación sugirió ocultar el sistema vim, que no funcionó para mí, así que usé un alias en su lugar.
fuente
vim
pareció abrir el nuevo vim (después de abrir una nueva Terminal)Acabo de instalar vim por:
ahora se accede al nuevo vim
vim
y al antiguo vim (vim incorporado) porvi
fuente