有人总是说Vim难学,而Vimperator把火狐变成了VIM,所以很多人就认为只有那些VIM的狂热者才会用这个插件,但实际上并不是这样。Vimperator在安装之后,只要稍加练习,就可以让我们的浏览更有效率。它的最大的特点就是利用键盘代替了鼠标,但同时不排斥鼠标,所以,经过一段时间之后,使用者就会发现自己已经不能离开这个插件了(这其实是我的感觉,大家可以试一试)。举个例子,Vimperator使用键盘上的这几个键滚动页面,习惯之后确实非常方便。
j(向下滚动一行)
h(向左滚动) l(向右滚动1列)
k(向上滚动一行)
这4个键就是VIM中的四个光标移动键,其实我们有时候打电脑游戏也经常会定义类似的键。这个好处就是不用怎么移动手指头就能直接滚动页面。在日常浏览中,一般也就是使用一下j(向下滚动)和k(向上滚动)
(2)打开和关闭网页
在安装Vimperator之后,它会把火狐中所有的菜单和工具栏都隐藏起来,所以,新手会感到无法下手。实际上,进入火狐后,只要按下键盘中几个字母,就可以顺利地完成浏览任务(注意大小写字母,Vimperator区分大小写):
打开特定的网址。url假如是一个网址的话,则直接打开该网址,而假如不是网址的话,则用默认的搜索引擎搜索这个关键词。如果第一个关键词是搜索关键字,则通过指定的搜索引擎搜索后面的关键词。这三条命令分别对应“该页面”“在新的标签页”“在新的窗口”打开相应的URL,并且也和快捷键o/t/w一一对应。
o
按了这个字母后,Vimperator就会在火狐的底部自动填入:open ,示意这个字母代表命令Open,即打开一个网址,所以,在这之后,只要直接输入网址,按回车就可以浏览指定的网站了,比如,按字母o之后,输入www.iteye.com然后按回车,就可以浏览Java视线网站了。
t
这个和o的用法一样,但是代表TabOpen,即在一个新的标签页中打开网站,而o则是在当前的标签页中浏览网站。
w
代表WinOpen,即在一个新窗口中打开网站。
d
代表Delete,即关闭当前正在浏览的网站所在的标签页,这个用起来可比鼠标要方便很多,尤其是在打开了很多标签页面的情况下。
u
代表Undo,即恢复最近一次被关闭的标签页面。
以上的这些字母其实都是Vimperator提供的命令模式的快捷键,但都比较好记忆。
Vimperator提供的这些命令实际上都可以先进入命令输入模式,然后输入对应的命令完成。进入命令模式的方法就是先输入冒号(:),之后火狐的底部会出现输入提示的光标,这时就可以输入对应的命令的全称后,按回车键进行确认。下面再介绍三个常用的命令。
:q
关闭当前的火狐窗口
:qa
关闭所有的火狐窗口,并退出火狐
:wq
关闭所有的火狐窗口,并保存这些窗口中打开的网站,然后退出火狐,下次启动火狐时,将恢复这些窗口中浏览的网站。
如果误进入了命令输入模式,或者在输入命令时想取消输入,只要按esc键就可以退出命令输入模式。
另外,Vimperator还会自动记忆输入过的命令,只要进入命令输入模式之后,按上下光标键,就可以调出以前输入过的命令。
(3)在页面中导航
通常最常见的就是滚动页面,当页面比较长时,鼠标并不方便,除去开始介绍的h、j、k、l四个字母之外,还可以使用下面的一个或几个字母组合进行快速导航。
gg
查看当前打开网页的最上面部分
G
查看当前打开网页的最下面部分
用鼠标点击页面中的超链是我们最常见的打开页面的方法,Vimperator为我们用键盘导航提供以下常见的方式。
f
按此字母后,Vimperator会在当前的页面中将所有的超链用黄色的数字标识,这个时候,只要输入对应的数字,就可以直接打开对应的超级链接。不过,也有的时候只会让对应的超链变成绿色,这时只要再按下回车键,就可以了。
;y23 /* 拷贝编号为23的链接地址到粘贴板 */
;b
注意第一字符是分号,这两个字符和f的功能类似,但是输入链接对应的数字后,会在后台打开对应的超链。
由于Vimperator隐藏了工具栏,所以,在浏览过的网页历史中前进或后退用鼠标就不方便了,可以使用以下几个字母进行类似的操作。
H
在历史记录中后退
L
在历史记录中前进
这两个字母其实和最初介绍的在网页中左右滚动的h和l的作用有些类似,就是大小写不同而已。
gh或gH
回到主页,这两个其实并不完全等价,后者会在一个新打开的标签页中打开主页。
其实,掌握这些之后,基本上就可以使用Vimperator了,如果有时你需要使用菜单和工具栏,可以使用以下的命令把它们再调出来。
:set guioptiOns=mT
其中,最前面的冒号是每一个命令开始的通用符号,而set命令用于设置Vimperator中的选项,guioptions指的就是图形用户界面的选项,而等号后面的mT分别代表menu(菜单)和Toolsbar(工具栏),这时火狐的菜单和工具栏就会出现了。
再次去掉菜单和工具栏的显示的命令是
:set guioptiOns=
即等号后什么都不要有即可。
有的时候,我们会在网页中或地址栏中复制一个网址到系统的剪贴板中备用,这时候,只要你在火狐中不处在编辑状态(即不在一个文本框输入文字的时候),按以下字母键
p
它的含义是put,火狐即可自动转入复制的网址中。
如果需要复制当前所在的网页的网址到剪贴板,只要使用这个字母键
y
y代表yank,复制的意思,这样,如果我们需要将当前网址拷贝到剪贴板的时候,使用这个键就非常方便了。
另外,在不同的操作系统中,复制网页中的选中文本的组合键是不同的,在Windows和Linux中,是ctrl+c,在Mac OSX中则是command+c,这使得在不同系统中使用火狐时经常容易按错键,为此,Vimperator提供了如下的一个字母键
Y
就是大写字母的y,使用这个键,就可以在选中文本后,将其复制到剪贴板。
(4)命令的提示
上面提到,VImperator的命令都是以冒号开头的一个单词,这些单词后面跟的一些参数可以使用tab键自动提示。比如,如果你想使用火狐中某个菜单,可以使用如下命令
:emenu
该命令的作用是执行某个菜单中的菜单项目,这时,就可以输完emenu后,再输入一个空格,然后按tab键,Vimperator此时会自动列出可用的菜单,继续按tab键可以在这些选项之间向后移动,回车键则执行对应的菜单项;Shift+tab则向前移动。
(5)常见的对话框调出
使用前面介绍的:set guioptiOns=mT调出菜单和工具栏就可以完成这个任务,也可以直接输入下面的命令。
:addo[ns]
注意,上边的中括号代表里面的字符是可选的,即只要输入addo就可以了,这个功能是打开附件组件对话框。
:pref[erences]
中括号的含义同上,打开火狐的选项对话框
:downl[oads]
中括号的含义同上,打开火狐的下载列表
:sb
这个比较好记:),代表显示侧栏(sidebar),不过还要在命令之后给出要显示的侧栏名称,这时可以再按tab,Vimperator会提示出可用的侧栏名称,用tab键选中你要打开的,按回车就可以了。
实际上,火狐中所有的对话框都可以通过以下命令调出
:dial[og]
该命令后要跟需要打开的对话框的名字,所以接合tab键就比较方便。也就是说,先输入冒号+dial或冒号+dialog,然后再输入一个空格,之后按tab键,Vimperator会自动列出可用的对话框列表,此时可以使用tab在列表中自上向下移动,也可以使用shift+tab键反向移动,按回车键确认即可。
调用fx
的各种属性
:pref /* 调出fx的option对话框*/
:pref! /* 调出fx的about:config */
:addon /* 调出fx的扩展对话框 */
addons /* 调出fx的扩展对话框*/
:dialog checkupdates /* 调出升级对话框*/
console /* 调出控制台*/
downloads /* 调出历史下载列表*/
ZZ
保存关闭浏览器。
:res[tart]
重启浏览器。
:mkvimperatorrc!
保存设置到配置文件。
——————————————————————————————-
还有一个以分号(;)起始的Hint模式,既为扩展Hint模式。可以针对相应的hint进行不只是进入链接的别的动作,比如保存链接目标,复制链接地址,弹出右键菜单等。具体可以单击分号之后补全来看。其实这个就相当于hint模式的命令模式。
我们可以看到map命令大致分为map和noremap两类,而每一类又分为c(Command),i(insert),n(normal)三种分别对应特定的模式。后者无需多讲,前者即map和noremap是什么区别呢?map的意思就是把rhs映射至lhs,他们是属于等效关系,而noremap则是把原始的rhs映射至lhs,并不需服从rhs本身的映射。举一个简单的例子吧:
:map D d
:map d w
第一条的意思是把d重新映射给D,于是敲击D就相当于敲击了d。但是后面又有一个把d映射成w,也就是说敲击d就相当于敲击w,于是最后的结果就是敲击D之后就变成敲击w的效果,即启动:winopen命令。
:noremap D d
:noremap d w
这个就完全不一样了。第一条说明把d映射给了D,第二条是把w映射给了d,但是他们之间没有任何关系,双方映射的都是对方原始的功能,也就是说这个时候敲击D的结果就是关闭标签,而敲击d的时候是启动:winopen。因此,noremap在重新定义快捷键方面有着很重要的作用。比如有个最常用的:
:noremap q gT
:noremap w gt
q原本是宏的快捷键,w原本是新建窗口的快捷键。但是我们一般不常用,何不换成一个常用但是按起来麻烦的键盘序列?于是我们可以把gt/gT映射到 w/q,来实现通过q/w两键来切换标签。然后d关闭标签,r刷新标签的话,标签操作就能集中在一只手上了,大大地提高了效率。
修改快捷键是一个例子,那么如何给剩下的键盘序列添加快捷键呢?也很简单,举一个常用的例子:
:map :set toolbars=na8wvigation,bookmarks,addons,tabs
:map :set toolbars=none,tabs
这两条命令的意思是把,即映射Ctrl+上方向键至一条命令上,使浏览器显示三栏。然后用Ctrl+下方向键隐藏三栏。实际上在这里的命令就是一个键盘序列,就相当于你在打入快捷键的时候就相当于输入了这么一长串的命令,最后回车(最后那个Tag是回车的意思)。这样,基本上所有的浏览器操作都能通过这样的配置使Vimperator无缝地通过快捷键完成。当然,这些map命令需要写入到配置文件中去,Vimperator 才会在启动的时候自动读取并且配置好。所以调试完毕之后别忘了写进rc文件里面。
如果还有什么不懂的问题,可以通过命令获得帮助:
:help
vimperator学习教程