【发布时间】:2010-01-11 03:58:08
【问题描述】:
基本上,我想告诉 Vim:
- 打开我的网络浏览器(例如,Firefox)
- 打开这个文件(比如 index.php),想到这个地址:http://localhost
- 换句话说:http://localhost/index.php
PS:不幸的是我使用的是 Windows XP
【问题讨论】:
-
基本上 Vim 是一个编辑器,我认为你必须编写一个 shell 脚本来做到这一点。谢谢
基本上,我想告诉 Vim:
PS:不幸的是我使用的是 Windows XP
【问题讨论】:
如果你在 Windows 上运行 Vim,那么这将起作用:
:! start http://localhost/index.php
这将使用默认浏览器,如果您想启动特定浏览器,那么您将需要可执行文件的显式路径(而不是启动)。
来自 Vim help cmd:
:!{cmd}
执行 {cmd} 贝壳。另见“外壳”和 'shelltype' 选项。
显然,如果您在其他系统上,您只需要使用适当的命令在该平台上启动浏览器。
【讨论】:
在mac上你可以
:!open http://localhost/index.php
【讨论】:
在 Unix/Linux 上,使用
:! firefox http://localhost/%:p
%:p 是当前缓冲区的路径和文件名
【讨论】:
您需要使用适合您环境的方法来启动网络浏览器but you already asked a question about that。
所以,请使用:!start cmd /c ...、!d:\path\to\firefox ... 或其他。重要的一点:您需要使用"http://localhost/" . expand("%:t") 作为传递给浏览器的参数。所以,做类似的事情
:exec ":!start cmd /c ... " . "http://localhost/" . expand("%:t")
^- leave a trailing space here
编辑: 澄清:expand("%:t") 是一个 Vim 脚本表达式,它扩展为当前文件名的最后一个组成部分。在 Windows 上,这意味着如果当前文件名是 C:\a complicated path\to\index.html,expand("%:t") 将返回 index.html。
HTH。
【讨论】:
%:t 来表示“正在编辑的文件的最后一个路径组件”,即文件的基本名称(如index.html 在C:\path\to\index.html)。