Как запустить mvim (MacVim) из терминала?


258

У меня установлен MacVim, и я пытаюсь настроить его как редактор для Git (контроль версий), но я не могу запустить mvim из командной строки, так как он не распознается. Как мне настроить mvim, чтобы я мог запустить его из терминала?


3
Попробуйте vimиз командной строки.
павильон

4
Отказ от ответственности: это будет работать для Linux, поэтому я думаю, что это похоже на Mac. Попробуйте увидеть путь (используйте « echo $PATH») и добавьте в него папку к исполняемому файлу MacVim, если ее там еще нет (используйте « export PATH=$PATH:path/to/folder»). Следите за $знаками, они важны!
Лора

Ответы:


190

В корне файла .bz2 должен быть скрипт с именем mvim. Скопируйте это куда-нибудь в ваш $ PATH (было бы хорошо / usr / local / bin), и вы должны быть отсортированы.


9
Где вы найдете файл bz2?
jnthnclrk

2
Год назад это было то, что вы получили, загрузив MacVim. Сейчас это файл .tbz, но скрипт все еще там.
Гордон Робертсон

5
Вы можете найти файл, используя find из вашего корневого каталога. sudo find . -name mvimМой был в / Applications / MacVim-snapshot-64 / mvim.
2012 года

19
Поскольку mvim - это просто сценарий оболочки, вы можете скачать его непосредственно из источника MacVim на GitHub здесь: raw.github.com/b4winckler/macvim/master/src/MacVim/mvim
Брэд Паркс

3
Согласно: помогите mvim, я должен был добавить /Applications/MacVim.app/Contents/binк своему пути, тогда это работало хорошо.
hraynaud

210

Я не думаю, что я хотел бы добавить что-нибудь к пути, сделал

brew install macvim

mvim -v

Затем следует открыть Macvim в терминале, вы также можете пойти дальше и псевдоним, который

alias vim='mvim -v'

38
Любой, кто читает это сегодня с помощью homebrew, должен запускаться brew linkappsпосле установки macvim.
Озеро Аарон,

1
Опция '-v' работает, если вы установили из исходного кода или из загрузки, а также показано в других ответах.
Брайан Хэд

7
brew linkapps --systemесли вы хотите его в папке / Applications.
MK12

Если запуск brew linkappsне помог, запустите brew doctorи следите за предупреждающими сообщениями, связанными с macvim - вам может потребоваться запустить, brew link --overwrite macvimесли это будет предложено.
Art

С этим флагом -v по какой-то причине изменение шрифта не работает.
Ixx

106

Если вы идете по пути приготовления кофе, лучшим способом установки будет:

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

Это предоставит mvim, vim, vi, view и т. Д. В / usr / local / bin (все ссылки на копии в подвале). Это также устраняет необходимость создавать псевдонимы, а также изменяет ваш vi, vim и т. Д., Чтобы все использовали тот же дистрибутив Vim, что и ваш MacVim.


В то время как --override-system-vimбыло создать некоторые из симлинками для меня, он не смог отменить /usr/bin/vimи /usr/bin/viпоэтому я до сих пор приходилось вручную aliasэто по моему .profile.
Даветаплей

12
Дэйв, это звучит как проблема PATH, / usr / local / bin должен быть первым в вашей переменной PATH. Этот ответ, указывающий на варево, должен быть ответом номер один, так как он дает вам все, что вам нужно.
Джейсон Яновиц

3
fyi running brew doctorдолжен уведомлять вас о любых путях или проблемах конфигурации brew.
Андрей

Потрясающие! Спасибо за публикацию этого. Я добавил --override-system-vim и даже не осознавал, насколько это будет полезно.
xer0x

Это не сработало для меня, не уверен, что этот аргумент все еще работает ??
футроттер

43

Кроме того, если вы хотите использовать MacVim (или GVim) в качестве $VISUAL или $EDITOR, вы должны знать, что по умолчанию MacVim разветвляет новый процесс из родительского, в результате чего возвращаемое значение MacVim не достигает родительского процесса. Это может сбить с толку другие приложения, но Git, похоже, проверяет состояние файла сообщений временной фиксации, который обходит это ограничение. В целом, рекомендуется export VISUAL='mvim -f'убедиться, что MacVim не будет вызывать новый процесс при вызове, что должно дать вам то, что вы хотите при использовании его в вашей среде оболочки.


30

Если у вас уже установлен MacVim: /Applications/MacVim.app/Contents/MacOS/Vim -g вы получите графический интерфейс MacVim.

просто добавьте псевдоним.

Я использую, gvimпотому что это то, что я использую на Linux для GNOME-VIM.

alias gvim='/Applications/MacVim.app/Contents/MacOS/Vim -g'


1
Также использование alias vim=/Applications/MacVim.app/Contents/MacOS/Vim- отличная идея. Тогда вам не нужно устанавливать MacVim через MacPorts или Homebrew для обновления Vim в вашем терминале, вы можете просто установить пакеты выпуска со страницы релиза GitHub.
wrrp

Примечание: также полезно, если homebrew отказывается устанавливать macvim, потому что вы по какой-либо причине остановились на «старой версии» macOS. :)
tekHedd

24

Предположим, что MacVim установлен в папке приложения.

Вместо добавления пути MacVim к вашей среде, создайте ссылку, набрав в терминале:

sudo ln -s /Applications/MacVim.app/Contents/bin/mvim /usr/local/bin/mvim

Затем откройте новое окно / вкладку терминала и введите mvim.


18

Если у вас установлен homeBrew , это все, что вам нужно сделать:

brew install macvim
brew linkapps

Затем введите mvimсвой терминал для запуска MacVim.


Ну вот как это сделать с новой установкой, я думаю, он спрашивает, как сделать псевдоним, когда он уже установлен.
JackHasaKeyboard

1
Предупреждение: brew linkappsустарела и будет удалена!
Mark

13

Вот что я сделал:

После сборки Macvim я скопировал mvim в одно из моих назначений $ PATH (в этом случае я выбрал / usr / local / bin)

cp -v [MacVim_source_folder]/src/MacVim/mvim /usr/local/bin

Затем, когда вы вызываете mvim, он теперь распознается, но есть раздражающая вещь. Он открывает визуальное окно MacVim, а не окно терминала. Чтобы сделать это, вы должны вызвать

mvim -v

Чтобы каждый раз, когда вы вызываете mvim, вам не нужно было добавлять '-v', вы можете создать псевдоним:

псевдоним mvim = 'mvim -v'

Однако этот псевдоним будет сохраняться только для этой сессии Терминала. Чтобы этот псевдоним выполнялся каждый раз, когда вы открываете окно терминала, вы должны включить его в свой .profile .profile должен находиться в вашем домашнем каталоге. Если это не так, создайте его.

cd ~
mvim -v .profile

включите туда команду alias и сохраните ее.

Вот и все.


Пробовал это, но у меня не получилось. VIM_APP_DIR = ~ / Загрузки / MacVim-snapshot-64 / MacVim.app $ mvim -v xx К сожалению, не удается найти MacVim.app. Попробуйте установить переменную среды VIM_APP_DIR в каталог, содержащий MacVim.app.
Майкл Даррант

Это работает, когда вы собираете MacVim из исходного кода, github.com/macvim-dev/macvim/blob/master/README_mac.txt , спасибо @douglas
mbenegas

1
Наверное, лучше, ln -sчем cpэто.
nutter

1
С этим -vфлагом изменение шрифта не работает. -vвключает режим vi. Можно представить, что другие вещи не работают в этом режиме, кроме установки собственного шрифта.
Ixx

11

Я добавляю комментарий Барда Парка, потому что это был реальный ответ для меня:

Поскольку mvim - это просто сценарий оболочки, вы можете скачать его непосредственно из источника MacVim на GitHub здесь: http://raw.github.com/b4winckler/macvim/master/src/MacVim/mvim


/ usr / local / bin был в моем PATH, но папка bin отсутствовала. У меня были проблемы с работой непосредственно в / usr / local (возможно, проблема с разрешениями), поэтому я создал каталог bin в своей папке Documents. Там я создал файл mvim, в который скопировал содержимое ссылки Барда Парка. Я перетащил папку bin со скриптом mvim в / usr / local. Меня попросили ввести пароль, а затем разрешили разместить скрипт mvim там, где я хотел. Но сценарий еще не запущен. Я ввел: sudo chmod 755 mvim, чтобы дать сценарию права на выполнение. Теперь из командной строки, когда я набираю mvim filename, MacVim запускается.
Джерри Фрост

Чтобы перетащить папку bin в / usr / local, сначала я ввел: open. из командной строки в / usr / local. Это вызывает графический интерфейс поиска для этого файла.
Джерри Фрост

8

Я бы настоятельно рекомендовал установить MacVim через MacPorts ( sudo port install MacVim).

После установки MacPorts автоматически обновляет ваш профиль, добавляя / opt / local / bin в ваш путь, и поэтому, когда mvim устанавливается как / opt / local / bin / mvim во время установки MacVim, вы сразу обнаружите, что он готов к использованию. ,

Когда вы устанавливаете порт MacVim, пакет MacVim.app также устанавливается в / Applications / MacPorts.

Хорошая особенность маршрута MacPorts заключается в том, что вы также сможете установить git ( sudo port install git-core) и многие другие порты. Настоятельно рекомендуется.


1
Спасибо, я попробую. Я установил MacVim и Git, используя установщики пользовательского интерфейса. Но похоже, что Macports - это то, что нужно.
Фред

56
Не используйте версии портов Mac, если вам это абсолютно не нужно. Он устанавливает все библиотеки зависимостей, игнорируя нативные darwin. Это может, например, заменить ваш perl 5.10 на 5.8 в пути и т. Д. Вместо этого проверьте систему доморощения (brew).
Слава Надворный

3
@SlavaNadvorny может быть правдой, когда это было написано. В настоящее время у меня есть среда разработки с MacVim, scipy, haskell, несколькими версиями erlang, python и perl, которые работают должным образом с macports. То же самое было невозможно с варкой (в это время это было написано). Мне нравится установка brew без sudo, и мне бы хотелось, чтобы это работало в этом случае.

Использование homebrew тоже отлично работает brew install macvim.
Chev

2

Это работает для меня:

λ brew link --overwrite macvim
Linking /usr/local/Cellar/macvim/8.0-146_1... 12 symlinks created

2

Для .appпакетов Mac вы должны установить их через бочку, если она доступна, так как использование символических ссылок может вызвать проблемы. Вы даже можете получить следующее предупреждение, если вы brew linkapps:

К сожалению, brew linkappsне может хорошо себя вести, например, с помощью Spotlight, использующего псевдонимы или символические ссылки, а формулы Homebrew не создают «правильных» .app пакетов, которые можно переместить. Вместо этого рассмотрите возможность использования brew caskи переноса формул с помощью .apps в бочки.

Для MacVim вы можете установить с:

brew cask install macvim

После этого вы сможете запускать MacVim, как и любое другое приложение macOS, включая mvimилиopen -a MacVim с терминальной сессии.

ОБНОВЛЕНИЕ : немного разъяснений по поводу brewи brew cask. В двух словах, brewобрабатывает программное обеспечение на уровне Unix, в то brew caskвремя как расширяет функциональность brewдомена macOS для дополнительных функций, таких как обработка местоположения пакетов приложений MacOS. Помните, что brewэто также реализовано в Linux, поэтому имеет смысл иметь это разделение. Существуют и другие ресурсы, которые объясняют разницу более подробно, например, Какая разница между brewи brew cask? так что я не буду больше здесь говорить.


Можем ли мы добавить некоторую ясность о том, в чем разница между установкой в ​​бочке и установкой в ​​бочонке? Трудно сказать, в чем разница, когда работают команды установки бочки и не установки бочки ...
ftrotter

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