热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

vimperator学习教程

有人总是说Vim难学,而Vimperator把火狐变成了VIM,所以很多人就认为只有那些VIM的狂热者才会用这个插件,但实际上并不是这样。Vimperator在安装之后,只要稍加练

有人总是说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学习教程


推荐阅读
  • malloc 是 C 语言中的一个标准库函数,全称为 memory allocation,即动态内存分配。它用于在程序运行时申请一块指定大小的连续内存区域,并返回该区域的起始地址。当无法预先确定内存的具体位置时,可以通过 malloc 动态分配内存。 ... [详细]
  • Python多线程详解与示例
    本文介绍了Python中的多线程编程,包括僵尸进程和孤儿进程的概念,并提供了具体的代码示例。同时,详细解释了0号进程和1号进程在系统中的作用。 ... [详细]
  • 本文详细介绍了Linux系统中用于管理IPC(Inter-Process Communication)资源的两个重要命令:ipcs和ipcrm。通过这些命令,用户可以查看和删除系统中的消息队列、共享内存和信号量。 ... [详细]
  • LDAP服务器配置与管理
    本文介绍如何通过安装和配置SSSD服务来统一管理用户账户信息,并实现其他系统的登录调用。通过图形化交互界面配置LDAP服务器,确保用户账户信息的集中管理和安全访问。 ... [详细]
  • 微软推出Windows Terminal Preview v0.10
    微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
  • Manacher算法详解:寻找最长回文子串
    本文将详细介绍Manacher算法,该算法用于高效地找到字符串中的最长回文子串。通过在字符间插入特殊符号,Manacher算法能够同时处理奇数和偶数长度的回文子串问题。 ... [详细]
  • 本文介绍了多种开源数据库及其核心数据结构和算法,包括MySQL的B+树、MVCC和WAL,MongoDB的tokuDB和cola,boltDB的追加仅树和mmap,levelDB的LSM树,以及内存缓存中的一致性哈希。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • importpymysql#一、直接连接mysql数据库'''coonpymysql.connect(host'192.168.*.*',u ... [详细]
  • Framework7:构建跨平台移动应用的高效框架
    Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
  • 本文介绍了如何使用 CMD 批处理脚本进行文件操作,包括将指定目录下的 PHP 文件重命名为 HTML 文件,并将这些文件复制到另一个目录。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 两个条件,组合控制#if($query_string~*modviewthread&t(&extra(.*)))?$)#{#set$itid$1;#rewrite^ ... [详细]
  • 本文详细介绍了DMA控制器如何通过映射表处理来自外设的请求,包括映射表的设计和实现方法。 ... [详细]
  • 解决Win10下MySQL连接问题:Navicat 2003无法连接到本地MySQL服务器(10061)
    本文介绍如何在Windows 10环境下解决Navicat 2003无法连接到本地MySQL服务器的问题,包括启动MySQL服务和检查配置文件的方法。 ... [详细]
author-avatar
_LiNanaP
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有