В чем разница между MacVim и обычным Vim?


216

Я довольно новичок в OS X, но я знаком с Vim по его использованию в различных * nix системах. Я видел, как многие люди рекомендуют запускать MacVim через Vim в терминале. Может кто-нибудь сказать мне, какие различия существуют между MacVim и обычным Vim?


2
Вероятно, имеет отношение к дружественным для Mac сочетаниям клавиш (Ctrl против командных клавиш)
ldog

Ответы:


214

MacVim - это просто Vim. Все, что вы привыкли делать в Vim, будет работать точно так же в MacVim.

MacVim более интегрирован во всю ОС, чем Vim в терминале или даже GVim в Linux, он следует многим соглашениям Mac OS X.

Если вы работаете в основном с приложениями с графическим интерфейсом (например, YummyFTP + GitX + Charles ), вы можете предпочесть MacVim.

Если вы работаете в основном с приложениями CLI (например, ssh + svn + tcpdump), вы можете предпочесть vim в терминале.

Вход и выход из одной области (CLI) для другой (GUI) и наоборот может быть «дорогим».

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

Когда я перешел из TextMate, мне понравилось, что MacVim поддерживает почти все обычные ярлыки, к которым привыкли пользователи Mac. Я добавил несколько своих собственных, имитирующих TextMate, но, поскольку я работал в нескольких средах, я заставил себя изучать способ vim. Теперь я использую MacVim и Vim практически одинаково. Использование одного или другого - это просто вопрос контекста для меня.

Кроме того, как сказал El Isra, 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 цветов - вместо этого Терминал.

Так что ... в основном мой совет - просто использовать оба.

РЕДАКТИРОВАТЬ: Я не пробовал, но последняя версия Terminal.app (в 10.7) должна поддерживать 256 цветов. Я все еще работаю на 10.6.x, поэтому некоторое время буду пользоваться iTerm2.

РЕДАКТИРОВАТЬ: Еще лучший способ использовать исполняемый файл MacVim CLI в вашей оболочке - переместить mvimсценарий, связанный с MacVim, куда-нибудь в вашу $PATHи использовать эту команду:

$ mvim -v

РЕДАКТИРОВАТЬ: Да, Terminal.app теперь поддерживает 256 цветов. Поэтому, если вам не нужны расширенные функции iTerm2, вы можете смело использовать эмулятор терминала по умолчанию.


83
Homebrew - безболезненный менеджер пакетов по сравнению с macports, после того, как homebrew будет установлен просто, brew install macvimи все готово. mxcl.github.com/homebrew
Грег К

3
+1 для доморощенного. Мне повезло больше с варевом, чем с макпортом. Хотя у macports еще больше пакетов, чем у homebrew.
Chev

2
@ Грег, как макпорт сложнее sudo port install macvim
прозрачность

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

13

Единственная причина, по которой я сделал переход на MacVim, того стоит: Янк использует системный буфер обмена.

Наконец-то я могу скопировать пасту между MacVim на моем терминале и остальными приложениями.


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

1
vim.wikia.com/wiki/Accessing_the_system_clipboard - все, что вам нужно сделать, это добавить строку в ваш .vimrc, чтобы это тоже было по умолчанию
Джим Девилль

1
Если вы хотите восстановить буфер обмена в терминале vim, просто добавьте +, например, если вы хотите скопировать весь контент в буфер обмена:%y+
smallwat3r

3

к сожалению, с "mvim -v" окна со стрелками ALT plus все еще не работают. Я не нашел способа его включить :-(


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

1

Все дело в привязках клавиш, которые можно просто получить из конфигураций .vimrc. Что касается буфера обмена, то вы можете использовать его, :set clipboard unnamedи янк из vim перейдет в системный буфер обмена. В любом случае, какой бы вы ни использовали в конце концов, я предлагаю использовать этот конфиг vimrc , он содержит множество плагинов и привязок, которые сделают ваш опыт гладким.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.