La meilleure façon de faire de vim de MacVim (console, pas mvim) la valeur par défaut à la place de vim de Mac OS X?

101

J'ai installé MacVim en utilisant homebrew. ( brew install macvim) Si j'appelle mvimde cmd, il ouvre l'interface graphique MacVim.

Je voudrais faire vimappeler le Vim ( /Users/user/Applications/MacVim.app/Contents/MacOS/Vim) de MacVim au lieu du /usr/bin/vimvim du système ( ). Quelle est la meilleure façon de le faire? Je sais que je peux faire un alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim"mais je ne sais pas si c'est la meilleure approche ...

EDIT : Les gars, merci pour toutes vos réponses, mais en effet, puisque je l'utilise déjà homebrew, utiliser le --override-system-vimest la manière élégante d'accomplir ce dont j'ai besoin.

Quelqu'un utilise encore vous MS-DOS
la source
Quelle est la différence entre vim de console MacVim et vim tout simplement normal dans Terminal?
Hobbes3
2
@ hobbes3, le vim livré avec osx ne prend pas en charge le support ruby ​​ou python. Le logiciel vim de MacVim le fait. Ce qui est nécessaire si vous voulez utiliser des plugins comme Command-T
asgeo1
Le vim fourni avec OS X ne prend pas non plus en charge le presse-papiers freakin '.
Thanatos

Réponses:

136

Je crois que c'est ce que vous cherchez:

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

Cela créera les liens symboliques vim, vimdiff, etc. vers mvim dans / usr / local / bin / vim, et tant que / usr / local / bin est avant / usr / bin dans votre PATH, vous obtiendrez les résultats escomptés. re cherche.

Les versions précédentes de Brew utilisaient le commutateur --override-system-vimqui était obsolète.

kejadlen
la source
3
Depuis que j'ai dit que j'utilisais déjà l'homebrew, je pense que c'est effectivement la meilleure option: je ne savais pas que cette option était possible. Merci!
Quelqu'un t'utilise encore MS-DOS le
2
Techniquement, il s'agit d'un joyau caché dans la formule vim, plutôt que de l'homebrew lui-même. :)
kejadlen
Je me demande si je supprime du macvim dans une infusion, est-ce que cela supprimera le macvim et laissera le vim d'origine? Ou ce sera aussi parti?
Seds
4
Cela nécessite apparemment le Xcode complet installé via l’app store (et pas seulement les outils de ligne de commande).
ScoBe
3
Cela ne fonctionne plus, car homebrew a supprimé toutes les options de formule à l'avenir. discourse.brew.sh/t/…
Fadecomic le
20

Le commutateur de ligne de commande Vi fonctionne.

alias vim='mvim -v'

William Bettridge-Radford
la source
Meilleure réponse ici.
e_x_p
17

Vous pouvez créer un alias dans votre ~/.bash_profile, simplement ajouter cette ligne à ce fichier:

alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim"
Wuffers
la source
En fait, ce serait le cas alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim", car je souhaite créer un lien vers la console vim de MacVim et non vers la version graphique.
Quelqu'un t'utilise encore MS-DOS le
Ahh, d'accord. Fixé!
Wuffers
Puisque vim est une application interactive, faire un alias qui remplace le système de Vim ne sera pas si dangereux, je suppose ...
Quelqu'un vous utilise toujours MS-DOS le
1
Pour moi, c'était dans / Applications. Bel alias!
user72923
4

brew install macvim --override-system-vimest obsolète. Vous devriez utiliser à la brew install macvim --with-override-system-vimplace.

Diego
la source
Ne fonctionne plus.
JESii
3

Pour changer l’éditeur par défaut du système, ajoutez ce qui suit à votre .bash_profile

export EDITOR=/usr/local/Cellar/macvim/<version>/bin/mvim 

Changer cela devrait vous permettre d'utiliser MacVim pour l'éditeur par défaut (même pour l'application qui lance automatiquement l'éditeur)

EDIT
Pour une utilisation normale au terminal, vous devez toujours utiliser « mvim » pour éditer un fichier. Si vous souhaitez toujours taper «vi» sur le terminal, je vous suggère également d'ajouter l'alias au fichier .bash_profile.

EDIT 2
Après avoir vu l'édition de l'OP, vous pouvez ajouter le chemin de vim de MacVim au chemin du système. Remarque: Je ne pense pas que ce soit la meilleure solution car cela pourrait également affecter d’autres appels système en passant des appels au terminal. Donc, si vous voulez vraiment que cela change lorsque vous tapez 'vim' sur la ligne de commande, utilisez un alias, je crois, comme la chose la plus propre et la plus sûre qui soit.

PATH="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim:${PATH}"
export PATH

Testez vos paramètres en utilisant which vimau terminal.

Adam Lewis
la source
2
Je ne veux pas faire de mvim la valeur par défaut. Je souhaite appeler vim ( /Users/user/Applications/MacVim.app/Contents/MacOS/Vim) de MacVim lorsque j'écris vim on terminal au lieu de vim ( /usr/bin/vim) du système .
Quelqu'un t'utilise encore MS-DOS le
@Qomebody vous utilise toujours MS-DOS: Désolé, mal compris votre intention (en fait un peu plus depuis l'affichage de votre modification).
Adam Lewis
Hum, mais vous m'avez donné une idée: si je crée un lien symbolique vimvers /usr/local/binet en utilisant l' $PATHapproche, cela peut fonctionner.
Quelqu'un t'utilise encore MS-DOS le
@Qomebody utilise toujours votre système MS-DOS: veillez à bien créer un lien vers un répertoire contenant déjà vim ... Il peut devenir difficile de savoir quel vim vous allez obtenir.
Adam Lewis
1
:) Mon esprit a sauté au pire des cas (local enlevé). Vous devriez être d'accord avec l'utilisateur local.
Adam Lewis
2

Edit: il suffit d’installer homebrew (ça vaut le coup!) Et brew install vim

Mon ancienne réponse est ci-dessous:


Je ne veux pas installer xcode juste pour ça, je ne veux pas non plus utiliser d'alias ou de méthode de brassage (qui nécessite également xcode), donc je fais ceci:

  1. J'ai d'abord téléchargé MacVim à partir de la page des versions ,
  2. Ensuite, j'installe MacVim en le faisant glisser dans mon dossier Applications,
  3. Pour l'utilisation du terminal, il y a aussi une application de terminal dans le zip, appelée mvim, je l'installe en exécutant cette commande:

    sudo mv mvim / usr / local / bin / vim

  4. Et puis, je ressais l'environnement par hash -r(ou ferme et rouvre le terminal).

  5. Enfin, lorsque je lance à vimpartir de mon terminal, je vois la version mise à jour "dans la console".

J'espère que ça aidera quelqu'un.

Arda
la source
J'utilise l'homebrew pour beaucoup de choses. Ça vaut le coup. Avoir XCode installé mais pouvoir installer tout ce dont j'ai besoin juste en appelant, brew installc'est génial.
Quelqu'un t'utilise encore MS-DOS
1

Mes deux cents, je lance cela chaque fois que j'ai mis à jour mon python via homebrew.

brew reinstall vim --HEAD --with-cscope --with-lua --override-system-vim
brew reinstall macvim --HEAD --with-cscope --with-lua --override-system-vim
Alan Dong
la source