MacVim在现有窗口中打开文件

dav*_*ron 49 tabs macvim

有没有办法设置MacVim在正在运行的MacVim实例的当前窗口中打开一个新文件?我目前有MacVim首选项"在当前窗口的新选项卡中打开新文件"设置,但理想情况下我只想以":e new_file"的方式打开新文件,没有选项卡.

我的主要动机是我目前使用NERDTree和Bufexplorer作为我的工作流程,根本不需要选项卡.我也使用PeepOpen,除了它总是打开基于MacVim首选项的文件之外,它很棒,所以我能做的最好的事情就是在当前的MacVim窗口中打开一个新选项卡.

小智 51

  1. 更新到MacVim 7.3
  2. 进入常规首选项
  3. 在"从应用程序打开文件:"中选择"在当前窗口中"
  4. 在此选项下方的下拉菜单中选择"并设置arglist"

  • 这仅适用于在Finder中打开的文件 - 从终端执行`mvim filename.txt`仍会打开多个窗口.参见[此邮件列表讨论](http://vim.1045645.n5.nabble.com/How-do-I-open-a-file-from-the-Terminal-into-MacVim-s-current-window- td1220082.html) (24认同)
  • 命令行正是我遇到的问题.总结一下这个链接:在你的.bash_profile中添加别名vi ="open \"mvim:// open?url = file:// $ 1 \"",然后当你执行"vi foo"时,它会在新标签中打开foo在您现有的MacVim窗口中.真棒! (12认同)
  • 我了解到,你也可以做`mvim --servername VIM --remote路径/到/ file.txt`(RE:@mattb感谢链接到邮件列表讨论)在当前窗口中打开.您只需要知道窗口的名称,您可以在文件名和目录旁边的顶部找到它 (4认同)

Dan*_*Dan 28

您还可以添加:

alias mvim='open -a MacVim'

到你的 .bash_profile

这对我来说似乎是最简单的解决方案.

  • 是 - 此加设置"首选项" - >"从应用程序打开文件"到"并设置arglist"(或"为每个文件添加一个标签",对于那些*做*喜欢标签的人 - 在拆分窗口中打开也是一个选项)效果很好,谢谢! (4认同)
  • 效果很好,但由于自制软件版本控制,我最终运行了多个 MacVim.app 副本。我的解决方案是将其更改为`alias mvim='open -a /Applications/MacVim.app'`。 (2认同)

bry*_*edy 15

您可能还会在编辑主mvim脚本时考虑此提示.

改进MacVim的mvim

这种修改不那么严重,也有效:

MacVim支持制表符,但遗憾的是,从命令行多次调用`mvim导致多个单独的窗口打开,而不是在一个窗口中打开多个制表符.我对mvim脚本进行了以下修改以纠正此问题.

将以下行添加到文件顶部,在注释部分下方:

tabs=true
Run Code Online (Sandbox Code Playgroud)

使用以下内容替换文件底部的if结构:

# Last step:  fire up vim.
if [ "$gui" ]; then
  if $tabs && [[ `$binary --serverlist` = "VIM" ]]; then
    exec "$binary" -g $opts --remote-tab-silent ${1:+"$@"}
  else
    exec "$binary" -g $opts ${1:+"$@"}
  fi
else
  exec "$binary" $opts ${1:+"$@"}
fi
Run Code Online (Sandbox Code Playgroud)

(来自命令行的Open MacVim选项卡)

显然,当你进行MacVim更新时,这些都是一些不太理想的b/c你必须保持黑客攻击.但他们在新的Mac Vim标签中帮助我从终端打开多个文件.


小智 15

在看到这里的所有内容并尝试使用什么之后,我个人使用这样的命令

mvim --help 
Run Code Online (Sandbox Code Playgroud)

出现.

我找到

mvim --remote-tab-silent foo.txt
Run Code Online (Sandbox Code Playgroud)

为我工作然后我很快为我添加了一个别名.profile.是的,如果您在选项后没有提供文件,那就是barfs,但是谁打开了一个没有名字的空白文件?

  • 谢谢!之前的建议没有给我我想要的,但这确实做到了!+1 :-) (2认同)
  • `mvim --remote-silent foo.txt` 适合那些不喜欢选项卡的人。 (2认同)