Comment exécuter mvim (MacVim) à partir du terminal?

258

J'ai MacVim installé et j'essaie de le configurer comme éditeur pour Git (contrôle de version), mais je ne peux pas exécuter 'mvim' à partir de la ligne de commande car il n'est pas reconnu. Comment configurer mvim pour pouvoir l'exécuter à partir du terminal?

Fred
la source
3
Essayez à vimpartir de la ligne de commande.
pavium du
4
Avertissement: cela fonctionnerait pour Linux, donc je suppose que c'est similaire sur un Mac. Essayez de voir le chemin (utilisez " echo $PATH") et ajoutez-y le dossier de l'exécutable MacVim s'il n'y est pas déjà (utilisez " export PATH=$PATH:path/to/folder"). Attention aux $signes, ils sont importants!
laura

Réponses:

190

Il devrait y avoir un script nommé mvim à la racine du fichier .bz2. Copiez ceci quelque part dans votre $ PATH (/ usr / local / bin serait bien) et vous devriez être trié.

Gordon Robertson
la source
9
Où trouvez-vous le fichier bz2?
jnthnclrk
2
Il y a un an, c'est ce que vous avez obtenu lorsque vous avez téléchargé MacVim. Maintenant, c'est un fichier.tbz, mais le script est toujours là.
Gordon Robertson
5
Vous pouvez localiser le fichier en utilisant la recherche depuis votre répertoire racine. sudo find . -name mvimLe mien était dans / Applications / MacVim-snapshot-64 / mvim.
tltjr
19
Étant donné que mvim est simplement un script shell, vous pouvez le télécharger directement à partir de la source MacVim sur GitHub ici: raw.github.com/b4winckler/macvim/master/src/MacVim/mvim
Brad Parks
3
Selon: aide mvim, j'ai dû ajouter /Applications/MacVim.app/Contents/binà mon chemin, puis cela a bien fonctionné.
hraynaud
210

Je ne pense pas que je devrais ajouter quoi que ce soit au chemin,

brew install macvim

mvim -v

devrait ensuite ouvrir macvim dans le terminal, vous pouvez également continuer et alias

alias vim='mvim -v'
Swapneel Patil
la source
38
Si vous lisez ceci aujourd'hui en utilisant homebrew, vous devrez exécuter brew linkappsaprès l'installation de macvim.
Aaron Lake
1
L'option '-v' fonctionne si vous avez installé à partir de la source ou du téléchargement ainsi que montré dans d'autres réponses.
Bryan Head
7
brew linkapps --systemsi vous le souhaitez dans votre dossier / Applications.
mk12
Si l'exécution brew linkappsn'a pas aidé, exécutez également brew doctoret surveillez les messages d'avertissement liés à macvim - vous devrez peut-être exécuter brew link --overwrite macvimsi suggéré.
Art
Avec cet indicateur -v pour une raison quelconque, le changement de police ne fonctionne pas.
Ixx
106

Si vous optez pour la voie de brassage, la meilleure façon d'installer serait:

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

Cela fournira mvim, vim, vi, view, etc. dans / usr / local / bin (tous liés à la copie dans la cave). Cela supprime également la nécessité de créer des alias et modifie également votre vi, vim, etc. pour tous utiliser la même distribution Vim que votre MacVim.

Sean Chou
la source
Bien que cela --override-system-vimait créé certains des liens symboliques pour moi, il n'a pas réussi à remplacer /usr/bin/vimet /usr/bin/vij'ai donc dû les manuellement aliasdans mon .profile.
davetapley
12
Dave, cela ressemble à un problème de PATH, / usr / local / bin doit être le premier dans votre PATH. Cette réponse, pointant le brassage, devrait être la réponse numéro un, car elle vous fournit tout ce dont vous avez besoin.
Jason Yanowitz
3
fyi running brew doctordevrait vous informer de tout problème de chemin ou de configuration pour le brassage.
Andrew
Impressionnant! Merci d'avoir posté ça. J'ai ajouté --override-system-vim et je ne savais même pas à quel point ce serait utile.
xer0x
Cela n'a pas fonctionné pour moi, pas sûr que cet argument fonctionne toujours ??
ftrotter
43

En outre, si vous souhaitez utiliser MacVim (ou GVim) en tant que $VISUALou $EDITOR, vous devez savoir que par défaut MacVim enverra un nouveau processus à partir du parent, ce qui entraînera la valeur de retour MacVim n'atteignant pas le processus parent. Cela peut confondre d'autres applications, mais Git semble vérifier l'état d'un fichier de message de validation temporaire, qui contourne cette limitation. En général, il est export VISUAL='mvim -f'recommandé de s'assurer que MacVim ne lancera pas de nouveau processus lors de son appel, ce qui devrait vous donner ce que vous voulez lorsque vous l'utilisez avec votre environnement shell.

hakamadare
la source
30

Si vous avez déjà installé macVim: /Applications/MacVim.app/Contents/MacOS/Vim -gvous donnera l'interface graphique de macVim.

ajoutez simplement un alias.

j'utilise gvimparce que c'est ce que j'utilise sur linux pour gnome-vim.

alias gvim='/Applications/MacVim.app/Contents/MacOS/Vim -g'

gcb
la source
1
L'utilisation alias vim=/Applications/MacVim.app/Contents/MacOS/Vimest également une excellente idée. Ensuite, vous n'avez pas besoin d'installer MacVim via MacPorts ou Homebrew pour mettre à jour Vim dans votre terminal, vous pouvez simplement installer les packages de versions à partir de la page de publication de GitHub.
w0rp
Remarque: également utile si homebrew refuse d'installer macvim parce que vous restez sur "cette ancienne version" de macOS pour une raison quelconque. :)
tekHedd
24

Supposons que MacVim est installé dans le dossier Application.

Au lieu d'ajouter le chemin MacVim à votre environnement, créez un lien en tapant ceci dans le terminal:

sudo ln -s /Applications/MacVim.app/Contents/bin/mvim /usr/local/bin/mvim

Ensuite, ouvrez une nouvelle fenêtre / onglet de terminal et tapez mvim.

ccerhan
la source
18

Si vous avez installé HomeBrew , voici tout ce que vous avez à faire:

brew install macvim
brew linkapps

Tapez ensuite mvimvotre terminal pour exécuter MacVim.

Muhammad Reda
la source
Eh bien, c'est comme ça avec une nouvelle installation, je pense qu'il demande comment faire un alias quand il est déjà installé.
JackHasaKeyboard
1
Attention: brew linkappsa été déprécié et sera finalement supprimé!
Mark
13

Voici ce que j'ai fait:

Après avoir construit Macvim, j'ai copié mvim vers l'une de mes destinations $ PATH (dans ce cas, j'ai choisi / usr / local / bin)

cp -v [MacVim_source_folder]/src/MacVim/mvim /usr/local/bin

Ensuite, lorsque vous invoquez mvim, il est maintenant reconnu, mais il y a une chose ennuyeuse. Il ouvre la fenêtre visuelle de MacVim, pas celle du terminal. Pour ce faire, vous devez invoquer

mvim -v

Pour vous assurer que chaque fois que vous appelez mvim, vous n'avez pas à vous rappeler d'ajouter le '-v', vous pouvez créer un alias:

alias mvim = 'mvim -v'

Cependant, cet alias ne persistera que pour cette session du terminal. Pour que cet alias soit exécuté chaque fois que vous ouvrez une fenêtre de terminal, vous devez l'inclure dans votre .profile Le .profile doit être dans votre répertoire personnel. Si ce n'est pas le cas, créez-le.

cd ~
mvim -v .profile

inclure la commande d'alias et l'enregistrer.

C'est tout.

Douglas
la source
J'ai essayé ça mais ça n'a pas marché pour moi. VIM_APP_DIR = ~ / Téléchargements / MacVim-snapshot-64 / MacVim.app $ mvim -v xx Désolé, impossible de trouver MacVim.app. Essayez de définir la variable d'environnement VIM_APP_DIR dans le répertoire contenant MacVim.app.
Michael Durrant
Cela fonctionne lorsque vous créez MacVim à partir de la source, github.com/macvim-dev/macvim/blob/master/README_mac.txt , merci @douglas
mbenegas
1
Probablement mieux ln -sque cpça.
nnutter
1
Avec ce -vdrapeau, la police ne fonctionne pas. -vactive le mode vi. Peut imaginer que d'autres choses ne fonctionnent pas dans ce mode, en plus de définir une police personnalisée.
Ixx
11

J'ajoute le commentaire de Bard Park ici car c'était la vraie réponse pour moi:

Étant donné que mvim est simplement un script shell, vous pouvez le télécharger directement à partir de la source MacVim sur GitHub ici: http://raw.github.com/b4winckler/macvim/master/src/MacVim/mvim

OscarRyz
la source
/ usr / local / bin était dans mon CHEMIN, mais le dossier bin était absent. J'ai eu du mal à travailler directement dans / usr / local, (probablement un problème d'autorisations), j'ai donc créé un répertoire bin dans mon dossier Documents. Là, j'ai créé un fichier mvim, dans lequel j'ai copié le contenu du lien de Bard Park. J'ai fait glisser le dossier bin avec le script mvim vers / usr / local. On m'a demandé mon mot de passe, puis j'ai été autorisé à placer le script mvim où je le voulais. Mais le script ne s'est pas encore exécuté. J'ai entré: sudo chmod 755 mvim pour donner au script les autorisations d'exécution. Maintenant, à partir de la ligne de commande lorsque je tape nom de fichier mvim, MacVim se lance.
Jerry Frost
Afin de faire glisser le dossier bin dans / usr / local, j'ai d'abord entré: open. à partir de la ligne de commande dans / usr / local. Cela fait apparaître l'interface graphique du viseur pour cet emplacement de fichier.
Jerry Frost
8

Je recommanderais sérieusement d'installer MacVim via MacPorts ( sudo port install MacVim).

Une fois installé, MacPorts met automatiquement à jour votre profil pour inclure / opt / local / bin dans votre chemin, et donc lorsque mvim est installé en tant que / opt / local / bin / mvim pendant l'installation de MacVim, vous le trouverez prêt à être utilisé immédiatement .

Lorsque vous installez le port MacVim, le bundle MacVim.app est également installé dans / Applications / MacPorts pour vous.

Une bonne chose à propos de l'itinéraire MacPorts est que vous pourrez également installer git too ( sudo port install git-core) et de nombreux autres ports. Hautement recommandé.

ianmjones
la source
1
Merci, je vais essayer. J'ai installé MacVim et Git à l'aide des programmes d'installation de l'interface utilisateur. Mais son apparence de Macports est la voie à suivre.
Fred
56
N'utilisez pas de versions de port mac sauf si vous en avez absolument besoin. Il installe toutes les bibliothèques de dépendances en ignorant les bibliothèques natives darwin. Cela peut par exemple remplacer votre perl 5.10 par 5.8 dans le chemin, etc. Vérifiez plutôt le système homebrew (brew).
Slava Nadvorny
3
@SlavaNadvorny était peut-être vrai quand cela a été écrit. J'ai actuellement un environnement de développement avec MacVim, scipy, haskell, plusieurs versions d'erlang, python et perl fonctionnant toutes correctement avec macports. La même chose n'était pas possible avec le breuvage (à cette époque, cela a été écrit). J'aime l'installation de non-sudo de brew et j'aurais souhaité que cela fonctionne dans ce cas.
L'utilisation de homebrew fonctionne également très bien brew install macvim.
Chev
2

Cela fonctionne pour moi:

λ brew link --overwrite macvim
Linking /usr/local/Cellar/macvim/8.0-146_1... 12 symlinks created
AurevoirXavier
la source
2

Pour les .appbundles Mac , vous devez les installer via cask, le cas échéant, car l'utilisation de liens symboliques peut entraîner des problèmes. Vous pouvez même recevoir l'avertissement suivant si vous brew linkapps:

Malheureusement, brew linkappsne peut pas se comporter correctement avec par exemple Spotlight en utilisant des alias ou des liens symboliques et les formules Homebrew ne construisent pas de "bons" .app ensembles qui peuvent être déplacés. Envisagez plutôt d'utiliser brew casket de migrer les formules à l'aide de .apps vers des fûts.

Pour MacVim, vous pouvez installer avec:

brew cask install macvim

Vous devriez alors être en mesure de lancer MacVim comme vous le faites toute autre application de Mac OS, y compris mvimou open -a MacVimd'une session de terminal.

MISE À JOUR : Un peu de clarification sur brewet brew cask. En bref, brewgère les logiciels au niveau Unix, tout en étendant brew caskles fonctionnalités de brewdans le domaine macOS pour des fonctionnalités supplémentaires telles que la gestion de l'emplacement des bundles d'applications macOS. N'oubliez pas que cela brewest également implémenté sous Linux, il est donc logique d'avoir cette division. Il existe d'autres ressources qui expliquent la différence plus en détail, telles que Quelle est la différence entre brewet brew cask? donc je n'en dirai pas plus ici.

Ryan H.
la source
Pourrions-nous ajouter un peu de clarté sur la différence entre l'utilisation de l'installation en cascade et non l'installation en cask? Difficile de dire quelles sont les différences lorsque les commandes d'installation en
cascade
J'ai ajouté un petit texte de présentation mais je ne connais pas tous les détails donc je ne suis pas entré dans les détails.
Ryan H.