前奏

装了这个插件后启动Firefox时界面可能会有很大变化,熟悉的各种XX栏可能都会消失。恢复的办法是

1
set go+=mBT

这样子可能会熟悉一些。不过还是建议用

1
set go-=mBT

让它们消失吧。一旦你习惯了Pentadactyl你不会想看见它们的。

下文中<C-x>表示Ctrl+x,<A-x>表示Alt+x,<S-x>表示Shift+x,<M-x>表示Meta+x。

使用这个插件需要一定的Vim基础。最起码的,要知道模式的概念以及甩Esc可以回到Normal模式。还要知道:help是个有用的命令。

第一课 导航

以下是有关导航的基本命令,有了这些就可以随心所欲浏览页面了。

页面导航

  • h,j,k,l:四大金刚
  • <C-d>:下半页
  • <C-u>:上半页
  • <C-f>/<Space>:下一页
  • <C-b>/<S-Space>:上一页
  • gg:页首
  • G:页尾
  • [num]gg/[num]G/[num]%:跳至页面num%处

标签导航

  • <C-n>/gt:下一个标签
  • <C-p>/gT:上一个标签
  • g0/g^:第一个标签
  • g$:最后一个标签
  • <C-6>:在当前标签和最近浏览的非当前标签之间切换

历史记录导航

  • H/<C-o>:在历史记录中后退
  • L/<C-i>:在历史记录中前进

第二课 网页的打开与关闭

要打开一个网页需要进入Command-line模式,用过Vim的一定不会陌生,就是按下冒号:后的那个模式。在Command-line模式下有如下基本命令:

  • o/O:在当前标签打开
  • t/T:在新标签打开
  • w/W:在新窗口打开

其中小写与大写的区别是,小写会直接执行,大写会将当前URL作为参数显示出来,可以修改后回车确认再执行。

要关闭一个标签,在Normal模式下:

  • d/D:关闭当前标签

区别是,用d关闭后选择右边的标签,用D关闭后选择左边的标签。

还有一些常用的命令:

  • u:打开最近关闭的标签
  • <C-c>:停止载入
  • r/R:重新载入当前页面(R无视cache)
  • gh:回主页
  • gu:打开上级目录
  • gU:打开根目录

要退出Firefox怎么办呢?有两种方法:

  • ZQ:退出Firefox
  • ZZ:保存已打开的页面并退出Firefox

第三课 页面控制

  • <C-g>:查看页面基本信息
  • g<C-g>:查看页面详细信息
  • gf:在页面和其源代码之间切换
  • gi:定位到最近输入的文本框。如果没有最近输入的文本框,则定位到第一个文本框
  • zi/+/zm:放大页面
  • zo/-/zr:缩小页面
  • zz:恢复页面至初始大小

区别是,zm和zr更狠。

  • y:复制当前URL到剪贴板
  • p/P:打开剪贴板中的URL(p=当前标签,P=新标签)

第四课 页面内容查找

和Vim中基本相同,也是用/和?

  • /:向前查找
  • ?:向后查找
  • n:查找下一个
  • N:查找上一个
  • *:向前查找当前光标下的单词
  • #:向后查找当前光标下的单词

第五课 页面导航进阶

现在我们来看如何打开网页中的链接。这需要进入Pentadactyl的Hint模式。有两种方法可以使用:

  • f/F:进入QuickHint模式(f=当前标签,F=新标签)
  • ;{mode}:进入extended hint模式(不同的{mode}会导致不同的结果)

最简单的,当前页面里有个链接,按下f键,链接上会出现数字,输入那个数字,就跳到那个链接去了。如果按下的是F键,则会在新标签中打开那个链接。如果按下的是;键,则还需要按下{mode},具体请参见help。

在学会了爬链接之后我们再熟悉一下标签之间的跳转(确切地说应该是buffer之间的跳转):

  • B:显示所有buffer
  • b:跳转到指定buffer

按下B键后可以看到所有的buffer,标记%的那个就是当前buffer,标记#的那个是alternatebuffer。按下b键后会让你选择,你可以用数字或关键字跳转到指定buffer,也可以输入#跳转到alternatebuffer。

第六课 书签

Pentadactyl支持Firefox的标准书签(Bookmarks)和自身特有的Quickmarks。

对Bookmarks的操作:

  • a:添加书签
  • A:添加/删除(Toggle)当前页面为书签
  • bmarks [url]:列出所有书签。若url不为空,列出(关键字)匹配url的书签
  • delbm [url]:删除(关键字)匹配url的书签。若url为空,删除当前页面为书签

对Quickmarks的操作:

  • M{a-zA-Z0-9}:添加当前页面到Quickmark
  • go{a-zA-Z0-9}:在当前标签页跳转到指定的Quickmark
  • go{a-zA-Z0-9}:在新标签页跳转到指定的Quickmark
  • qmarks[arg]:列出所有Quickmarks。若arg不为空,列出(关键字)匹配arg的Quickmarks
  • delqm {arg}:删除(关键字)匹配arg的Quickmarks

第七课 自定义键位映射

不爽的人各有各的不爽,不能自定义的工具不是好工具,是吧。

定义键位映射需要在Command-line模式下进行,需要的命令有:

  • map {lhs} {rhs}:定义键位映射
  • noremap {lhs} {rhs}:以-builtin方式定义键位映射
  • unmap {lhs}:取消键位映射
  • mapclear:清除键位映射

举个例子吧。J和K两个键位闲着也是闲着,不如用它们来翻页。那我就可以用

1
2
:map J <C-d>
:map K <C-u>

来定义两个映射。这样会比较保护小指一点吧。那么为什么需要noremap这个东西呢?看下面这个例子:

1
2
:map d D
:map D d

这个会怎么样呢?会让Firefox死翘翘呀!你按下d,它变成D,又变成d,又变成D……就死翘翘啦!正确的做法是:

1
2
:noremap d D
:noremap D d

这样子以-builtin方式定义,按下d,它变成D后就不再管其他的映射了,就不会出现死循环了。

Pentadactyl更强大的地方在于可以对不同模式进行不同的键位设定哦。Pentadactyl有如下几种主要的模式:Normal(n),Visual(v),Insert(i),TextEdit(t),Command-line(c)。其实上面的四个命令都是针对Normal和Visual模式的。要想定义其他模式下的键位映射,可以用如下格式的命令:

  • [n|v|i|t|c]map:(同上)
  • [n|v|i|t|c]noremap:(同上)
  • [n|v|i|t|c]unmap:(同上)
  • [n|v|i|t|c]mapclear:(同上)

功能都是一样的,所以就不说了。

第八课 保存设定

哎呀你不是已经退出了吧,退出的话刚才自定义的那些设定就都没有了啦!在退出之前要快快保存才是。保存的命令很简单:

  • mkp[!]:保存设定到mkpentadactylrc(!表示强制执行)

这个文件一般是$HOME/.mkpentadactylrc。这样子自己的设定可以统统保存和备份,万一到新机器上直接copy过来用就是了。

第九课 打开Firefox的对话框

到这里估计你已经习惯了Pentadactyl吧。不过有时候还是需要和Firefox打交道,比如设置个代理什么的。这时候有一个Command-line模式下的命令:

  • dia:打开对话框

输入:dia {name}就可以打开指定的对话框了。对于常用的对话框,还有更简单的命令,例如pref,addons等等。

到这里你应该发现很多命令都可以用Tab轮询吧……

第十课 实用技巧

写到这里主要内容就算是完成了。最后介绍一点使用技巧,因人而异,也许你会用的上。

  • 首先是gi的使用。这真的是个非常有用的命令,尤其是在搜索引擎上。你可以多按ESC使得页面停留在Normal模式下。当需要输入文字时按gi,就会自动定位到文本框了。
  • 用<C-n>/<C-p>翻页是一个比较好的选择。但是在Insert模式下(比如在文本框中输入文字的时候)这两个键位没有被定义。所以按<C-n>的时候会打开一个新窗口,太糟糕了。解决一下:
    1
    2
    :imap <C-n><Esc>:tabnext<CR>
    :imap <C-p><Esc>:tabprev<CR>

  • 想要快速搜索一个单词?只要在Firefox中设置好默认搜索引擎,按o键再输入那个单词就可以了。如果那个单词已经在剪贴板中,直接按p键更快。
  • 在浏览器中打字感到厌烦?尝试一下外部编辑器吧。在Insert模式下输入<C-i>可以打开指定的外部编辑器,以Vim为例,写好之后:wq退出即可。如果不想要这么麻烦,可以输入<C-t>进入内置的Vi模式,也很不错。
  • 看教程点Next是不是很罗嗦?有了Pentadactyl,你只需要按]]即可。同样的,[[相当于点击了页面中的Prev。来这里体验一下:http://docs.python.org/py3k/tutorial/modules.html
  • 修改nextpattern/previouspattern使之支持Google搜索结果的翻页:
    1
    2
    : setnextpattern=\s*下一页|下一张|下一篇|下页|后页\s*,^\bnext\b,\\bnext\\b,^>$,^(>>|»)$,^(>|»),(>|»)$,\\bmore\\b
    : setpreviouspattern=\s*上一页|上一张|上一篇|上页|前页\s*,^\bprev|previous\b,\\bprev|previous\\b,^<$,^(<<|«)$,^(<|«),(<|«)$

  • 看Blog翻页也很烦吧?试试<C-a>/<C-x>,它们会增减URL最后的数字,哈哈反正我用着是很有爽感啊。
  • 就像Vim一样,很多命令前面是可以加数字的。

Pentadactyl使用技巧相关推荐

  1. firefox 14 vim化——Pentadactyl

    Pentadactyl pentadactyl[,pentə'dæktil] adj. 有五指的 Version 1.0 for Firefox 4.0-14.* 鼓捣了两个小时Pentadactyl ...

  2. keyshot怎么批量渲染_提高Keyshot逼真渲染的小技巧

    Keyshot是一个特别神奇的应用软件,但是,就像Photoshop一样,如果你不知道怎么使用它,那么再优秀的工具在你手中也什么都是了.这里我就告诉你一些制作优秀效果图的技巧以及如何使用这个神奇软件. ...

  3. Linux shell 学习笔记(6)— vim 编辑器使用方法及技巧

    1. 检查 vim 软件包 1.1 CentOS 发行版 $ alias vi alias vi='vim' $ $ which vim /usr/bin/vim $ $ ls -l /usr/bin ...

  4. Python 笔试面试及常用技巧 (1)

    1. 交换两个数字 In [66]: x, y = 1, 2In [67]: x Out[67]: 1In [68]: y Out[68]: 2 赋值的右侧形成了一个新的元组,左侧立即解析(unpac ...

  5. Redis 使用技巧

    Redis 现在非常受欢迎,似乎已经成为内存数据存储行业的标准.本人结合平时使用Redis经验,也同时查找了一些网上别人的总结经验,总结以下几条Redis使用技巧. 1. 停止使用 KEYS 众所周知 ...

  6. 受用一生的高效 PyCharm 使用技巧(六)

    http://www.sohu.com/a/329854019_654419 大家好,今天我又来给大家更新 PyCharm 的使用技巧. 从第一篇开始,一直到本篇,一共更新了6篇文章,每篇 5 个小技 ...

  7. 受用一生的高效 PyCharm 使用技巧(四)

    https://blog.csdn.net/pdcfighting/article/details/93269028 大家好,距离最近一篇 PyCharm 使用技巧的文章已经过去一月有余,最近虽然也比 ...

  8. 受用一生的高效 PyCharm 使用技巧(二)pycharm 指定参数运行文件

    https://mp.weixin.qq.com/s/Ii0-qHUXayTPb-K-17hmQQ 在介绍技巧之前,有些话想声明一下,这个系列的一些小技巧,对于一些重试用户来说可能是小 case,如果 ...

  9. 受用一生的高效 PyCharm 使用技巧(一)

    声明:本文章转自 返回主页Python编程时光 PyCharm 是大多数 Python 开发者的首选 IDE,每天我们都在上面敲着熟悉的代码,写出一个又一个奇妙的功能. https://www.cnb ...

最新文章

  1. 【图解】最流行的7个JavaScript 框架各自的优点
  2. 斯坦福公开课3:欠拟合与过拟合
  3. 支付宝架构师眼里的高并发架构
  4. [Linux]阿里云免费试用体验(在阿里云的ubuntu上部署个人服务)
  5. 应广单片机adc_应广PMC232系列单片机 12位ADC PWM LCD 双核心8位MCU
  6. cesium js 路径_vue2.0项目集成Cesium的实现方法
  7. c语言字符串升序输出,编写程序将已按升序排好的两个字符串a和b中的字符按升序归并到字符串c中,最后输出”abcdefghijklmnpq”。...
  8. 吉林考生多少分能考上东南大学计算机专业,吉林多少分能上985大学?附吉林高考985录取分数线(2021年参考)...
  9. 微软宣布已获批:重新向华为出口软件!
  10. 数据:以太坊2.0合约余额新增6976 ETH
  11. 一个独立程序员对自己近九个月工作生活的回顾
  12. 为全力发展AIOT,小米把松果电子分拆重组了
  13. C++ 不能在类体外指定关键字static
  14. php新浪微博登录接口,php新浪微博登录接口用法实例
  15. [1125]AES加密报错:Illegal key size or default parameters
  16. 【阿里网盘】阿里网盘使用全攻略
  17. 浙江大学软件工程c语言复试题库,2022浙江大学软件工程考研经验备考指导
  18. js实现网页进度条效果
  19. 使用SharedPreferences保存list
  20. 深入分析 synchronized 的实现原理

热门文章

  1. Duplicate named routes definition
  2. java内省_java内省机制
  3. 四川大学计算机学院2018复试,四川大学文学与新闻学院2018年研究生招生复试录取情况汇总.PDF...
  4. IECapt、CutyCapt 生成网页快照
  5. 20210325BERNESE软件中LEO_POD模块说明
  6. QT下lcdNumber实现倒计时源代码
  7. iOS利用系统分享实现分享视频功能
  8. 【String-easy】657. Robot Return to Origin 机器人能否回到原点
  9. 国外团队推出Xenxo S-Ring智能戒指,伸出手指头就能买单和通话
  10. gitbook生成pdf时缺少ebook.css解决方案