Как запустить 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.