Лучший способ сделать vim MacVim (консоль, а не mvim) по умолчанию вместо vim в Mac OS X?


101

Я установил MacVim, используя homebrew. ( brew install macvim). Если я позвоню mvimс cmd, она открывает GUI MacVim.

Я хотел бы сделать vimвызов Vim ( /Users/user/Applications/MacVim.app/Contents/MacOS/Vim) MacVim вместо системного ( /usr/bin/vim) vim. Какой лучший способ сделать это? Я знаю, что могу сделать, alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim"но я не знаю, лучший ли это подход ...

РЕДАКТИРОВАТЬ : Ребята, спасибо за все ваши ответы, но на самом деле, так как я уже использую homebrew, использование --override-system-vimэто элегантный способ выполнить то, что мне нужно.


В чем разница между консолью MacVim vim и обычным vim в терминале?
hobbes3

2
@ hobbes3, vim, который поставляется с osx, не имеет встроенной поддержки ruby ​​или python. В vim MacVim есть. Что необходимо, если вы хотите использовать плагины, такие как Command-T
asgeo1

Vim, который поставляется с OS X, также не поддерживает чертов буфер обмена.
Танатос,

Ответы:


136

Я считаю, что это то, что вы ищете:

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

Это создаст символические ссылки vim, vimdiff и т. Д. На mvim в / usr / local / bin / vim, и пока / usr / local / bin находится перед / usr / bin в вашем PATH, вы получите результаты, которые вы ' ищу.

Более ранние версии brew использовали переключатель, --override-system-vimкоторый устарел.


3
Поскольку я сказал, что уже использую домашний напиток, я думаю, что это действительно лучший вариант: я не знал, что этот вариант возможен. Спасибо!
Кто-то все еще использует тебя MS-DOS

2
Технически, это скрытый драгоценный камень в формуле vim, а не самодельный. :)
kejadlen

Интересно, а что если я сделаю brew-удаление macvim, удалит ли это macvim и оставит ли исходный vim? Или этого тоже не будет?
'11

4
Очевидно, для этого нужен полный Xcode, установленный через магазин приложений (а не только инструменты командной строки).
ScoBe

3
Это больше не работает, потому что доморощенный удалил все опции формулы в дальнейшем. discourse.brew.sh/t/…
Fadecomic


17

Вы можете создать псевдоним в вашем ~/.bash_profile, просто добавьте эту строку в этот файл:

alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim"

На самом деле, так и будет alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim", поскольку я хочу связать с vim консоли MacVim, а не с графической версией.
Кто-то все еще использует тебя MS-DOS

Ах, хорошо. Исправлена!
Вуфферс

Поскольку vim является интерактивным приложением, создание псевдонима, который переопределяет системный Vim, не будет столь вредным, я думаю ...
Кто-то все еще использует вас MS-DOS

1
Для меня это было в / Applications. Хороший псевдоним!
user72923

4

brew install macvim --override-system-vimне рекомендуется. Вы должны использовать brew install macvim --with-override-system-vimвместо этого.


Больше не работает.
JESii

3

Чтобы изменить системный редактор по умолчанию, добавьте следующее в ваш .bash_profile

export EDITOR=/usr/local/Cellar/macvim/<version>/bin/mvim 

Изменение этого параметра позволит вам использовать MacVim для редактора по умолчанию (даже для приложения, которое автоматически запускает редактор)

РЕДАКТИРОВАТЬ
Для обычного использования в терминале, вам все равно придется использовать «mvim» для редактирования файла. Если вы все еще хотите набрать 'vi' на терминале, я бы также предложил добавить псевдоним в .bash_profile.

РЕДАКТИРОВАТЬ 2
После просмотра редактирования ОП вы можете добавить путь к vim MacVim к системному пути. Примечание. Я не думаю, что это лучший способ, поскольку он может повлиять и на другие системные вызовы при выполнении вызовов на терминале. Так что, если вы действительно хотите, чтобы оно изменилось, когда вы набираете 'vim' в командной строке, тогда использование псевдонима, который я считаю самым чистым и безопасным способом сделать.

PATH="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim:${PATH}"
export PATH

Проверьте свои настройки с помощью which vimтерминала.


2
Я не хочу делать mvim по умолчанию. Я хочу вызвать vim ( /Users/user/Applications/MacVim.app/Contents/MacOS/Vim) MacVim, когда записываю vim на терминале, а не vim ( /usr/bin/vim) системы.
Кто-то все еще использует тебя MS-DOS

@ Кто-то все еще использует вас MS-DOS: Извините за это, неправильно понял ваше намерение (делает немного больше с тех пор, как теперь просматривает ваши правки).
Адам Льюис,

Hum, но вы дали мне идею: если я симлинку vimк /usr/local/binи используя $PATHподход, он может работать.
Кто-то все еще использует тебя MS-DOS

@ Кто-то все еще использует вас. MS-DOS: будьте осторожны с символическими ссылками на каталог, в котором уже есть vim ... Может быть трудно узнать, какой vim вы собираетесь получить.
Адам Льюис

1
:) Мой разум прыгнул в худшем случае (местный удален). Вам должно быть хорошо с пользователем local.
Адам Льюис,

2

Изменить: просто установить доморощенный (стоит хлопот!) И brew install vim

Мой старый ответ ниже:


Я не хочу устанавливать xcode только для этого, также я не хочу использовать псевдонимы или метод brew (который также требует xcode), поэтому я делаю это:

  1. Сначала я загружаю MacVim со страницы релизов ,
  2. Затем я устанавливаю MacVim, перетаскивая его в папку «Приложения»,
  3. Для использования терминала в zip есть также приложение терминала, которое называется « mvimЯ устанавливаю его, выполнив следующую команду:

    sudo mv mvim / usr / local / bin / vim

  4. Затем я перефразирую среду hash -r(или закрываю и заново открываю терминал).

  5. Наконец, когда я запускаю vimиз своего терминала, я вижу обновленный "в консоли".

Я надеюсь, что это поможет кому-то.


Я использую доморощенный для многих вещей. Это стоит хлопот. Установка XCode, но возможность установить все, что мне нужно, просто позвонив, brew install- это здорово.
Кто-то все еще использует тебя MS-DOS

1

Мои два цента, я запускаю это всякий раз, когда обновляю свой питон через homebrew.

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