有人总是说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. Inside TSQL Querying - Chapter 1. Logical Query Processing

    Logical Query Processing Phases Summary (8) SELECT (9) DISTINCT (11) <TOP_specification> <s ...

  2. rqnoj-342-最不听话的机器人-dp

    dp[i][j][k][[l]: 执行第i步,执行到点(j,k),方向为l时,用的最大步数. 状态转移根据step[i]转移. #include<stdio.h> #include< ...

  3. 图像处理控件ImageGear for .NET教程如何为应用程序 添加DICOM功能(2)

    在前面的一些关于图像处理控件ImageGear for .NET文章<图像处理控件ImageGear for .NET教程: 添加DICOM功能(1)>中讲解了如何对应用程序添加DICOM ...

  4. 强制类型转换(const_cast)

    [1] const_cast的作用 一.常量指针被转化成非常量指针,并且仍然指向原来的对象: 二.常量引用被转换成非常量引用,并且仍然指向原来的对象: 三.常量对象被转换成非常量对象. [2] 实例代 ...

  5. android 学习随笔二十三(动画:Fragment )

    Fragment * 用途:在一个Activity里切换界面,切换界面时只切换Fragment里面的内容 * 在一个Activity中切换多个界面,每个界面就是一个Fragment* Fragmnen ...

  6. Android NDK开发(五)--C代码回调Java代码【转】

    转载请注明出处:http://blog.csdn.net/allen315410/article/details/41862479 在上篇博客里了解了Java层是怎样传递数据到C层代码,并且熟悉了大部 ...

  7. android:layout_gravity和android:gravity属性的区别

    一.介绍: gravity的中文意思就是”重心“,就是表示view横向和纵向的停靠位置 (1).android:gravity:是对view控件本身来说的,是用来设置view本身的内容应该显示在vie ...

  8. 5、XML(1)

    1 XML入门 1.1 引入 HTML: 负责网页的结构 CSS: 负责网页的样式(美观) Javascript: 负责在浏览器端与用户进行交互. 负责静态的网页制作的语言 HTML语言特点: 1)由 ...

  9. HDU 4825:Xor Sum(Trie)

    http://acm.hdu.edu.cn/showproblem.php?pid=4825 题意:给出N个数,M个询问,每个询问给出一个X,问在这N个数中哪个数和X异或后结果最大. 思路:可以用Tr ...

  10. WPF:窗体置顶

    1.设置窗体TopMost属性 private DispatcherTimer timer; public Window1() { InitializeComponent(); Loaded += n ...