Je sais que cela pourrait être plus approprié chez Ask Different, mais comme j'ai essayé d'ajouter des balises là-bas, il n'y avait pas de vim
balise, seulement macvim
. Alors j'ai pensé que je pourrais avoir un meilleur public ici.
Dans le terminal, je fais ce qui suit
$ vim --version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Jan 31 2010 13:33:49)
Lorsque je navigue sur http://www.vim.org , je vois une actualité
Vim 7.3 est sorti!
Comment mettre à jour mon vim intégré? J'aimerais beaucoup le faire proprement (c'est-à-dire pas d'installations en double, ni de téléchargements supplémentaires, pas de macports, etc.)
J'ai envisagé d'utiliser Mercurial (car je l'utilise déjà pour d'autres choses), selon les instructions ici .
$ hg clone https://vim.googlecode.com.hg/ vim
$ cd vim/src
$ make
Mais je pense que cela ferait une installation en double. Malgré mon exigence "propre" comme mentionné ci-dessus, les solutions "impures" sont également les bienvenues, car il n'y a peut-être pas d'autre moyen.
/usr/local/
. Pas comme si ça allait prendre beaucoup de place.Réponses:
N'écrasez pas le Vim intégré.
Au lieu de cela, installez-le à partir de la source dans un emplacement différent ou via Homebrew ou MacPorts dans leur emplacement par défaut, puis ajoutez cette ligne à votre .bashrc ou .profile:
et / ou changer votre
$PATH
pour qu'il regarde son emplacement avant l'emplacement par défaut.La meilleure chose à faire, à mon avis, est simplement de télécharger le dernier MacVim qui est livré avec un exécutable vim très complet et de l'utiliser dans Terminal.app comme ça.
la source
/Applications/MacVim.app/Contents/MacOS/Vim
alias vim='mvim -v'
. Mais les deux échouent avec l'sudo vim
utilisation de l'ancienne version. Je suggérerais d'utiliser la réponse de @ RobertMartin ou un gestionnaire de paquets. Il y a aussi une autre option: cette réponse de Slizzered sur serverfault.com, qui vous permet de passer des alias àsudo
.git difftool
ougit commit
.Si je comprends bien les choses, vous voulez installer sur votre Vim existant, pour le meilleur ou pour le pire :-) C'est une mauvaise idée et ce n'est pas la manière "propre" de le faire. Pourquoi? Eh bien, OS X s'attend à ce que rien ne change jamais dans / usr / bin à son insu, donc chaque fois que vous écrasez des éléments là-dedans, vous risquez de briser une interdépendance complexe. Et, disons que vous cassez quelque chose - il n'y a aucun moyen de «réparer» ce dommage. Vous serez triste et seul. Vous devrez peut-être réinstaller OS X.
Partie 1: Une meilleure idée
La manière "propre" est d'installer dans un endroit séparé, et de donner une priorité plus élevée au nouveau binaire dans $ PATH. Voici comment je recommande de faire cela:
Voila! Maintenant, lorsque nous utiliserons vim, nous utiliserons le nouveau. Mais, pour revenir à notre ancienne configuration en cas d'énormes f * ckups, nous pouvons simplement supprimer le répertoire / opt.
Voyez à quel point c'est propre.
Je recommande de ne pas installer dans / usr / local / bin lorsque vous souhaitez remplacer les binaires dans / usr / bin, car par défaut, OS X place / usr / bin une priorité plus élevée dans $ PATH que / usr / local / bin, et vissant avec qui ouvre sa propre boîte de vers ... Alors, c'est ce que vous DEVRIEZ faire.
Partie 2: La "bonne" réponse (mais une mauvaise idée)
En supposant que vous êtes prêt à le faire, vous êtes définitivement sur la bonne voie. Pour installer en plus de votre installation actuelle, vous devez définir le répertoire "prefix". C'est fait comme ça:
Vous pouvez également passer "configure" quelques autres options, si vous le souhaitez. Faites "./configure --help" pour les voir. J'espère que vous avez une sauvegarde avant de le faire, au cas où quelque chose ne va pas ...
la source
~
, c'est- à -dire votre répertoire personnel, est complètement arbitraire. N'hésitez pas à le télécharger où vous le souhaitez. Une fois que vous l'avez installé, vous pouvez également supprimer le répertoire (la source n'est plus nécessaire à ce stade)../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
Comme Eric, j'ai utilisé l'homebrew, mais j'ai utilisé la recette par défaut. Alors:
Et après avoir redémarré le vim du terminal homebrew devrait être la valeur par défaut. Sinon, vous devez mettre à jour votre
$PATH
afin que ce/usr/local/bin
soit avant/usr/bin
. Par exemple, ajoutez ce qui suit à votre.profile
:la source
brew update
m'a en effet rendu une formule pour vim.vi
liens symboliques:[sudo] ln -sf /usr/local/bin/vim /usr/bin/vi
vi
lien symbolique vers/usr/local/bin
:ln -s /usr/local/bin/vim /usr/local/bin/vi
Une note à la réponse de romainl: les alias ne fonctionnent pas avec sudo car seul le premier mot est vérifié sur les alias. Pour changer cela, ajoutez un autre alias à votre .profile / .bashrc:
alias sudo='sudo '
Avec ce changement
sudo vim
se comportera comme prévu!la source
Sur Yosemite, installez vim en utilisant
brew
et l'override-system-vi
option. Cela installera automatiquement vim avec les fonctionnalités de l' installation «énorme» de vim .La sortie de cette commande vous montrera où brew a installé vim. Dans ce dossier, descendez dans
/bin/vim
pour exécuter réellement vim. Voici votre commande pour exécuter vim à partir de n'importe quel dossier:Puis alias cette commande en ajoutant la ligne suivante dans votre .bashrc:
EDIT: L'indicateur Brew
--override-system-vi
est obsolète. Changé pour--with-override-system-vi
. Source: https://github.com/Shougo/neocomplete.vim/issues/401la source
--override-system-vi
est désormais obsolète. Utilisez--with-override-system-vi
insted.brew install vim --override-system-vi
la source
Ce billet de blog m'a été utile. J'ai utilisé la solution "Homebrew built Vim", qui dans mon cas a enregistré la nouvelle version dans / usr / local / bin. À ce stade, le message suggérait de cacher le système vim, ce qui ne fonctionnait pas pour moi, j'ai donc utilisé un alias à la place.
la source
vim
semble ouvrir le nouveau vim (après l'ouverture d'un nouveau terminal)Je viens d'installer vim par:
maintenant le nouveau vim est accédé par
vim
et l'ancien vim (vim intégré) parvi
la source