写了一个支持 iPad Safari 和 macOS Safari 的浏览器键盘插件 Vimkey,与 Vimium 和 Vimari 是同类产品 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Rhianu
V2EX    分享创造

写了一个支持 iPad Safari 和 macOS Safari 的浏览器键盘插件 Vimkey,与 Vimium 和 Vimari 是同类产品

  •  
  •   Rhianu
    haojen 2021-09-30 10:15:26 +08:00 4374 次点击
    这是一个创建于 1523 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景

    之前购入了 iPad Pro 妙控键盘后苦于用浏览器时只能触控板点击或者屏幕点击,感觉都不太适应,正好赶上今年 WWDC 宣布 iOS 版 Safari 也支持了插件,所以马不停蹄的就开发出来了这个插件。

    这是个什么?

    你如果用过 Vim 或者浏览器里的 Vimium 或者 Vimari 那这个一点也不陌生,且相比这两者,我针对 iPad 做了些专门的优化,比如 iPad 键盘没有 Esc 键,当你取消 f 功能,可以通过按 command 或者 option 取消,在 iPad 紧凑的键盘上操作时获得更好的体验。

    功能特性

    • 支持平缓滚动、零隐私收集以及无障碍播报操作
    • 使用 f 功能时,会降低页面的色彩饱和度,降低背景内容的干扰
    • 同时支持 iPadOS 和 macOS
    • 还有很多细节就不一一介绍了

    网站: https://haojen.github.io/vimkey

    Github: https://github.com/Haojen/vimkey

    后记

    因为是第一版,也是我第一次开发上架 App Store,这个过程对我而言实属不易,请大家使用的过程中多多反馈,让它变得更好,我也会一直持续迭代下去。

    19 条回复    2023-05-13 10:53:43 +08:00
    mikeven
        1
    mikeven  
       2021-09-30 10:17:23 +08:00 via iPhone
    这类产品我用过的,问题就是容易和网站自带快捷键冲突。。比如油管啥的
    Rhianu
        2
    Rhianu  
    OP
       2021-09-30 10:22:22 +08:00
    @mikeven 是的,Safari 有这个问题。针对这个问题我也在跟 Apple 那边的开发者支持联系,看有没有解决方案。目前是提供了一个开关,可以针对有快捷键冲突的网站关闭插件。
    自测用插件后,大部分时间里不用触控板或者手指点击屏幕还是很爽的
    mikeven
        3
    mikeven  
       2021-09-30 10:29:19 +08:00
    @Rhianu #2 Vimium 其实也是这样,如果能内置一个推荐关闭插件的网站名单就好了
    Rhianu
        4
    Rhianu  
    OP
       2021-09-30 13:34:21 +08:00
    @mikeven 我的备选计划也是提供一个名单,但是人力有限不好涵盖所有网站...
    ThinkMan
        5
    ThinkMan  
       2021-10-09 17:02:44 +08:00 via iPhone
    已经下载用了。

    但是没找到如何自定义快捷键。
    Quanuanc
        6
    Quanuanc  
       2021-11-16 09:12:54 +08:00
    @Rhianu 用了一下,整体非常不错了。相比 vimlike ,动画也比较舒服。
    后续 gi 定位到输入框,esc 退出输入框这类的功能会加上吗?
    Rhianu
        7
    Rhianu  
    OP
       2021-11-16 09:39:08 +08:00
    @Quanuanc @ThinkMan 反馈收到,目前正在添加自定义快捷键,下个版本会优化输入框和 Esc 退出的特性。
    Rhianu
        8
    Rhianu  
    OP
       2022-08-08 12:11:49 +08:00
    @ThinkMan 增加了自定义按键,整体有个大更新
    Rhianu
        9
    Rhianu  
    OP
       2022-08-08 12:12:35 +08:00
    @Quanuanc 哈哈,我记得有在 Github 上回复过你,不确定是不是同一个人,顺便再回复一句全都支持了。
    Quanuanc
        10
    Quanuanc  
       2022-08-08 12:52:03 +08:00 via iPhone   1
    @Rhianu 感谢感谢,已经用上了,很不错
    qq149971093
        11
    qq149971093  
       2022-10-05 00:10:36 +08:00
    @Rhianu 感谢,试用了一下软件,整体效果、动画都不错。不过我在试用的时候有一些地方有疑惑。例如说我在浏览 V2EX 站点想躲开的话,我需要按 f- shift-在按对应贴子的快捷键。我个人觉得这样操作比较繁琐,朝着浏览网页的习惯房子快捷键,常用按键放在第一层(直接按一个键或者两个键完成操作),有一些不常用或者说不是浏览网页习惯的放在第二层(需要使用到 shift 、ctrl 、option 、cmd 加一个或者两个按键完成操作)。如切换标签页可以尝试使用 qwer 、单个标签页的前进后退可以用 JK 、论坛这一类的一次点开多个链接可以考虑 cf 。还有 t (打开新标签页)、o 键(打开)、b 键(书签)、/键(搜索)可以合并在一起弄成一个选择列表,类似 Alfred 。一些小建议希望采纳。
    Rhianu
        12
    Rhianu  
    OP
       2022-10-11 11:00:58 +08:00   1
    @qq149971093 感谢反馈,有关 shift 配合 f 在新页面中打开这个功能您的建议我不太明白,想躲开以及房子的意思是打开和方向吗?如果想打开一个链接,直接 f 高亮后选中目标就可以了,如果需要在新窗口中打开,才需要配合 shift 。

    另外常用和高频按键的定义其实是个经验值,因人而异。目前的键位都是参考了多数 vim 类插件提供的默认键位,Vimkey 也开放出了自定义的按键绑定,可以根据自身需要灵活自定义。

    一次性打开多个链接的这个需求记下了,会考虑的。

    将 t o b 等按键整合成一个是有考虑过的,我本人也是 Raycast/Alfred 的拥趸。但在实际开发完测试中,发现似乎没有现在的方案效率更高。尤其是在键位充足的情况下,一个按键就能直达想要的功能模块总要比整合在一个入口中效率和体验似乎会更好。究其原因,因为入口统一后,要么需要分类(增加视觉和内容上的干扰,会增加对鼠标和滚动的需要)要么再增加一层导航按键(违背了整合的初衷)。但是我个人非常乐意去整合,但是基于上述的客观原因,导致我没有充足的理由和动机去这么做,所以我后来才改成现在这种方案 (


    抱歉,回复的有点晚了。
    qq149971093
        13
    qq149971093  
       2022-10-11 19:00:56 +08:00
    @Rhianu 你好,情况确实如你所说。哈哈哈,还是非常感谢你无私提供软件。

    上面第一个问题是我打错字了。其实是想多开页面,像浏览论坛,把第一页想看的帖子都在后台先打开。其实是大 F 的功能,只是按键比较别扭,surfingkeys 的操作是 cf 。

    我的想法(不一定对或适用大多数人)是这样的,surfingkeys 功能确实强大,但是大而全反而让快捷键变得很多,上手门槛较高。
    1.精简跟分门别类一下按键,安装好软件的标准版,跟入门后的自定义版。
    在入门标准版里,把常用的放置在第一层。就是简单的浏览、前进返回、标签页切换。然后 ud 按键我感觉跟 jk 按键有些重复,页面左右滚动的 hl 键感觉现在使用场景不多(切换标签页感觉放到 hl 比较实用)。
    自定义的内容则放在里面让大家自行设置了,然后自己设置。
    2.vim 模式只使用快捷键不符,减少 vim 编辑的内容。
    3.减少像打开空白标签页的情况,焦点回到地址栏,操作逻辑如关闭标签页啥的就变回系统的那一套了。会有点不够直觉。

    我自己也没有梳理很好,没什么逻辑,供你参考。再次感谢你的软件。
    thescfai
        14
    thescfai  
       2022-10-30 20:33:49 +08:00
    为啥我安装了以后按 f 没有任何体是字母出来,我尝试了额其他的类似 Vimari 的插件,都不行,不知道是不是和其他什么插件冲突了
    Mzbc
        15
    Mzbc  
       2023-05-12 11:00:03 +08:00
    请教一下,除了 safari ,iPad 上还有其他支持你的插件的浏览器么,或者其他浏览器支持类似插件的,我用 iPad 外接屏幕,想在 iPad 和 外接屏幕上都用 vim 来操作浏览器,我知道 safari 可以新开窗口,但是在程序切换 cmd+tab 的时候,只有一个 app 图标,就很别扭,只能用鼠标来选择哪个窗口作为键盘焦点
    Rhianu
        16
    Rhianu  
    OP
       2023-05-12 15:44:00 +08:00
    @Mzbc 似乎因为 App Store 限制的原因,导致没有其他浏览器可以支持第三方插件。 我其实在 iPad 上也不喜欢用 Safari ,但似乎如果想用浏览器+ vim 操作浏览器只能用 Safari 了
    Mzbc
        17
    Mzbc  
       2023-05-12 21:49:59 +08:00
    @Rhianu 好吧,那就只能这样了,感谢你的插件,用起来真的提高了很多效率,如果设置为付费我也是会掏钱的,哈哈哈哈。不过不知道是我设置的原因,还是 iPad 本身的限制,特别是用 google 搜东西的时候,跳转到新页面后,频繁出现插件无效的问题,除非用手指戳一下屏幕,才能使插件生效,其他网页偶尔也有这种情况发生
    Rhianu
        18
    Rhianu  
    OP
       2023-05-13 10:41:48 +08:00
    @Mzbc 啊哈,谢谢认可。对于这个需要手指戳一下的这个问题也是 Safari 限制的原因。不得不吐槽一下,为 Safari 开发插件太累了,有各种隐形的限制,导致只有开发的时候才会知道,往往在 Chrome 里很简单就能搞定的功能,在 Safari 上就需要花很大力气。
    Mzbc
        19
    Mzbc  
       2023-05-13 10:53:43 +08:00
    @Rhianu 了解了,有总比没有强,给苹果一点时间来进步吧,再次感谢~
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     898 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 20:43 PVG 04:43 LAX 12:43 JFK 15:43
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86