Чим відрізняється MacVim від звичайного Vim?


216

Я досить новачок у ОС X, але мені Vim знайомий з його використанням у різних * nix системах. Я бачив, як багато людей рекомендують запустити MacVim над Vim в терміналі. Хтось може сказати мені, які відмінності між MacVim та звичайним Vim?


2
Напевно, це стосується дружньої клавіатури Mac (ctrl vs командні клавіші)
ldog

Відповіді:


214

MacVim - це просто Vim. Все, що ви звикли робити у Vim, буде працювати точно так само в MacVim.

MacVim більш інтегрований у всій ОС, ніж Vim у терміналі або навіть GVim у Linux, він дотримується багатьох положень Mac OS X.

Якщо ви працюєте в основному з програмами GUI (наприклад, YummyFTP + GitX + Charles ), ви можете віддавати перевагу MacVim.

Якщо ви працюєте в основному з програмами CLI (наприклад, ssh + svn + tcpdump), ви можете віддати перевагу vim у терміналі.

Введення та залишення однієї сфери (CLI) для іншої (GUI) та навпаки може бути «дорогим».

Я використовую і MacVim, і Vim, залежно від завдання та контексту: якщо я перебуваю в CLI-land, я просто vim filenameнаберу і якщо я перебуваю в GUI-землі, я просто попрошу Quicksilver і запускаю MacVim.

Коли я перейшов з TextMate, мені сподобалось те, що MacVim підтримує майже всі регулярні ярлики користувачів Mac, до яких звикли. Я додав декілька власних, імітуючих TextMate, але, оскільки працював у декількох середовищах, я змусив себе вивчити шлях vim. Зараз я використовую і MacVim, і Vim майже точно так само. Використання того чи іншого для мене - лише питання контексту.

Крім того, як заявив Ель Ісра, vim за замовчуванням (CLI) в OS X трохи застарів. Ви можете встановити оновлену версію через MacPorts, або ви можете встановити MacVim та додати псевдонім до свого .profile:

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

мати однаковий vim у MacVim та Terminal.app.

Ще одна відмінність полягає в тому, що багато чудових кольорових схем там працюють у вікні MacVim, але виглядають жахливо в Terminal.app, який підтримує лише 8 кольорів (+ яскраві моменти), але ви можете використовувати iTerm - який можна встановити для підтримки 256 кольорів - замість цього Терміналу

Отже ... в основному моя порада просто використовувати обоє.

EDIT: Я не пробував, але остання версія Terminal.app (в 10.7) повинна підтримувати 256 кольорів. Я все ще на 10.6.x на роботі, тому я ще буду використовувати iTerm2 деякий час.

РЕДАКТУВАННЯ: Ще кращим способом використання виконуваного CLI MacVim у вашій оболонці є переміщення mvimсценарію в комплекті з MacVim кудись у вашому $PATHі використовувати цю команду:

$ mvim -v

EDIT: Так, Terminal.app тепер підтримує 256 кольорів. Тож якщо вам не потрібні розширені функції iTerm2, ви можете сміливо використовувати емулятор терміналу за замовчуванням.


82
Homebrew - це безболісний менеджер пакунків проти макпортів, після того, як homebrew буде встановлений просто, brew install macvimі ви налаштовані. mxcl.github.com/homebrew
Грег К

3
+1 для домашнього пива. У мене було більше удачі з варінням, ніж у макпортах. Хоча макпорти все ще мають більше пакунків, ніж домашній.
Шев

2
@Greg як це MacPorts важче sudo port install macvim
pellucide

1
@pellucide Звичайно, встановлення одного пакету не є більш болючим. Але управління IMHO залежностями та пакетами за замовчуванням для ОС порівняно з встановленими пакетами набагато простіше в Homebrew. Також sudoніколи не потрібно в домашній мові.
Рой Тінкер

12

Однією з причин того, що я зробив перехід на MacVim того варто: Yank використовує буфер обміну системи.

Нарешті я можу скопіювати пасту між MacVim на своєму терміналі та рештою моїх програм.


13
Ви також можете скористатися *регістром у терміналі VIM, щоб залізти в буфер обміну системи. Який IMO кращий, тому що я особисто не завжди хочу синхронізувати свій системний буфер обміну. Так у VIM, коли, наприклад, перебираючи рядок, використовуйте "*yyдля копіювання у буфер обміну.
Люк Девіс

1
vim.wikia.com/wiki/Accessing_the_system_clipboard - все, що вам потрібно зробити, це додати рядок до свого .vimrc, щоб це було також за замовчуванням
Jim Deville

1
Якщо ви хочете потягнути до буфера обміну в терміналі vim, просто додайте його +, наприклад, якщо ви хочете скопіювати весь вміст у буфер обміну:%y+
smallwat3r

3

на жаль, з "mvim -v" ALT плюс вікна зі стрілками все ще не працює. Я не знайшов жодного способу це ввімкнути :-(


Дякую за mvimкоманду, я встановив MacVim через HomeBrew, але не знав, що існує команда, що посилається за замовчуванням Дякую!
Рой Тінкер

1

Вся справа в ключових прив'язках, яких можна просто досягти з конфігурацій .vimrc. Що стосується буфера обміну, ви можете використовувати, :set clipboard unnamedі yank від vim перейде до буфера обміну системою. У будь-якому випадку, незалежно від того, хто б ви в кінцевому підсумку не використовували, я пропоную використовувати цей конфігурацію vimrc , він містить цілу кількість плагінів та прив’язок, які зроблять ваш досвід гладким.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.