原文地址:http://www.cnblogs.com/flywuya/archive/2010/12/29/1920485.html
【目录】
第一部分:tc网友关于VIMperator的投稿:
一、入门篇:Hint模式、命令行可视模式、
二、高级篇:;的使用、配置文件、快捷键更改、进一步提高更多资源
第二部分:善用佳软的VIMperator使用笔记:
一、安装
二、我使用的Vimperator 功能及设置:t打开网址、屏幕缩放、复制相关、Gmail与Greader中屏蔽、几个自定义快捷键、其他、
三、关于Vimperator中默认编辑设定
Vimperator是Mozilla Firefox的一个扩展,它为喜欢使用键盘的用户提供了类似于Vim的用户界面。它和Vim一样,有着较陡的学习曲线。Vimperator最独特的是不需要鼠标, 这是因为它有所谓的Hint模式、带自动补全的命令行,以及帮助系统。
一、入门篇
1. Hint模式 (Vimperator hint mode)
Vimperator的hints允许用户实现通常需要鼠标来完成的动作。在此模式中,所有能被点击的网页元素会被编号,用户可以通过输入编号或者链接中的文字来选择。一旦一个元素被选择,就会执行一个操作(如点击、选择、复制链接地址等)。具体执行什么操作由用户如何进入Hint模式决定。
f(F) hints模式最为重要的一个键可以让你快速打开一个链接.
* h,j,k,l 这个熟悉vi的都不用介绍了,导航键
* H,L 前进后退键
* Ctrl+n 下一个tab
* Ctrl+p 上一个tab
* Ctrl+6 前后两个tab切换
* o url 在当前tab打开url
* o 关键字 用浏览器的缺省搜索引擎搜索关键字(用当前tab)
* t url 在新tab打开url
* t 关键字 用浏览器的缺省搜索引擎搜索关键字(用新tab)
* / 在当前页面搜索
* d 关闭当前tab
* u 重新打开之前关闭的tab
* zi 页面放大
* zo 页面缩小
* zz 恢复页面大小
2. 命令行
Vimperator的大多数功能通过窗口底部类似Vim的命令行来完成。像在Vim中一样,所有的命令以“:”开始。当用户输入 “:”,Vimperator就进入“命令行模式”。常用的命令如下
:help [主题] – 提供与[主题]相关的帮助
:o pen [地址] – 在当前标签打开[地址],地址可以是文件、书签的关键字、或者用搜索引擎搜索。
:back 和 :forward – 根据历史记录后退和前进。
:bmark [地址] – 创建书签。
:echo [表达式] – 以JavaScript的形式运算[表达式]并显示结果。
:set[!] … – 显示或修改Vimperator和Firefox的设置。
:map – 创建、修改键盘快捷键
3. 可视模式
vimperator的可视模式,就是按i进入,然后可以用h k l j 等进行位置的确定.然后可以进行特定段落的复制等操作.
具体的键盘操作可以参看帮助就是按F1或者在命令行下输入:help [返回目录]
二、高级篇
主要着重说明一些用vimperator可能不被注意的功能
1. ;的使用
(注:2.2版本有一些功能才被加入)
估计有好多的vimperator选手没有注意到这个键的用法.
具体的参看说明
举例;i
当按下这两个键时, 就相当于查看图片的选项,你可以在页面打开本面的任何一张图.
进行仔细的查看.
再一例;;
此项功能相当于正常模式下的f.即hint模式.可以快速找到需要的链接并打开.
进行查看
2.配置文件的使用
vimperator也如vim一样也是可以进行配置的.也有配置文件在在user文件夹下面.名称为_vimperatorrc
下面共享自己的配置.都是在网上找的.郑重感谢原作者
“surround com and net可以直接先输入网站名,再用+快捷输入.com/.net
cnoremap .orgwww.
cnoremap .comwww.
“Next Page and Previous Page超级的下一页,基本上是够用了.快捷键是[[和]]
set nextpattern=\s*下一页|下一张|下一篇|下页|后页\s*,^\bnext\b,\\bnext\\b,^>$,^(>& gt;|»)$,^(>|»),(>|»)$,\\bmore\\b
set previouspattern=\s*上一页|上一张|上一篇|上页|前页\s*,^\bprev|previous\b, \\bprev|previous\\b,^<$,^(<<|«)$,^(<|«),(<|«)$
” 此项功能是自动补全.在命令行下的自动补全.
set wop=auto
“命令行下拉菜单最多显示的条目数
set maxitems=6
“Look up the word you selected in dict.cn在dict.cn中查找所选词的英语
command! dict -nargs=* tabopen http://dict.cn/
map w :dict
map W :exe “:dict “+content.getSelection()
js <
// Toggle Tool bar
liberator.globalVariables['sx_gopt'] = ‘T’
toggle_bar = function () {
toggle_status = liberator.globalVariables['sx_gopt'];
liberator.globalVariables['sx_gopt'] = (toggle_status == ”? ‘T’: ”);
liberator.execute(’set guioptions=’ + toggle_status);
}
// Wiki Selected Text
wiki_selected_text = function () {
str = buffer.getCurrentWord()
liberator.execute(‘tabopen wikipedia ‘ + str);
}
EOF
” map to js functions F2来显示隐藏工具栏;用来在wiki中查看词条.
map :js toggle_bar()
map :js wiki_selected_text()
3. 快捷键的更改问题
对于一些快捷键,你可能觉得并不习惯,也可能觉得并不快捷.在vimperator下面都是可以进行更改的.
具体的方法如下(以下摘抄自网上,原地址是这里:http://pchu.blogbus.com/logs/32923406.html)
举例说明:
比如想要把翻页的的按键用JK来代替,可以如下定义(如果是写在配置文件里面,要把前面的”:”去掉才可以.直接在命令行下生效的话就要加上”:”的.
:map J (回车)
:map K (回车)
还比如.超级下一页的]]和[[不太好用.因为要按两次。我们可以这样设置
:map ] ]]
:map [ [[
再比如,在 vimperator下面你发现和是不管用的.那么怎么办呢?我们要如下设定就可以了,因为在 vimperator下面.这两个快捷键是有另外用处,所以,可以这样做
noremap
noremap
cnoremap
cnoremap
cnoremap
inoremap
inoremap
inoremap
inoremap
inoremap
inoremap
这样子,你就会发现就可以正常用和了. [返回目录]
4. 再次提高vimperator的使用方法.
方法1.订阅新闻组
vimperator@mozdev.org.这个是英语的.里面好东西不好,作者经常和用户进行交流,有什么疑问可以到这里提问.
方法2.观注几个博客
http://pchu.blogbus.com/主要是vimperator脚本的配置问题,很仔细,也很详细
http://luoxiqofy.blogbus.com/这里主要是vimperator的脚本使用和配色问题.
里面有几个文章,非常详细地介绍到了怎么把hints从数字替换成汉语拼音的方式.
5. 附另外的一些资源
vimperator的最新版本在google code上
http://code.google.com/p/vimperator-labs/downloads/list
vimperator也是支持插件的
http://code.google.com/p/vimperator-labs/issues/list
当然也是有主题的
http://code.google.com/p/vimperator-labs/issues/list?can=2&q=label:project-vimperator+label:type-colorscheme
可惜的就是,很久不更新了.基本上都还可以,这一点比较让人高兴.
vimperator入手不太容易.但是就如vim一样,学习难度都有点大.正所谓好东西.是值得
为了使用它而投入学习时间的.
vimperator的说明文档如同vim的说明一样,都是详细.同样可惜的是,也都是英语的.
曾经有人尝试把vimperator的2.0翻译成了汉语.可以参考
http://code.google.com/p/cvimp/
只不过没有最新的2.2
http://code.google.com/p/pinyin-hints-vimperator/
在vimperator这个扩展的hint模式中可以通过拼音首字母过滤中文链接.例如希望打开链接“论坛”,可以在vimperator按f/F 进入hint模式,然后输入lt(拼音 l un t an),便会过滤出“论坛”以及其他类似内容。再比如“vimperator修改版”,可以输入xgb或者 vimperatorxgb或者vim空格 xgb(当然,通常你不要输入这么多字母,可能输入xg后链接就打开了)。 [返回目录]
附:善用佳软的Vimperator使用笔记
说明:我经常访问的网站只有三五个,对浏览器的要求并不高。所以,Vimperator的实际使用时间极短。2007年4月试用过几天,2010年初从Chrome回到Firefox后,又试用过一两周,并记录如下。
VimperatorVimperator是Firefox的一款扩展,它让Firefox 看起来、用起来都象是VIM。你甚至可以说,有了它,Firefox变成了有模式的浏览器,完全可以纯键盘高效操作。
一、Vimperator安装
用Firefox访问这里即可安装。当前(2010-02-18)版本v2.2,适用于Firefox: 3.5 – 3.6.*。
二、我使用的Vimperator功能及设置
有些采用了默认设置,有些进行了个性化定义(c:\Documents and Settings\zyx\_vimperatorrc)。
t:tabopen 在新标签打开网址
自定义如下,以实现键入”,tm”(不包括引号,共3个按键)打开gmail等常用网址。
noremap tm :tabopen mail.google.com
noremap tr :tabopen www.google.com/reader
noremap tx :tabopen xbeta.info
noremap te :tabopen xbeta.info/wp-admin
屏幕缩放
+/- 可实现缩放(?Firefox还是Vimperator?)。这也是我的选择。
如果认为 + 需要同时按下shift和=太复杂,可“noremap = +”。
Vimperator默认的zi、zo也可以缩放(zoom in, zoom out)。
复制相关
默认的设定(y: 复制当前页的url到剪贴板。Y:复制选中文字到剪贴板)很不合理,应该交换一下。如下配置竟能生效。
noremap y Y
noremap Y y
在Gmail和Greader中屏蔽Vimperator
如下设定用来在gmail和greader中保持pass through模式,即Vimperator不要接管按键,直接传给gmail、greader。其实,也可不做设定,手工用 ctrl-z 进入 pass through 模式。
autocmd LocationChange .* :js modes.passAllKeys = /mail\.google\.com/.test(buffer.URL) || /google\.com\/reader\//.test(buffer.URL)
方便折腾与兼顾实用的自定义快捷键
修改配置文件后,键入,s即时生效。
map ,s :so “c:/Documents and Settings/zyx/_vimperatorrc”
在有无菜单、地址栏之间切换:
map :se go=mnT
map :se go=n:
其他
gf:查看页面源代码。
h/l:由于默认左右移动功能很少用到,所以,重新映射为前/后标签页。noremap h gT,noremap l gt。
其他功能也会用,但用得不多 [返回目录]。
三、关于Vimperator的编辑器设定
我选用Vimperator,最初只是用来代替It’s All Text扩展。现在的设定是 se editor=”d:/soft/Vim/vim72/gvim.exe -f” 。按下ctrl+i,直接在vim中编辑当前文本框内容。美中不足的是,默认文件名是 .tmp,暂时未找到设定为 .htm的方式。网友提到,可以在 vimperator@mozdev.org\chrome\vimperator.jar 中修改 common\content\editor.js,但我没找到相关设置。
1. 路径分割符的斜线方向
善用佳软(2010-02-17,winxp-sp2, gvim 7.2, VIMperator 2.2)实验结果:用斜线作路径分割符。
windows中标准路径为反斜线:如 d:\soft\Vim\vim72\gvim.exe
但无论 _vimperatorrc 文件,还是临时设定(即直接在Firefox中进入命令行,键入命令),必须把反斜线(\)改为斜线(/)。
2. 路径中的空格
如果路径含空格,必须写为dos 8.3式的短路径,比如 :se editor=”C:/Progra~1/vim/vim72/gvim.exe -f”。(NONAME、hi_lucky 于 2010-02-14)
把反斜杠换成四个反斜杠,空格换成两个反斜杠一个空格……最新版 Vimp测试成功(1wingedangel 于 2010-02-14)
3. 把gvim.exe目录加入系统路径
其实,Vimperator已默认设置为 editor=gvim.exe -f。因此,只要把gvim.exe所在的目录,加入系统变量path即可(或许要重启动)。也可以尝试一下 :se editor=notepad.exe 来间接验证此方法的可行性。
4. 关于 -f 参数
详见vim中 :h -f。这样做就必须打开一个新的gvim.exe,以供Vimperator监控编辑工作是否完成。缺点是启动新gvim速度较慢。而 It’s All Text扩展则是通过监控临时文件来实现更新,可以利用已运行的gvim程序,更优一些。
5. 关于文件类型
我习惯用gvim来发表博客,直接写html源代码。这时,按下ctrl+i后,希望能自动设定ft=html。而Vimperator并无此设置。有网友提到,可以修改源代码,这超出了我的能力范围。后来在vimrc文件中增加了如下语句,默认为html:
au BufRead,BufNewFile vimperator-*.tmp setlocal ft=html