如何从终端运行mvim(MacVim)?


258

我已经安装了MacVim,并试图将其设置为Git(版本控制)的编辑器,但由于无法识别,因此无法从命令行运行“ mvim”。如何设置mvim,以便可以从Terminal运行它?


3
vim从命令行尝试。
pavium 2010年

4
免责声明:这适用于Linux,所以我想它与Mac相似。尝试查看路径(使用“ echo $PATH”),然后将文件夹添加到MacVim可执行文件(如果尚未存在)(使用“ export PATH=$PATH:path/to/folder”)。注意$标志,它们很重要!
劳拉

Answers:


190

.bz2文件的根目录中应该有一个名为mvim的脚本。将其复制到$ PATH中(/ usr / local / bin会很好),然后应该对您进行排序。


9
您在哪里找到bz2文件?
jnthnclrk 2011年

2
一年前,这就是您下载MacVim时得到的。现在是一个.tbz文件,但是脚本仍然存在。
戈登·罗伯逊

5
您可以使用根目录中的find查找文件。sudo find . -name mvim我的位于/ Applications / MacVim-snapshot-64 / mvim中。
tltjr 2012年

19
由于mvim只是一个shell脚本,因此您可以从GitHub的MacVim源直接下载它:此处:raw.github.com/b4winckler/macvim/master/src/MacVim/mvim
Brad Parks

3
按照:help mvim,我必须添加/Applications/MacVim.app/Contents/bin到我的路径中,然后它才能正常工作。
hraynaud

210

我认为我不会在路径中添加任何内容,

brew install macvim

mvim -v

然后应该在终端中打开macvim,您也可以继续并别名

alias vim='mvim -v'

38
今天使用自制软件阅读此文件的任何人都必须brew linkapps在安装macvim之后运行。
亚伦湖

1
如果您已从源代码或下载位置安装了“ -v”选项,并且在其他答案中也有显示,则该选项有效。
布莱恩·海德

7
brew linkapps --system如果需要,请在/ Applications文件夹中。
mk12 2013年

如果运行brew linkapps无济于事,还请运行brew doctor并注意与macvim相关的警告消息- brew link --overwrite macvim如果建议,则可能需要运行。
艺术

出于某种原因,使用此-v标志无法更改字体。
Ixx

106

如果您采用冲泡路线,则最好的安装方法是:

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

这将在/ usr / local / bin中提供mvim,vim,vi,view等(所有符号链接到Cellar中的副本)。这也消除了创建任何别名的需要,并且还更改了vi,vim等,使其全部使用与MacVim相同的Vim发行版。


虽然--override-system-vim确实创造了一些符号链接的对我来说,它没有覆盖/usr/bin/vim/usr/bin/vi,所以我仍然不得不手动alias这些在我的.profile
davetapley

12
Dave,听起来像是PATH问题,/ usr / local / bin必须在PATH中排在首位。指向Brew的答案应该是第一答案,因为它可以为您提供所需的一切。
杰森·亚诺维兹

3
运行fyi brew doctor时应通知您Brew 的任何PATH或配置问题。
安德鲁(Andrew)

太棒了!感谢您发布此信息。我添加了--override-system-vim,甚至都没有意识到它会多么有用。
xer0x 2014年

这对我不起作用,不确定该论点是否仍然有效??

43

另外,如果要使用MacVim(或GVim)作为$VISUAL$EDITOR,则应注意,默认情况下,MacVim将从父进程派生一个新进程,从而导致MacVim返回值未到达父进程。这可能会使其他应用程序感到困惑,但是Git似乎会检查临时提交消息文件的状态,从而绕过此限制。通常,export VISUAL='mvim -f'确保MacVim 在调用时不会派生新进程是一个好习惯,当与外壳环境一起使用时,该进程将为您提供所需的东西。


30

如果您已经安装了macVim: /Applications/MacVim.app/Contents/MacOS/Vim -g将为您提供macVim GUI。

只需添加一个别名。

我使用gvim它是因为这是我在Linux上用于gnome-vim的功能。

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


1
同时使用alias vim=/Applications/MacVim.app/Contents/MacOS/Vim也是个好主意。然后,您无需通过MacPorts或Homebrew安装MacVim即可在终端中更新Vim,只需从GitHub发布页面安装发布包即可。
w0rp

注意:如果自制软件由于任何原因都停留在macOS的“此旧版本”而拒绝安装macvim,这也很有用。:)
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已弃用,最终将被移除!
马克

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的目录。
Michael Durrant

当您从源代码github.com/macvim-dev/macvim/blob/master/README_mac.txt构建MacVim时,此方法有效,谢谢@douglas
mbenegas 2015年

1
可能ln -scp它更好。
nnutter

1
使用此-v标志更改字体无效。-v启用vi模式。可以想象除设置自定义字体外,其他情况在此模式下不起作用。
Ixx

11

我在这里添加Bard Park的评论,因为这对我来说是真正的答案:

由于mvim仅仅是一个shell脚本,因此您可以从GitHub的MacVim源直接下载它:http ://raw.github.com/b4winckler/macvim/master/src/MacVim/mvim


/ usr / local / bin在我的PATH中,但是bin文件夹不存在。我在直接在/ usr / local中工作时遇到了麻烦(可能是权限问题),因此我在Documents文件夹中创建了bin目录。我在那里创建了一个mvim文件,并将Bard Park链接的内容复制到了该文件中。我将带有mvim脚本的bin文件夹拖到/ usr / local。要求我输入密码,然后将其放置在我想要的mvim脚本中。但是脚本尚未运行。我输入:sudo chmod 755 mvim来授予脚本执行权限。现在,当我键入mvim filename时,从命令行启动MacVim。
杰里·弗罗斯特

为了将bin文件夹拖到/ usr / local中,首先输入:open。从/ usr / local中的命令行。这样做会打开该文件位置的finder GUI。
杰里·弗罗斯特

8

我强烈建议您通过MacPortssudo port install MacVim)安装MacVim 。

安装后,MacPorts会自动更新您的配置文件以在路径中包含/ opt / local / bin,因此,在安装MacVim期间将mvim安装为/ opt / local / bin / mvim时,您会发现它可以立即使用。

当您安装MacVim端口时,MacVim.app捆绑包也会同时安装在/ Applications / MacPorts中。

进行MacPorts路由的好处是,您还可以安装git(sudo port install git-core)和许多其他端口。强烈推荐。


1
谢谢,我去试试。我使用UI安装程序安装了MacVim和Git。但是它看起来像Macports是要走的路。
Fred

56
除非绝对需要,否则不要使用mac端口版本。它安装所有依赖库,而忽略darwin本机库。这可以用路径中的5.8等替换您的perl 5.10。请改用自制软件(brew)系统。
Slava Nadvorny 2010年

3
撰写本文时,@ SlavaNadvorny可能为真。我目前有一个MacVim,scipy,haskell,erlang,python和perl的多个版本的开发环境,都可以在macports上正常运行。对于brew来说,这是不可能的(目前已写成)。我确实喜欢brew的非sudo安装,并希望在这种情况下可以正常工作。

使用自制软件也很好brew install macvim
Chev

2

这对我有用:

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

2

对于Mac .app捆绑包,应使用桶(如果可用)安装它们,因为使用符号链接可能会引起问题。如果您遇到以下情况,甚至可能会收到以下警告brew linkapps

不幸的是brew linkapps,例如,使用别名或符号链接的Spotlight不能很好地工作,并且Homebrew公式无法建立.app 可重定位的“正确” 捆绑软件。相反,请考虑使用brew cask并使用.apps 将公式迁移到木桶。

对于MacVim,您可以安装:

brew cask install macvim

然后,您应该能够像执行其他任何macOS应用一样启动MacVim,包括mvimopen -a MacVim从终端会话启动从终端会话启动。

更新:关于brew和的一些澄清brew cask。简而言之,brew可以在Unix级别上处理软件,而brew cask将其功能扩展brew到macOS域中以获取其他功能,例如处理macOS应用程序包的位置。请记住,这brew也是在Linux上实现的,因此有必要进行此划分。有一些更详细地解释了区别其他资源,如之间有什么区别brewbrew cask所以我在这里不多说。


我们能否就使用cask安装与不使用cask安装之间的区别添加一些清晰度?很难说当桶安装和不桶安装命令都起作用时的区别是什么...
ftrotter

我添加了一个简短的内容,但是我不知道所有细节,因此我没有详细介绍。
Ryan H.
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.