MacVim:打开webview或显示TextMate等工具提示

时间:2011-04-09 22:24:41

标签: vim textmate macvim

我开始使用VIM并尝试理解它。我目前使用TextMate进行Web开发,因此我可以构建很好的命令,它可以将我当前的文档/选择显示为非常快速的Web视图,或者通过工具提示发送一些结果。

我认为将此问题提交给MacVim更合适,因为它可以访问GUI元素,所以有时可能会这样吗?

HTML Output for Commands”是一个很好的解释。

所以我想知道它是否可以像TextMate一样将命令输出到HTML窗口?

或者我是否必须创建自己的程序来接受STDIN并将其显示为视图上的html输出?

工具提示相同吗?

我希望MacVim可以访问Cocoa库和GUI元素,或许它已经有了这样的功能吗?

对不起,如果我误解了这里的事情,我真的觉得迁移是个好主意,但显然我想保留我使用的漂亮而快速的工具,而不会失去良好的视觉吸引力。

1 个答案:

答案 0 :(得分:4)

  

所以我想知道它是否可以将命令输出到html窗口,就像TextMate一样?

你可以让vim在命令行发出命令,告诉浏览器打开你正在编辑的文件。

在Mac上,在命令行或MacVim上使用vim,如果你在缓冲区中编辑一个名为“test.html”的文件,它就在你的桌面文件夹中:

:!open ~/Desktop/test.html

将在浏览器中打开或重新打开该文件。因此,当您进行更改时,您会发出更改,浏览器将使用最新版本的文件到达前台。您可以使用其他选项“打开”来指定要使用的浏览器。并且,您可以轻松添加按键以打开当前文件,即命令行中的“%”。

如果要在vim中捕获命令的输出,有几种方法可以做到这一点。如果执行命令,vim将在临时缓冲区中捕获其输出以供查看。

:!ls

显示:

:!ls
Desktop         Downloads       Library         Music           Photo Tools     Public          VirtualBox VMs  bin
Documents       Editors         Movies          Music Tools     Pictures        Sites           Web Tools

您还可以查看Command - R like functionality in MacVimVim - Displaying Code Output in a New Window á la Textmate?中的内容。

我不确定“工具提示”是什么意思。通常,它指的是鼠标尖端的弹出文本,提供上下文相关的帮助。你不能通过它发送文字,所以你对这个词的使用是混乱的。

MacVim和vim确实具有类似代码段的功能,并且可以编写脚本,可以处理当前选择的文本,还有更多。重要的是要理解MacVim是常规vim编辑器之上的GUI层,因此有些事情是不会做的,因为vim的引擎并不容易。这并没有让我感到困扰,因为如果我需要一个特定的TextMate功能,我会启动它,使用那个特定的东西,然后如果我愿意的话跳回来。但是,这对我来说并不常见。

您可能希望在页面的右侧查看SO上的一些相关线程,再看一下vim的插件,如:

我一直使用上面的那些。如果我没有它们,我会想念以下的那些。


编辑:

将临时缓冲区捕获到Vim中的新缓冲区非常简单:

:redir @a
:sil !ls -al
:redir end
:vnew
"agp

第二行:sil !ls -al可以是任何命令的执行。 :sil告诉Vim不要将输出回显到临时缓冲区,而是静默捕获它,从而摆脱“按任意键”暂停。

:vnew创建一个垂直拆分,其中包含一个新缓冲区。如果您想要一个新标签页,可以使用:tabnew

"agp告诉它使用缓冲区@a并将输出粘贴到当前缓冲区并将光标留在粘贴的文本下面。