使用TextMate:
是否可以指定一个快捷方式来预览/刷新当前编辑过的HTML文档,例如Firefox,而不必先点击保存?
我正在寻找与TextMate的内置Web预览窗口相同的功能,但我更喜欢外部浏览器而不是TextMate。 (主要是为了使用诸如Firebug之类的JavaScript控制台)。
是否可以通过shell管道当前未保存的文档,然后在Firefox中预览。如果有的话,是否有人为此创建了TextMate命令,愿意分享它?
答案 0 :(得分:1)
不是琐碎的。最简单的方法是将当前文件写入临时目录,然后启动该文件..但是,这会破坏任何相对链接(图像,脚本,CSS文件)
添加一个包:
Input: Entire Document
Output: Discard
Scope Selector: source.html
脚本:
#!/usr/bin/env python2.5
import os
import sys
import random
import tempfile
import subprocess
fname = os.environ.get("TM_FILEPATH", "Untitled %s.html" % random.randint(100, 1000))
fcontent = sys.stdin.read()
fd, name = tempfile.mkstemp()
print name
open(name, "w+").write(fcontent)
print subprocess.Popen(["open", "-a", "Firefox", name]).communicate()
正如我所说,这不会与相对资源链接一起工作,这可能是一个大问题。另一个选择是从现有的“刷新浏览器”命令修改以下代码行:
osascript <<'APPLESCRIPT'
tell app "Firefox" to Get URL "JavaScript:window.location.reload();" inside window 1
APPLESCRIPT
不是让javascript重新加载页面,而是可以清除它,并使用一系列document.write()
调用来编写当前文档。这个问题是你不能保证当前的文件是你要替换的文件.Windows 1可能已经改为另一个网站等,特别是标签浏览..
最后,一个没有巨大缺点的选项:使用版本控制,特别是其中一个“分布式”控件,您不必将更改发送到远程服务器 - git,mercurial,darcs, bazaar等(也都有TextMate集成)
如果您的代码处于版本控制状态,那么在预览之前保存是无关紧要的,如果您破坏某些内容并丢失撤消缓冲区,也可以始终返回上次提交的版本。
答案 1 :(得分:1)
您可以使用以下内容,只需将“Safari”替换为“Firefox”即可: http://wiki.macromates.com/Main/Howtos#SafariPreview
答案 2 :(得分:1)
打开Bundle Editor(控制+选项+命令+ B) 滚动到HTML Bundle并展开树 选择“在运行的浏览器中打开文档” 分配激活密钥等效(快捷方式) 关闭包编辑器
答案 3 :(得分:0)
我不认为这是可能的。但是,您可以启用“原子保存”选项,以便每次将选项卡添加到Firefox时都会保存项目。
如果您找到合适的Firefox实时预览解决方案,请告诉我们。