Vimperator tips 2
Ver 3.8.3 (release) gi触发错误
按键gi的作用是focus到当前页面的input/textarea/iframe,即进入类似vim中的input模式。
在该版本中概率出错(xpath相关,具体记不得了)。
解决办法很简单,安装git版本就可以了。
刚开始看vimperator的源码,尚且不熟悉架构,但是buffer相关的默认按键执行的操作可以在/common/content/buffer.js
中找到。概述信息可以通过mappings module获取,通过:echo mappings.get(0, 'gi', '.*')
快速复制markdown格式的url
方法来自g+ vimperator中文社区的owner 陈三,稍作改动:
1 | javascript << EOM |
proxy解决方案
在学校用openvpn十分无脑,到了家中觉得速度不理想,于是想到之前github送的
student pack包括DO的100刀,就架了个SS server。SS当然要配合
pac使用。
那么浏览器用什么插件呢?选择不要太多,我之前是foxy proxy,但是界面复杂,不方便切换。
于是准备用vimp插件进行替换。其实完全可以自己写,只要改 network.proxy.autoconfig_url
和 network.proxy.type
两个option即可。但是已经有现成的解决方案,
直接拿来用。
在statusline显示proxy状态
一个自然的需求,另外因为轻微强迫症的关系,蛋疼地把statusline
改成了powerline风格了,代码过于丑陋就不贴了,
可以在这里找到它们。
截个图展示一下:
plugins
除了上一篇中提到的一些插件外,又发现了如下的玩意儿:
- smooziee : 使jk滚动时更加平滑
- caret-hint : caret-mode 相关
- imageextender : 图片快捷操作
- plugin_loader : 插件管理器
下面挑几个具体说明用法。
plugin_loader
用的插件多了之后,每个都source一下显得比较多余,可能需要一个插件管理器。
使用方法:
- 设置
g:plugin_loader_roots
为插件文件所在目录 - 设置
g:plugin_loader_plugins
为所需插件,字符串,逗号分割 - source libly.js 和 plugin_loader.js
caret mode
比较难以描述,具体请看 :h caret-mode
。
总之在我看来主要是用来快速选择文字的,比如说你要选择页面上的某段 “select” 开头的文字
并且将其复制到剪贴板,如果不借助鼠标,那么一般的流程是:
- /select搜索页面
- normal模式下按c进入caret模式
- 按v进入visual模式,通过wel等vi快捷键到达文字结尾
- 按y复制
这么做有明显的不足:
- 多个matcher的时候经常搞不清光标位置
- 不利于处理各种unicode,比如中文
caret-hint就是解决这个问题的插件,为文字片段提供了类似link的hint模式,谁用谁知道。
feedSomeKeys & ignorekeys
首先说我目前用到的feedSomeKeys的功能均可以通过自带的:h :ignorekeys
命令替换。
顺便一提,normal模式下按i将ignore掉下一个按键,<S-ESC>则ignore all。
但是feedSomeKeys的强大不仅于此,它能够用于替换网页前端的按键,具体用法见文档。