• 关于firefox上方的那几条工具栏,大多数人都会留着导航栏来放置一些常用按钮和搜索框,不使用本地书签的大概也不会留着书签栏,菜单栏应该是最不讨好的一条,要不隐藏,要不就缩成一个按钮。

    谈回vimperator。vimperator的默认界面里是没有菜单栏,书签栏和导航栏的,相信也不会有人喜欢把这些栏都显示出来。我们可以通过Y等指令操作导航栏的URL地址,可以通过qmark加入几十个书签,但是默认是不能对菜单栏的内容在命令行进行操作的。如果需要进菜单操作时,还不得不"set go+=m",操作完之后再"set go-=m",很是不方便。

    于是我们的日本网友就写出了一个可以在vimperator命令行控制菜单栏,导航栏按钮和书签栏指令的脚本command menu。

    安装方法:

    1. 首先要安装XUL/Migemo这个支持正则表达式和日语汉字读音搜索的扩展: https://addons.mozilla.org/zh-CN/firefox/addon/5239

    2.在官网脚本界面 以Original Format格式下载文件,放置在VIMPERATOR_HOME\vimperator\plugin\目录或子目录下后,重启firefox。

    然后键入:menu,空格后shift,菜单栏的菜单就可以出现在命令行了。

    选择子菜单的方法是在上一层的名称后面加“-”,比如我想换字符编码:

    此外还提供:toolbar这个更强悍的指令,里面除了包括菜单栏的指令外,还有书签栏(我不用本地书签,新浪微博和豆瓣这些是演示这个效果加上来的)和导航栏上的指令(lasspass和profile manager我放在导航栏上了)。最小化恢复和关闭的按钮也有-_-。

    总体来说菜单里选择指令的速度不如鼠标操作,但在隐藏菜单栏的情况下这也不失为一种贯彻命令行的方案。而且熟练之后直接输入的速度说不定还要快过鼠标呢。

  • Vimperator的hints模式(页面加载完成后,按f/F键后在所有链接附近显示数字/字母,然后输入对应数字/字母就可以在前台/后台打 开对应链接)应该是键盘流打开链接的现有的最好的解决方案,但是需要等待页面加载出数字或字母组合后才能选择,操作上的流畅感远不如鼠标。

    这次介绍的脚本,可以使点击中文名称的链接时的流畅感大幅增加,不需要等着看到数字或字母后再输入,而是直接输入链接文字的拼音首字母,自动匹配并跳转。

    举个例子吧,比如我用google搜vimperator,然后按下f。

    然后我想看某条焦点,需要输入C呀B呀什么的。

    现在只需要看好标题,想看“巧用firefox保护个人隐私”这条,甚至不用等字母出现,输入“GRYS(个人隐私)”或者“YS(隐私)”,或者随意的拼音首字母,都会载入链接。

     

    具体的安装方法请移步作者aggerGoogle Code页面

    另外,默认安装vimperator后hints模式的提示字符是数字的,想换成字母的可以使用官网的脚本:http://bit.ly/GikQf

     

  • fx默认的标签栏标签长度是100~250,如果需要开很多标签,那标签栏就会混乱不堪。

    关于节省标签栏空间,目前已有很多解决方案。比如定制userchrome.css实现标签栏自动隐藏(设置高度),宽屏可以通过扩展实现在边栏显示树状标签,也可以修改配置里的标签长度(或使用相关扩展实现)。这里就提供另外一种方案。直接上图说明:

    当前激活标签页显示原长度的标签(默认的250),未激活的标签自动缩短到图标长度。

    切换后的效果。

    另外鼠标悬停的标签也会自动拉长。(图片是偷的- -)

    这样一来可以解决标签栏空间的问题(20+个标签应该都没问题了),二来可以隐藏不想让别人看到的标签标题(或者图标,可以在userchrome.css设置),三来会让标签栏清爽不少,用另外一个Gmail图标显示未读邮件的js脚本设置可以代替对应的邮件提醒扩展(当然内存可能耗的多一些),greader也可以实现相同功能。

    定制方法如下:

    需要1~2个扩展:Faviconize Tabstylish。stylish不是必备的,可以通过编辑userchrome.css实现相同功能,但stylish更方便一些,这里就以它为说明了,懂得编辑userchrome.css的应该也能看明白。

    然后来这里安装这个脚本,并依照说明,将“

    tab[faviconized="true"] {
    min-width: 36px;
    max-width: 36px;
    }tab[faviconized="true"] .tab-text,
    tab[faviconized="true"] .tab-close-button {
    display: none;
    }”

    粘贴到fx的配置profile/extensions/faviconizetab@espion.just-size.jp/content/faviconizetab.css内,

    最后在这个addons的选项里auto faviconize里写“*”,如下图。


    重启fx应该就可以实现对应效果了。

    这方案让我不习惯的一点是,用鼠标点击标签会激活改标签长度修改,对应的标签就会在标签栏跳来跳去的- -。因此,还是键盘流王道呀。

  • Ubiquity是mozilla lab的一只很出色的扩展,在用它的人应该比用vimperator的多。其实U的命令行输入指令和vim精神仍是统一的,甚至大部分U的指令都可以直接使用vimperator或调用相关脚本实现。目前U的指令库要大于V的脚本库,懒人没功夫研究改写脚本,但又想在V的命令行使用U的指令怎么办?

    ——曲线救国,用脚本实现在V的命令行调用Ubiquity的指令。

    扩展呀什么的该装都装上,这两只都支持3.5的。

    然后到V的官方Trac找到Ubiquity integration(http://vimperator.org/trac/ticket/161),以Original Format格式下载来之后,改名成ubiquity.vimp(文件名随意,后缀必须是vimp),在文本的首尾分别加上“js<<EOF”和“<<EOF”后扔到HOME路径\vimperator\plugin目录下。(具体可以参考之前的脚本加载方法:http://luoxiqofy.blogbus.com/logs/38133484.html)res重启fx,在命令行输入ubiquity,Tab一下就会自动提示指令了。

    这和直接用ubiquity的快捷键调出u的命令行来操作没什么区别,但是至少说明了vimperator作为扩展之神的可扩展性- -。


    不过目前我还是不能直接加载javascript文件,只有写在vimp文件里的才被识别出来了。可疑惑死我了。。

  • 漆黑一片是vim的标签之一,不过花花绿绿的网页下面始终是那么个黑色的vimperator的状态栏,时间长了也会视觉疲劳。
    对于神物vimperator来说,支持CSS自定义自然是不在话下,有了之前配置脚本的经验,这次给小v配色就熟练多了。
    还是记录下经过,以飨V控,共同进步=,=。
    环境:Windows XP SP3,Firefox 3.0.9(今天刚更新的),Vimperator 2.0.

    1.装fx,装小v这些必要步骤就不提了,能搜到这文章的还没装过这些东西的是神人。
    2.配置HOME环境变量,注意重启电脑。
    3.新建配色文件,放置在HOME路径\vimperator\colors文件夹下。(例中HOME路径为"f:\vimperaor",配色文件名为"test.vimp").


    4.配色文件格式为:
    highlight {group} {css}
    group为指定的小V组件位置,css为配色和其他css内容。例如:
    highlight StatusLine color:#bf783a; background:#d6c6af; //颜色琥珀,背景亚麻
    highlight CmdLine color:white; background:#fef4f4;  //颜色白,背景樱
    关于可以使用的组件名称,可以在help的styling里查看。中文文档可以在此下载:http://code.google.com/p/cvimp/。
    5.保存好配色文件后,在小v的命令行输入":colo "+不带vimp后缀的文件名(例如“:colo test”).

    不再漆黑- -。

     

    补充:

    晚上开电脑居然又漆黑了= =。

    之后发现其实把需要的CSS写在配置文件里就可以了,这样每次启动都可以自动适用配色。而上面的方法适用于某一个session中想切换颜色,两个方法适用于不同需要~

  •     ——早上起来就开始鼓捣vimperator(下略为V),宏功能很简单就配置好了,但在调用脚本上折腾了很久。记录下出现的问题和解决思路,供入门级的V控参考。

    OS:Windows XP SP3
    firefox ver:3.0.8
    V ver:2.0

    1.参照帮助文件,新建helloworld.js文件:
    function hello2() {
      alert("Hello world");
    }
    放置在C:\Documents and Settings\Administrator\vimperator\plugin下,res重启后无效果。
    在配置文件的runtimepath下添加“C:\Documents and Settings\Administrator\vimperator\”后res,用runtime指定文件位置加载,提示找不到文件。直接用“:so C:\Documents and Settings\Administrator\vimperator\plugin\helloworld.js”依然报错。

    2.在V官方trac上找到“%HOME%\vimperator\plugin on Windows”这段话,说明会自动加载此位置的脚本。既然没成功,那只可能是HOME的环境变量没有设置。在“初始化”帮助里找到一段说明:
    在 Windows 系统中,Vimperator 会检查 %HOME% 变量,然后是 %USERPROFILE% 变量,最后是 %HOMEDRIVE%%HOMEPATH% 变量,并使用找到的第一个变量指定的目录作为家目录。
    Windows系统一般没有HOME这个变量吧?又不是linux。我的%USERPROFILE%是在“C:\Documents and Settings\Administrator”,这也就可以理解为什么配置文件会放在这个位置了。
    于是我的电脑-属性-高级-环境变量,设置了HOME到“F:\vimperator”后res,依然无效果。进注册表折腾了几次后还是不行。之后意外看到有页面说需要重启电脑,重启后发现环境变量已经配置成功。(同样是设置系统变量,我怎么记得之前配JAVA_HOME的时候不需要重启的?大概是因为HOME是更底层的变量吧,姑且这么理解)。

    3.将脚本移动到F:\vimperator\vimperator\plugin下后res依然无效。用scriptnames命令查看已加载的文件发现只有配置文件,于是runtime plugin/helloworld.js,居然提示“js is not defined”。网上搜不到任何解决方案,帮助里说是支持JS文件的,会不会是中文版扩展的bug?(我用的汉化的V)

    4.接着看帮助文件,runtime的用例里的文件名后缀是.vimp,于是把helloworld.js重命名为helloworld.vimp。res后scriptnames终于可以看到该文件已经加载了。但是为什么不弹框呢?我又看了下脚本,囧到不能行了,之后方法声明没有方法调用,能弹框才是见鬼了。于是exeute hello2(),继续无效-____-.

    5.还是看帮助,在source命令的用例里发现这么一段:
    js <<EOF
    hello = function () {
      alert("Hello world");
    }
    EOF
    就是说是否是只有加上前后缀V才能在加载的时候识别?于是修改helloworld.vimp为:
    js <<EOF
    hello = function () {
      alert("Hello world");
    }
    EOF
    function hello2() {
      alert("Hello world");
    }
    res后execute hello2(),无效果,hello(),弹框了~


    总结一下:
    1.设置HOME环境变量,需重启电脑。
    2.vimp文件中需加入“js <<EOF”和“EOF”包住JS脚本,V才可以识别。
    3.至于JS文件为什么被说成没有定义,还需要再测试。

    P.S.和这个关系不大的一点,在V的trac上下脚本的时候,直接点击文件名另存为的是HTML文件,存为JS文件载入的话fx会卡住的- -。要在代码画面用页面下方的original format的链接下载才行(亏我用trac那么久- -)