Quelle est la différence entre MacVim et Vim ordinaire?

216

Je suis relativement nouveau sur OS X, mais je connais Vim pour l'utiliser dans divers systèmes * nix. J'ai vu beaucoup de gens recommander d'exécuter MacVim sur Vim dans le terminal. Quelqu'un peut-il me dire quelles sont les différences entre MacVim et Vim ordinaire?

Mark Costello
la source
2
Cela a probablement à voir avec les raccourcis clavier pour Mac (ctrl vs touches de commande)
ldog

Réponses:

214

MacVim n'est que Vim. Tout ce que vous avez l'habitude de faire dans Vim fonctionnera exactement de la même manière dans MacVim.

MacVim est plus intégré dans l'ensemble du système d'exploitation que Vim dans le terminal ou même GVim sous Linux, il suit de nombreuses conventions de Mac OS X.

Si vous travaillez principalement avec des applications GUI ( YummyFTP + GitX + Charles , par exemple), vous pouvez préférer MacVim.

Si vous travaillez principalement avec des applications CLI (ssh + svn + tcpdump, par exemple), vous pouvez préférer vim dans le terminal.

Entrer et quitter un domaine (CLI) pour l'autre (GUI) et vice-versa peut être «coûteux».

J'utilise à la fois MacVim et Vim en fonction de la tâche et du contexte: si je suis en CLI-land, je vais juste taper vim filenameet si je suis en GUI-land, je vais simplement appeler Quicksilver et lancer MacVim.

Lorsque je suis passé de TextMate, j'ai aimé le fait que MacVim prenne en charge presque tous les raccourcis habituels auxquels les utilisateurs Mac sont habitués. J'ai ajouté un peu de moi-même, imitant TextMate mais, comme je travaillais dans plusieurs environnements, je me suis forcé à apprendre la méthode Vim. Maintenant, j'utilise MacVim et Vim presque exactement de la même manière. Utiliser l'un ou l'autre n'est qu'une question de contexte pour moi.

En outre, comme l'a dit El Isra, le vim par défaut (CLI) dans OS X est légèrement obsolète. Vous pouvez installer une version à jour via MacPorts ou vous pouvez installer MacVim et ajouter un alias à votre .profile:

alias vim='/path/to/MacVim.app/Contents/MacOS/Vim'

d'avoir le même vim dans MacVim et Terminal.app.

Une autre différence est que de nombreux grands modèles de couleurs fonctionnent dans MacVim mais semblent terribles dans Terminal.app qui ne prend en charge que 8 couleurs (+ reflets) mais vous pouvez utiliser iTerm - qui peut être configuré pour prendre en charge 256 couleurs - à la place du terminal.

Donc ... en gros, mon conseil est de simplement utiliser les deux.

EDIT: Je ne l'ai pas essayé mais la dernière version de Terminal.app (en 10.7) est censée prendre en charge 256 couleurs. Je suis toujours sur 10.6.x au travail donc j'utiliserai encore iTerm2 pendant un certain temps.

EDIT: Une façon encore meilleure d'utiliser l'exécutable CLI de MacVim dans votre shell est de déplacer le mvimscript fourni avec MacVim quelque part dans votre $PATHet d'utiliser cette commande:

$ mvim -v

EDIT: Oui, Terminal.app prend désormais en charge 256 couleurs. Donc, si vous n'avez pas besoin des fonctionnalités avancées d'iTerm2, vous pouvez utiliser en toute sécurité l'émulateur de terminal par défaut.

romainl
la source
83
Homebrew est un gestionnaire de paquets indolore vs macports, une fois que homebrew est installé simplement brew install macvimet que vous êtes prêt. mxcl.github.com/homebrew
Greg K
3
+1 pour l'homebrew. J'ai eu beaucoup plus de chance avec le brassage qu'avec les macports. Bien que macports ait toujours plus de packages que homebrew.
Chev
2
@Greg comment les macports sont-ils plus difficiles sudo port install macvim
pellucide
1
@pellucide Bien sûr, l'installation d'un package n'est pas plus pénible. Mais à mon humble avis, la gestion des dépendances et des packages par défaut du système d'exploitation par rapport aux packages installés est beaucoup plus facile dans Homebrew. Aussi, sudon'est jamais requis en homebrew.
Roy Tinker
13

La seule raison pour laquelle j'ai fait que le passage à MacVim en valait la peine: Yank utilise le presse-papiers du système.

Je peux enfin copier-coller entre MacVim sur mon terminal et le reste de mes applications.

Janac Meena
la source
13
Vous pouvez également utiliser le *registre du terminal VIM pour accéder au presse-papiers du système. Quel IMO est meilleur parce que personnellement, je ne veux pas toujours me synchroniser avec le presse-papiers de mon système. Ainsi, dans VIM, lorsque vous tirez sur une ligne par exemple, utilisez "*yypour copier dans le presse-papiers.
Luke Davis
1
vim.wikia.com/wiki/Accessing_the_system_clipboard - tout ce que vous avez à faire est d'ajouter une ligne à votre .vimrc pour que ce soit également par défaut
Jim Deville
1
Si vous voulez tirer sur le presse-papiers dans le terminal vim, ajoutez simplement un +, par exemple si vous souhaitez copier tout le contenu dans le presse:%y+
smallwat3r
3

malheureusement, avec "mvim -v", les flèches ALT plus ne fonctionnent toujours pas. Je n'ai trouvé aucun moyen de l'activer :-(

Daniel Pinyol
la source
Merci pour la mvimcommande, j'ai installé MacVim via HomeBrew mais je ne savais pas qu'il y avait une commande par lien symbolique par défaut. Merci!
Roy Tinker du
1

Il s'agit des liaisons de touches que l'on peut simplement réaliser à partir des configurations .vimrc. En ce qui concerne le presse-papiers, vous pouvez utiliser :set clipboard unnamedet le coup sec de vim ira au presse-papiers du système. Quoi qu'il en soit, quelle que soit celle que vous utilisez, je suggère d'utiliser cette configuration vimrc , elle contient beaucoup de plugins et de liaisons qui rendront votre expérience fluide.

Manish Baghel
la source