有人总是说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学习教程的更多相关文章

  1. Deep Learning 19_深度学习UFLDL教程:Convolutional Neural Network_Exercise(斯坦福大学深度学习教程)

    理论知识:Optimization: Stochastic Gradient Descent和Convolutional Neural Network CNN卷积神经网络推导和实现.Deep lear ...

  2. WebPack 简明学习教程

    WebPack 简明学习教程 字数1291 阅读22812 评论11 喜欢35 WebPack是什么 一个打包工具 一个模块加载工具 各种资源都可以当成模块来处理 网站 http://webpack. ...

  3. MyBatis入门学习教程-使用MyBatis对表执行CRUD操作

    上一篇MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对use ...

  4. 深入浅出的javascript的正则表达式学习教程

    深入浅出的javascript的正则表达式学习教程 阅读目录 了解正则表达式的方法 了解正则中的普通字符 了解正则中的方括号[]的含义 理解javascript中的元字符 RegExp特殊字符中的需要 ...

  5. 子类重载父类的方法“parent::方法名”转于 恩聪PHP学习教程

    在PHP中不能定义重名的函数,也包括不能再同一个类中定义重名的方法,所以也就没有方法重载.单在子类中可以定义和父类重名的方法,因为父类的方法已经在子类中存在,这样在子类中就可以把从父类中继承过来的方法 ...

  6. LaTeX学习教程

    本来我对LaTeX不是看好的,毕竟都是命令格式的.觉得有word就足够啦word可视化操作方便快捷. 但是由于要写论文等,在导师要求下潜心学习一下,不知不觉间被LaTeX的强大功能所吸引.现在很多出版 ...

  7. Deep Learning 13_深度学习UFLDL教程:Independent Component Analysis_Exercise(斯坦福大学深度学习教程)

    前言 理论知识:UFLDL教程.Deep learning:三十三(ICA模型).Deep learning:三十九(ICA模型练习) 实验环境:win7, matlab2015b,16G内存,2T机 ...

  8. Deep Learning 12_深度学习UFLDL教程:Sparse Coding_exercise(斯坦福大学深度学习教程)

    前言 理论知识:UFLDL教程.Deep learning:二十六(Sparse coding简单理解).Deep learning:二十七(Sparse coding中关于矩阵的范数求导).Deep ...

  9. Deep Learning 11_深度学习UFLDL教程:数据预处理(斯坦福大学深度学习教程)

    理论知识:UFLDL数据预处理和http://www.cnblogs.com/tornadomeet/archive/2013/04/20/3033149.html 数据预处理是深度学习中非常重要的一 ...

随机推荐

  1. 【海岛帝国系列赛】No.4 海岛帝国:LYF的太空运输站

    50212228海岛帝国:LYF的太空运输站 [试题描述] 最近,“购物券”WHT在“药师傅”帝国资源大会上提出了“SSTS”太空运输站计划.由于恐怖分子前些日子刚猖狂完,炸毁高楼无数,YSF不得不执 ...

  2. NOIP200505谁拿了最多的奖学金

    NOIP200505谁拿了最多的奖学金 Description 某校的惯例是在每学期的期末考试之后发放奖学金.发放的奖学金共有五种,获取的条件各自不同: 1)      院士奖学金,每人8000元,期 ...

  3. js数组基础知识链接

    http://www.cnblogs.com/qiantuwuliang/archive/2011/01/08/1930499.html 小案例:   <script language=&quo ...

  4. UIViewController卸载过程(ios6.0之前)

    1.当应用程序收到内存不足的警告之后,程序中所有存在的UIViewController都会收到didReceiveMemoryWarning调用消息,目的是将当前不显示的View释放掉,缓解内存压力. ...

  5. vsftpd匿名用户只能上传不能下载

    目的 搭建一台FTP服务器,供学生上传作业使用. 要求 1.学生可以直接访问FTP服务器,无需登录: 2.只能上传文件,不能创建文件夹.重命名.删除等: 3.不能下载文件(防抄袭): 4.不能在线查看 ...

  6. V4L2读取摄像头程序流程【转】

    本文转载自:https://my.oschina.net/u/1024767/blog/210801 v4l2 操作实际上就是 open() 设备, close() 设备,以及中间过程的 ioctl( ...

  7. linux-exp 工具+小技巧

    # 工具篇 # pwntools ,gdb-peda ROPgadget-tool . EDB ## pwntools获取.安装和文档帮助 ## - pwntools: github可以搜索到 htt ...

  8. eclipse Juno Indigo Helios Galileo这几种版本的意思

    Eclipse 3.1 版本代号 IO [木卫1,伊奥]   Eclipse 3.2, 30-06-2006, Callisto projects, 版本代号 Callisto [木卫四,卡里斯托 ] ...

  9. javascript,jquery代码规范

    jquery代码规范 Coding Standards & Best Practices 中文翻译版:jquery编程的标准写法和最佳实践 javascript代码规范 JavaScript编 ...

  10. 使用163CentOS镜像

    CentOS镜像使用帮助 收录架构 i386 x86_64 SRPMS 收录版本 5 6 更新时间 每5小时更新一次   使用说明 首先备份/etc/yum.repos.d/CentOS-Base.r ...