Vimperator是Firefox的一款扩展,它让Firefox看起来、用起来都象是VIM。你甚至可以说,有了它,Firefox变成了有模式的浏览器,完全可以纯键盘高效操作。下面把重新启用Vimperator的一些心得记录下来。对己,作为笔记;如果对读者有益,也可以当作教程。
用Firefox访问这里即可安装。当前(2010-02-18)版本v2.2,适用于Firefox: 3.5 – 3.6.*。
有些采用了默认设置,有些进行了个性化定义(c:\Documents and Settings\zyx\_vimperatorrc)。
自定义如下,以实现键入”,tm”(不包括引号,共3个按键)打开gmail等常用网址。
noremap <leader>tm :tabopen mail.google.com<CR>
noremap <leader>tr :tabopen www.google.com/reader<CR>
noremap <leader>tx :tabopen xbeta.info<CR>
noremap <leader>te :tabopen xbeta.info/wp-admin<CR>
+/- 可实现缩放(?Firefox还是Vimperator?)。这也是我的选择。
如果认为 + 需要同时按下shift和=太复杂,可“noremap = +”。
Vimperator默认的zi、zo也可以缩放(zoom in, zoom out)。
默认的设定(y: 复制当前页的url到剪贴板。Y:复制选中文字到剪贴板)很不合理,应该交换一下。如下配置竟能生效。
noremap y Y
noremap Y y
如下设定用来在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”<CR>
在有无菜单、地址栏之间切换:
map <C-Up> :se go=mnT<CR>
map <C-Down> :se go=n<CR>:
gf:查看页面源代码。
h/l:由于默认左右移动功能很少用到,所以,重新映射为前/后标签页。noremap h gT,noremap l gt。
其他功能也会用,但用得不多。
我选用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,但我没找到相关设置。
善用佳软(2010-02-17,winxp-sp2, gvim 7.2, VIMperator 2.2)实验结果:用斜线作路径分割符。
windows中标准路径为反斜线:如 d:\soft\Vim\vim72\gvim.exe
但无论 _vimperatorrc 文件,还是临时设定(即直接在Firefox中进入命令行,键入命令),必须把反斜线(\)改为斜线(/)。
如果路径含空格,必须写为dos 8.3式的短路径,比如 :se editor=”C:/Progra~1/vim/vim72/gvim.exe -f”。(NONAME、hi_lucky 于 2010-02-14)
把反斜杠换成四个反斜杠,空格换成两个反斜杠一个空格……最新版 Vimp测试成功(1wingedangel 于 2010-02-14)
其实,Vimperator已默认设置为 editor=gvim.exe -f。因此,只要把gvim.exe所在的目录,加入系统变量path即可(或许要重启动)。也可以尝试一下 :se editor=notepad.exe 来间接验证此方法的可行性。
详见vim中 :h -f。这样做就必须打开一个新的gvim.exe,以供Vimperator监控编辑工作是否完成。缺点是启动新gvim速度较慢。而 It’s All Text扩展则是通过监控临时文件来实现更新,可以利用已运行的gvim程序,更优一些。
玩酷的vimperator教程
Vimperator —— 用键盘畅游网络
Vimperator 快速指南|官方tutorial.html翻译
使用Vimperator制作超简约风格的Firefox
另,期待tc网友的投稿。
……与其他扩展一样,它也是xpi格式,安装后重启Firefox即可生效。为了最大程度的vim化,它默认取消了Firefox的菜单和按钮,如果你想加上,可以:set guioptions=mT 。如果你不喜欢此扩展了,可以:addons然后卸载它。
使用它的王道当然是按键,如果忘记了哪些键代表什么含义,只须F1或:h
要在新tab中打开一个url,只须按t。这时命令行自动出现:tabopen ,在它后面加入网址即可。所有的命令行都有记忆功能,可以通过↑↓切换。其他操作有zi代表zoom in,zo代表zoom out;r代表reload;y把url复制到剪贴板;u来undo closed tab;gg,hjkl,书签功能……此外还有一些命令行,更多参见http://vimperator.mozdev.org/help.html
2010-02-23:部分更新。
2010-02-18:从Chrome换回Firefox,受网友鼓动,重新启用更新后的VIMperator。
2007-04-16: 初稿,只是试用,并未实用。
嗯,很喜欢这个扩展,再把它的自定义命令,:source命令整整,就相当强悍了。
回复
xbeta说有很多地方还是离不开鼠标;所以禁用掉了。
现在vimperator 2.1了;功能也更完善了。
:pref 打开选项;
:addons 打开插件控制窗口;
map 设置键盘映射;
mkv可以保存当前设置;
设好了搜索引擎的关键字后调用各种引擎来搜索可用(这里我设置google的搜索关键字为ggl):t ggl 要搜索的内容;
同时 :! 命令 也还是可以执行命令行的;ping个网址还是可以的,
f 用数字顺序标记所有可用链接或输入框;
在输入框内可以ctrl+i来用外部编辑器编辑内容(一般都用vim的吧),:wq保存退出后内容就会自动填入该输入框;
:ls 可以列出当前的标签页;
ctrl+n(n为数字)可以切换标签页;
set guioptions=n 可以在标签页的图标右侧显示该标签页的序号;
还有,界面也更接近vim了。firefox3里至少是这样。虽然现在有定义colorscheme的功能,但似乎缺少对应的scheme。
综上所述,不知道xbeta现在怎么看Vimperator。
回复
name: 2010-02-13 00:39
搜索引擎关键字不需要这个扩展也可以自由使用。
而且关键字越短越好,尽量以单个或两个字母作为关键字。我的50多个搜索几乎全部只有2个以下的关键字。google,yahoo,baidu这样一个首字母就可以代表了。一些中文的或者复数单词的可以用复数字母,比如youtube- yt,verycd – vc,射手网-ss,方便记忆又高效。
回复
hitsmaxft: 2010-02-13 12:15
colorscheme在其主页上有提供链接,目前数量比较少
回复
我上次在firefox的那篇文章评论上提到过,可以使用Autocommand功能来制定转进特定的网站自动运行一个命令(help上有),然后运行一个vim后面加入filetype的参数即可。
回复
firefox下最喜欢的扩展就是这个了,d关闭标签页非常方便,把w和e映射成了上下标签页,hjkl用起来非常顺手,这个扩展也是我一直没转到chrome上的最主要的原因
回复
因为这个扩展对chrome没有任何兴趣
回复
我用了vimperator有一段时间了,不过主贴讲的功能一直没有实现。
我的vim的位置是c:\Program Files\Vim\vim72\gvim.exe
设置:se editor=”c:\Program Files\Vim\vim72\gvim.exe -f”以后,在文本框中ctrl+i,提示command not found:c:program
有高手可以指点一下吗?
善用佳软:把路径中的反斜线改为斜线再试一下。
回复
tc: 2010-02-13 17:19
这个是个bug。也经过确认了。vim路径不能在有空格的目录。!比如说programm file就不行。
关于vimperator问题在网络方便的时候会向佳软投稿。
回复
hi_lucky: 2010-02-13 20:59
to:tc
谢谢指点。
期待你的文章。
回复
hi_lucky: 2010-02-13 20:59
谢谢。
按善用佳软提示,输入:
:se editor=”c:/Program Files/Vim/vim72/gvim.exe -f
系统返回:E518:Unknown option:Files/vim/vim72/gvim.exe,没有成功。
回复
NONAME: 2010-02-14 22:36
改成这样”C:/Progra~1/vim/vim72/gvim.exe -f”就可以了
回复
hi_lucky: 2010-02-14 23:08
谢谢你。
按照你的指点成功了。能说说为什么要这样设置吗?
aaaaaaaaaaaaaaaaaaa: 2010-02-13 22:07
只要路径没有空格就可以了
不管反斜杠还是正斜杠都可以
回复
chengs: 2010-02-14 01:12
搞个快捷方式嘛
回复
1wingedangel: 2010-02-14 21:01
把反斜杠换成四个反斜杠,空格换成两个反斜杠一个空格……最新版Vimp测试成功
回复
我也是爱上这个扩展的浏览功能。在flash里上下左右不能用,比如163直播聊天室。我现在把opera也设置了很多单键导航等功能,尽量接近这个,但是还是差的比较远的。
回复
tc: 2010-02-13 17:21
关于opera。手里有个vimperator类似的keyboard.ini。可以在opera社区里面找到
回复
M: 2010-02-13 18:40
对,我就在用那个。
然后自己再删删改改,很好用哦
回复
天毅: 2010-02-13 19:25
难道几种模式也能模拟出来?那单一个keyboard.ini是实现不了的吧?如果仅仅是简单一些的,那我自己修改得也差不多了……
回复
几种模式是没有的。
不过还是不习惯opera的设计。不开源,定制太难。还是喜欢fx
回复
“默认文件名是 .tmp,暂时未找到设定为 .htm的方式,自己变通好了。”
想改这个,你自己修改vimperator扩展下的(先压这个):
vimperator@mozdev.org\chrome\vimperator.jar
然后在common\content下,修改下editor.js就可以了
很容易的
回复
善用佳软: 2010-02-18 21:17
找到了该文件,看了一下代码,无从下手。请教具体做法。多谢。
回复
虎年大吉!~新年好
回复
新年好
回复
感觉vim的模式化不是太适合多媒体时代的互联网啊,如果经常浏览文字性的网站、博客,可能作用会比较大,但是经常看图片和视频的时候就会用到鼠标。加上鼠标手势之后,其实也是很方便的啦。另外,chrome下面也有类似的插件,不过对模式的支持没有vimperator好就是了。
回复
快速打开相关网页,我觉得使用Qmarks命令比较方便(按M后a-zA-z任意字符记录该网站,go后a-zA-Z在当前标签打开,gn后a-zA-Z在新标签里面打开),另外把Locationbar和书签集成到:tabopen的自动补全也是好方法(参考一下:set complete选项)另外Gmail和Greader之类的快捷键冲突问题可以用Feedsomekey2这个扩展来解决(具体作用是于特定网址时把特定快捷键交回网页内容)
回复
siriuz: 2010-02-20 23:16
gmail和greader可以在_vimperatorrc中添加下面这行代码解决
:autocmd LocationChange .* :js modes.passAllKeys = /mail\.google\.com|www\.google\.com\/reader\/view/.test(buffer.URL)
回复
1wingedangel: 2010-02-21 01:10
这个自然也是可以的,但是会把所有的Keymappings去掉,这个时候想切换标签和关闭标签就比较麻烦了。Feedsomekey就是可以限制哪些键可以忽略,所以比较方便
回复
谢谢分享。试用了一下,感觉不错,但是发现网页不居中了,偏右侧,部分看不见。我用的是FF 3.0 Vimperator 2.0 是版本还是设置的问题呢?
回复
提个建议:
我是用googlereader订阅善用佳软的,也经常上来看文章后面的评论/留言。今天再次回头看,发现善用佳软的文章已经更新了,但在rss中没用任何提示。
(xbeta注:标准的rss功能不适合我这种非标准(常更新)的blog行为。所以,技术上做不到这点。)
建议以后文章有大的更新的时候,应该在rss中给个提示,否则看到的人不多,文章的利用率不高,更新就没有意义了。
再有就是评论中应该加上邮件提示功能(xbeta注:此功能在我这里有bug,无法退订。有些读者不胜干干扰,故取消之),事实上,有的文章后面的评论已经跟文章本身合为一体了,相信读者们有需要经常查看的时候。
ps:这几行字是用vimperator+gvim写的,十分爽。
回复
为什么在gmail中不好用呢?谁可以指点一下?
回复
>默认的设定(y: 复制当前页的url到剪贴板。Y:复制选中文字到剪贴板)很不合理,应该交换一下。如下配置竟能生效。
>noremap y Y
>noremap Y y
复制方面吐血推荐某个脚本copy.js,用起来绝对会上瘾的,另外脚本是Vimp一个比较强大的地方,下面的网址是非官方脚本下载点,日本玩家维护的貌似(不知道为什么,日本玩家对Vimp超级热情)
ttp://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/copy.js
回复
谁写个vimperator的脚本用来调用外部浏览器的嘛
想来应该非常简单,但我不会
回复
to:xbeta
有没有可能在首页加个近斯更新列表,读者上来的时候可以看到自己感兴趣的文章是否已经更新。
(xbeta注:有些复杂。某些更新也并没有多重要。)
回复
hi_lucky: 2010-02-28 22:14
看样子只好改变自己了。
改变自己永远都是最简单,成本最小,收益最大的。
回复
关于vimperator推荐两个东西:
1.设置配置文件的相对路径,搜索“虚拟隐居谷: vimperatorrc文件路径的修改”
2.中文首字母hint,搜索“pinyin-hints-vimperator”
—–
另外问个问题:网上有两个脚本maine-coon和_libly,可以实现命令行不使用时自动隐藏,节省空间。之前鼓捣半天有设置成功过,后面vimperator升级到2.2时,原先的设置全部被覆盖,后面再怎么设置都没弄成功。有用这两个脚本的麻烦吱声下:脚本的放置位置,脚本是否要改后缀,脚本是否要添加内容。。。
回复
请教博主,您将评论显示在Feed里的插件是什么呢?望能见告,谢谢!
(xbeta注:是 http://wordpress.org/extend/plugins/copyfeed/ )
回复
我尝试使用feedsomekey脚本来解决gmail,greader,gcalendar快捷键冲突.
greader,gcalendar按照feedsomekey的说明都解决问题了
但gmail一直不能解决,在gmail页面,vimperator和gmail自身的快捷键都失效了,不知道是什么问题
我的设置如下:
“解决gmail,gcalendar,greader快捷键冲突
:autocmd LocationChange .* :fmapc
:autocmd LocationChange ‘mail\.google\.com/mail/’ :fmap -depth 4 c / j k n p o u e x s r a # [ ] z ? gi gs gt gd ga gc
:autocmd LocationChange ‘www\.google\.com/reader’ :fmap! -vkey j k n p m s t v A r S N P X O gh ga gs gt gu u / ?
:autocmd LocationChange ‘www\.google\.com/calendar/’ :fmap! -vkey -event keydown t a d w m x c e
/ + q s ? j k p n回复