113 votes

Mise à jour intégré dans vim sur Mac OS X

Je sais que cela pourrait être plus approprié pour Poser des Différents, mais que j'ai essayé d'ajouter des balises, il n'y a pas de vim balise, seulement macvim. J'ai donc pensé que je pourrais obtenir une meilleure audience ici.

Dans le Terminal, je ne les suivants

$ vim --version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Jan 31 2010 13:33:49)

Quand je navigue à http://www.vim.orgje vois une news

Vim 7.3 publié!

Comment puis-je mettre à jour mon intégrée dans vim? J'aimerais beaucoup le faire proprement (c'est à dire pas des installations, ou les téléchargements supplémentaires, pas de macports, etc.)

J'ai considéré l'utilisation de Mercurial (comme je l'ai déjà utiliser pour d'autres choses), selon les instructions ici.

$ hg clone https://vim.googlecode.com.hg/ vim
$ cd vim/src
$ make

Mais je pense que ce serait de faire un double de l'installation. Malgré mon "propre" exigence comme mentionné ci-dessus, "impur" des solutions sont également les bienvenus, car peut-être il n'y a vraiment pas d'autre moyen.

134voto

Robert Martin Points 5480

Si je comprends les choses correctement, vous souhaitez installer sur votre existant Vim, pour le meilleur ou pour le pire :-) C'est une mauvaise idée et c'est pas la manière "propre" de le faire. Pourquoi? Eh bien, OS X s'attend à ce que rien ne changera jamais dans /usr/bin à l'insu de ça, donc, à tout moment vous écraser des trucs là vous risquez de casser une sorte de complexe d'interdépendance. Et, disons que vous cassez quelque chose, il n'y a aucun moyen de "défaire" ce préjudice. Vous serez triste et seul. Vous pourriez avoir à réinstaller OS X.

Partie 1: Une meilleure idée

La manière "propre" est de l'installer dans un endroit séparé, et de faire le nouveau binaire plus élevé de priorité dans le $PATH. Voici comment je recommande de le faire:

$ # Create the directories you need
$ sudo mkdir -p /opt/local/bin
$ # Download, compile, and install the latest Vim
$ cd ~
$ hg clone https://code.google.com/p/vim/
$ cd vim
$ ./configure --prefix=/opt/local
$ make
$ sudo make install
$ # Add the binary to your path, ahead of /usr/bin
$ echo 'PATH=/opt/local/bin:$PATH' >> ~/.bash_profile
$ # Reload bash_profile so the changes take effect in this window
$ source ~/.bash_profile

Voila! Maintenant, quand nous utiliser vim, nous allons utiliser l'ancien. Mais, pour en revenir à notre ancienne configuration dans le cas d'énormes f*ckups, il nous suffit de supprimer le répertoire /opt.

$ which vim
/opt/local/bin/vim
$ vim --version | head -n 2
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Aug 27 2011 20:55:46)
MacOS X (unix) version

Voir comment nettoyer c'est.

Je vous recommande de ne pas l'installer dans /usr/local/bin lorsque vous voulez remplacer les fichiers binaires dans /usr/bin, parce que, par défaut d'OS X met /usr/bin priorité plus élevée dans $PATH que /usr/local/bin, et le vissage avec qui ouvre sa propre boîte de pandore.... Donc, c'est ce que vous DEVRIEZ faire.

Partie 2: La réponse "correcte" (mais une mauvaise idée)

En supposant que vous êtes décidé à faire cela, vous êtes certainement sur la bonne voie. À installer sur le dessus de votre installation actuelle, vous devez définir le "préfixe" répertoire. C'est fait comme ceci:

hg clone https://code.google.com/p/vim/
cd vim
./configure --prefix=/usr
make
sudo make install

Vous pouvez passer de "configurer" un peu de vos autres options, si vous le souhaitez. Faire "./configure --help" pour voir. J'espère que vous avez une sauvegarde avant de le faire, même si, dans le cas où quelque chose va mal....

119voto

romainl Points 55506

N'écrasez pas les construit-dans Vim.

Au lieu de cela, l'installer à partir des sources dans un emplacement différent ou via Homebrew ou MacPorts dans leur emplacement par défaut puis ajoutez cette ligne à votre .bashrc ou .profil:

alias vim='/path/to/your/own/vim'

et/ou de modifier votre $PATH , de sorte qu'il ressemble à son emplacement avant de l'emplacement par défaut.

La meilleure chose à faire, à mon avis, est tout simplement de télécharger la dernière MacVim qui est livré avec un ensemble très complet de vim exécutable et de l'utiliser dans le Terminal.app comme si.

alias vim='/Applications/MacVim.app/Content/MacOS/vim' # or something like that, YMMV

57voto

Koen. Points 3570

Comme Eric, j'ai utilisé homebrew, mais j'ai utilisé la recette par défaut. Donc:

brew install mercurial
brew install vim

Et après le redémarrage du terminal homebrew de vim doit être la valeur par défaut. Si non, vous devez mettre à jour votre $PATH afin /usr/local/bin avant /usr/bin. E. g. ajoutez les lignes suivantes à votre .profile:

export PATH=/usr/local/bin:$PATH

7voto

jayeff Points 476

Une note de romainl réponse: les alias ne travaillent pas ensemble avec sudo car seul le premier mot est vérifié sur les alias. Pour changer cela, ajoutez un alias pour votre .profil / .bashrc:

alias sudo='sudo '

Avec ce changement, sudo vim va se comporter comme prévu!

0voto

Eric Brotto Points 11383

Cette solution simple a fonctionné pour moi. Bien que vous pourriez avoir besoin d'installer Homebrew , suivie de l'installation Mercurial à l'avance.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X