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

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


person Mark Costello    schedule 05.05.2011    source источник
comment
Вероятно, это связано с дружественными связями клавиш Mac (ctrl vs command keys)   -  person ldog    schedule 05.05.2011


Ответы (4)


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

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

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

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

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

Я использую как MacVim, так и Vim в зависимости от задачи и контекста: если я нахожусь в среде интерфейса командной строки, я просто набираю vim filename, а если я в области графического интерфейса, я просто вызываю 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 цветов - вместо терминала.

Итак ... в основном мой совет - просто используйте и то, и другое.

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

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

$ mvim -v

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

person romainl    schedule 05.05.2011
comment
Homebrew - это безболезненный менеджер пакетов по сравнению с macports, после установки homebrew просто brew install macvim и все готово. mxcl.github.com/homebrew - person Greg K; 12.02.2012
comment
+1 за домашнее пиво. С пивом мне повезло больше, чем с macports. Хотя у macports по-прежнему больше пакетов, чем у homebrew. - person Chev; 22.11.2013
comment
@Greg, как macports сложнее sudo port install macvim - person pellucide; 30.07.2014
comment
@pellucide Конечно, установка одного пакета не более болезненна. Но IMHO управление зависимостями и пакетами ОС по умолчанию по сравнению с установленными пакетами в Homebrew намного проще. Кроме того, sudo никогда не требуется в домашнем пивоварении. - person Roy Tinker; 06.11.2017

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

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

person Janac Meena    schedule 15.03.2017
comment
Вы также можете использовать регистр * в VIM терминала, чтобы скопировать данные в системный буфер обмена. Какой IMO лучше, потому что я лично не всегда хочу синхронизировать с моим системным буфером обмена. Таким образом, в VIM, например, при извлечении строки используйте "*yy для копирования в буфер обмена. - person Luke Davis; 03.02.2018
comment
vim.wikia.com/wiki/Accessing_the_system_clipboard - все, что вам нужно сделать, это добавить строку в ваш .vimrc, чтобы это тоже было по умолчанию - person Jim Deville; 03.02.2019
comment
Если вы хотите скопировать в буфер обмена в терминале vim, просто добавьте +, например, если вы хотите скопировать весь контент в буфер обмена :%y+ - person smallwat3r; 25.07.2019

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

person Daniel Pinyol    schedule 06.11.2015
comment
Спасибо за команду mvim, я установил MacVim через HomeBrew, но не знал, что есть команда с символической ссылкой по умолчанию. Спасибо! - person Roy Tinker; 06.11.2017

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

person Manish Baghel    schedule 16.04.2020