繁体   English   中英

如何在vimrc配置中使用Firefox运行php文件?

[英]How to run the php file with firefox in vimrc configuration?

我在vimrc配置文件中设置了php命令行模式。

nmap <F5> :!php %

当在php命令行模式下按F5键时,它将运行当前的php文件。

现在我想在Firefox浏览器中运行当前的PHP文件,如何映射F6来完成这项工作?

nnoremap <F6>f :exe ':silent !firefox  "http://127.0.0.1/". "%"'<CR>

何时按F6键无法运行。

想想扎克。
该命令已更改为nnoremap f:silent!firefox“ http://127.0.0.1/%

test.php文件是在vim中编辑的,我的文档根目录是/var/www ,当按F6和f时,firefox打开了。

http://127.0.0.1//var/www/test.php
未找到

在此服务器上找不到请求的URL /var/www/test_equal.php。 位于127.0.0.1端口80的Apache / 2.2.22(Debian)服务器

现在的问题是如何修复“ http://127.0.0.1/% ”以进行更改

 http://127.0.0.1//var/www/test.php  into   http://127.0.0.1/test.php

这里的当前文件是/var/www/test.php(%)。

为什么我的命令无法运行?

 nnoremap <F6>f :silent !firefox -new-window "http://127.0.0.1/"{expand('%:t')}

编辑:看来,有时您不在该目录中时,会在vim中创建文件(例如,从该目录中的vim /path/to/newfile.php而不是vim newfile.php )可能会更改%的值。 在这种情况下,只需使用%:t抓住尾巴即可。 因此,请尝试以下操作:

nnoremap <silent> <F6>f :!firefox 'http://127.0.0.1/%:t' &<CR>


TL; DR:在Mac上,这样的方法应该起作用:

nnoremap <F6>f :silent !/Applications/Firefox.app/Contents/MacOS/firefox -new-window "http://127.0.0.1/<C-R>%" &<CR>

在Linux或Windows上,只需根据需要替换Firefox的路径。

如果获取的是http://127.0.0.1//var/www/test.php而不是http://127.0.0.1/test.php则仅需要文件名而不是路径。 尝试像这样使用<CR>% (我直接指的是firefox安装路径):

nnoremap <F6>f :silent !/Applications/Firefox.app/Contents/MacOS/firefox -new-window "http://127.0.0.1/<C-R>%" &

如果已经设置了firefox命令,请firefox原样继续并使用:

nnoremap <F6>f :silent !firefox "http://127.0.0.1/<C-R>%"

当然,这假设您的firefox命令已正确设置。

另外,请确保您使用文件名保存文件,否则使用%将不起作用。

对于某些人,使用:silent仍然会弹出“按Enter键进入”常规提示。 如果发生这种情况,请尝试在末尾添加& 例如:

nnoremap <F6>f :silent !/Applications/Firefox.app/Contents/MacOS/firefox -new-window "http://127.0.0.1/<C-R>%" &

无论哪种方式,它仍然会要求您在最后按Enter。 如果这不是您想要的,请在末尾添加<CR><ENTER> 像这样:

nnoremap <F6>f :silent !/Applications/Firefox.app/Contents/MacOS/firefox -new-window "http://127.0.0.1/<C-R>%" &<CR>

编辑:似乎确实有一个很烦人的问题,因为如果您在Vim中使用此键绑定并运行了firefox进程,则会收到一条错误消息,指出一次只能运行一个版本的Firefox。 无论是否使用-new-window-new-tab或都不使用,都会发生这种情况。 似乎早在2010年就报告一个与此有关的旧错误,但我一直找不到最新的错误。 我将看看是否能找到一种解决方案,而不仅仅是杀死已经运行的Firefox(那会很麻烦)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM