Firefox上打开的标签页太多怎么办?

我以Firefox作为我的第一浏览器,因为它有着非常多的扩展,可以打造成“我的浏览器”。但我这个人兴趣比较广,同时开着的标签页比较多,如何对付它们就是个问题。

1. 回收内存 Bar Tab

标签页太多的第一个问题就是占用内存大、启动时恢复比较慢,Bar Tab可以解决这个问题: 启动时只有最后激活的那个Tab会被加载,其它标签页的内容是暂时不加载的(只是内容不被加载,但Tab仍在那个地方,显示为谈色,你点击一下就可以了);运行中也可以点击右键菜单里面的Unload将内容卸载出去。

bartab

BarTab 2.0 针对Firefox 3.x

BarTab 3.0 这个版本是针对Firefox 4+版本的,但尚未正式发布,这里的链接是作者在github上的开发页面,点击那个ZIP字样下载,然后执行一下makexpi.sh或者 makexpi.bat就可以得到release.xpi,然后拖到Firefox的“附加组件”页面就可以了

UnloadTab 这个扩展的功能跟BarTab差不多,只不过是全手工控制

 

2. 分组管理: TabGroups Manager和TabGroups Menu

标签页太多了之后的另一个问题就是你会觉得找起来太累了,TGM这个扩展可以让你对它们进行分组管理:可以从一个组拖到另一个组,而且你可以将整个组休眠掉或者存到书签里(以便以后再打开)。TGM对session restore支持得很好,Firefox重启后你的分组不会丢失。

TabGroups Manager

不过呢,TGM跟Firefox 4+版本的“标签栏置顶”配合起来有点别扭:分组栏在下面,组内的多个Tab反而在上面,用起来感觉很奇怪吧?所以最新的版本里面好像TGM强制把它的工 具栏和标签蓝组合在一起了,也就是说TGM分组总之时在上方,这样的话标题栏这块实用面积又得放弃了——不过你也可以看看下面这段:

其实Firefox 4+自带分组功能(最开始叫Panorama,后来叫Tab Candy,最近文档里都只说Tab Groups了),只不过UI方式不太一样:你不能直接看到有哪些分组,得按一下Ctrl-Shift-E才行,切换组也得通过这个独立的界面才行(Ctrl-`也可以切换,但只能一个个轮换)。当然也有好处:它多了一个搜索功能。(其实最新的TGM可以跟Firefox 4+自带的分组功能结合起来,即采用它内置的分组方法,自己只提供切换工具栏和休眠等功能)。

如果你不愿让TGM吃掉你的"标签栏置顶“功能,你可以不装TGM而装这个TabGroups Menu扩展,它虽然没有TGM的休眠/恢复功能,但可以让你多一个菜单,列出所有的分组,你可以直接切换:

TabGroups Menu

 

3. 回收内存: Memory Fox

这个扩展很简单,就是自动回收内存——不过据我的观察,好像主要是将实际内存占用转为虚拟内存占用了。只能用于Windows XP.

Memory Fox

4. 将暂时不访问的页面分组存起来:TooManyTabs

这个扩展是网友介绍的,它的功能是提供若干个暂存工具栏,你可以将暂时不访问的页面“发送”到这个工具栏上暂时存放下来,以后想访问时再点一下就可以了,页面历史也不会丢失。内部采用了书签机制来存储,所以可以通过同步机制跨机器保留。

TMT这若干个工具栏其实也是一种分组,甚至它还有根据域名自动分组的功能——只不过只对暂时不访问的页面才分组,对正在浏览的页面则不能,因为这一点,其实我个人不太喜欢这个扩展。

TooManyTabs

Firefox上的窗口分割扩展(以及Vimperator/Keysnail插件脚本)

如果你用过Vim,就知道我们可以用:split 或者 :vsplit 把窗口分割成两个,每个窗口编辑/查看不同的文件,继续使用:split / :vsplit 可以继续分割。有时候需要对照着看一些内容的时候,这样的风格很方便(考虑到现在很多程序都抛弃了以前的MDI风格,而是采用了多标签页的风格,要参照一下另外一个标签页当中的内容,来回切换的话相当麻烦)。

Emacs 也有这样的功能,分别是用C-x 2和C-x 3来分割。

其实Firefox上也有一个扩展可以实现这样的功能:Split Browser (后来改名叫做Fox Splitter了,不过改名后好像没发过新版本),虽然最新的版本是20091105,但在新版本的Firefox上面仍然可以安装(该扩展标明是适用于3.0 - 3.7a1。Firefox 4上面我也没有测试过,但有另外一个叫做Tile Tabs的类似扩展声明是支持fx4的)。



如果你在用Keysnail,那么可以这部分代码拷贝到你的~/.keysnail.js里面去,然后你就可以象Emacs 那样来操作分割窗口了:(注意,按Emacs/Vim的术语,这里每个分割出来的部分都叫做window,跟Firefox 原本的Window不要混淆了——那个东西在Emacs里面叫做frame, 在Vim中好像没有对应的术语。而Emacs中又没有标签页的概念):

  • C-x 0   关闭当前窗口(delete-window)
  • C-x 1   关闭其它窗口(delete-other-window),即取消当前标签页内所有分割
  • C-x 2   纵向分割(split-window-vertically)
  • C-x 3   横向分割(split-window-horizontally)
  • C-x o   激活下一个窗口(other-window)
  • C-x k   关闭当前窗口或者标签页

如果你在用Vimperator,那么插件在这里[splitBrowser.js] ,下载后放到~/vimperator/plugin/目录。除了支持:split/:vsplit,它也支持<C-w><C-w>, <C-w><C-v>等快捷键。(Pentadactyl上没测试过,考虑到现在它跟Vimperator越来越不兼容,可能需要对脚本修改一下,这既然是爱折腾的vim粉丝,应该难不倒诸位:-)

另: FoxSpliter的源代码在这里: https://github.com/piroor/foxsplitter 有兴趣的可以下载一下最新的代码


Technorati 标签: , , ,

Pentadactyl

 

Searching...